[英]Stuck on even lemma with exists
在本次演講中,我陷入了“作為練習左”的引理。 它是這樣的:
Lemma even_double : forall n, even n -> exists k, n = 2 * k.
Proof.
intros n H.
induction H.
...
其中even
是這樣定義的感應謂詞:
Inductive even : nat -> Prop :=
| even0 : even 0
| evenS : forall p:nat, even p -> even (S (S p).
請幫助? 我總是以(S (S p) = 2
或類似的結果)結束。
編輯
我使用的一些引理和策略(不是完整的證明):
destruct IHeven
exists (S x)
rewrite mult_succ_l
apply eq_S
apply plus_n_Sm
完成上崗步驟后,您應該有兩個目標。
第一個( even0
基本情況)應該易於證明。 存在的見證人應選擇為0
,之后目標應通過反思來保持。
第二種情況( evenS
)如下所示:
p : nat
H : even p
IHeven : exists k : nat, p = 2 * k
============================
exists k : nat, S (S p) = 2 * k
IHeven
說存在一個數字(我們叫它k1
),使得p = 2 * k1
。
您的目標是展示一個數字(例如k2
),以便可以證明S (S p) = 2 * k2
。
如果您做數學運算,您應該看到(S k1)
將是理想的候選者。
因此,您可以使用以下策略進行操作:
destruct
以破壞IHeven
來分離證人k1
和p = 2 * k1
的證明。 exists
以展示(S k1)
作為您目標的存在見證。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.