[英]How to prove logic equivalence in Coq?
我想證明Coq中的以下邏輯等效性。
(對 - > Q) - >(〜Q->〜p)的
這是我嘗試過的。 我怎樣才能解決這個問題?
Lemma work : (forall p q : Prop, (p->q)->(~q->~p)).
Proof.
intros p q.
intros p_implies_q not_q_implies_not_p.
refine (not_q_implies_not_p).
refine (p_implies_q).
Qed.
有兩件事可能會有所幫助。
首先,在您的第二個intros
,第二個假設不是not_q_implies_not_p
,而僅僅是not_q
。 這是因為我們的目標是(后intros p_implies_q
) ~q -> ~p
,那么另一個調用intros
只帶來了這一目標的假設: ~q
,和葉~p
作為新的目標。
其次,要記住~p
僅僅意味着p -> False
,這使我們能夠從目標引入另一個假設~p
。 這也意味着,你可以使用一個類似的前提下~p
證明False
,假設你知道p
是真的。
所以你的證明應該開始像
Lemma work : (forall p q : Prop, (p->q)->(~q->~p)).
Proof.
intros p q.
intros p_implies_q not_q.
intros p_true.
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.