我只是Coq的初學者,我一直試圖證明一些有關自然數的基本定理。我已經做了一些,不是很優雅,但是完成得更少。不過我完全卡在完成這個定理:如何將A + 0> 0簡化爲A> 0?
Theorem add_increase: (forall a b: nat, a > 0 -> a + b > b).
Proof.
intros A.
intros B.
intros H.
case B.
在進入這個,我得到這樣的輸出:
2 subgoals
A, B : nat
H : A > 0
______________________________________(1/2)
A + 0 > 0
______________________________________(2/2)
forall n : nat, A + S n > S n
顯然,第一個目標是很瑣碎來簡化假設H
。但是,我無法弄清楚如何進行簡單的簡化。爲了簡化這個
哇,這是一個驚人的完整答案。感謝您花時間幫助像我這樣的初學者。有一個問題,是否有辦法控制通過證明第一個歸納子目標而創建的假設的名稱?具體來說,在add_zero_r中,在第一行之後,會創建一個名爲「IHn」的新假設,是否有任何方法將該假設分配給一個明確的名稱? – Others
是的。你可以使用'induction n'[|來改變'IHn'的名字爲'IHn1' n1 IHn1]'。 –
好的謝謝你的幫助! – Others