簡體   English   中英

卡在存在的引理上

[英]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來分離證人k1p = 2 * k1的證明。
  • exists以展示(S k1)作為您目標的存在見證。
  • 然后進行一些工作證明平等成立。

暫無
暫無

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

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