簡體   English   中英

如何證明Coq中的邏輯等價?

[英]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.

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