簡體   English   中英

如何在 Coq 中切換當前目標?

[英]How to switch the current goal in Coq?

是否可以在 Coq 中切換當前目標或子目標來證明?

例如,我有一個這樣的目標(來自 eexists):

______________________________________(1/1)
?s > 0 /\ r1 * (r1 + s1) + ?s = r3 * (r3 + s2)

我要做的是先split並證明正確的合取。 我認為這將給出存在變量?s的值,並且左合符應該只是一個簡化。

但默認情況下split將左連詞?s > 0為當前目標。

______________________________________(1/2)
?s > 0
______________________________________(2/2)
r1 * (r1 + s1) + ?s = r3 * (r3 + s2)

我知道我可以在戰術前加上2:來操作第二個子目標,但這很尷尬,因為

1) 我看不到目標#2 的假設並且

2) 如果是在不同的上下文中,goal#2 可能是第三個或第 k_th 個目標。 證明將不可移植。

這就是為什么我想將第二個目標設定為當前目標。

順便說一句,我正在使用 CoqIDE (8.5)。

您可以使用Focus 2專注於第二個目標。

2021 年更新:使用2:

Focus 2至少從 8.13 開始被棄用:

The Focus command is deprecated; use '2: {' instead [deprecated-focus,deprecated]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM