[英]How to prove (~Q -> ~P) - > (P -> Q) in Coq
我試圖在 coq 中證明 (~Q -> ~P) - > (P -> Q),這是對立定理 (P-> Q) (~Q -> ~P) 的逆。 目前我正在考慮使用相同的邏輯來證明對立定理,如下所示:
展開不。 介紹 P Q. 介紹 AB C。 應用 B. 應用 A. 應用 C。
但是我一開始就卡住了。 也許我需要額外的公理來證明對立定理的反面。 誰能幫我?
Require Import Classical.
Lemma myproof : forall (P Q : Prop), (~Q -> ~P) -> (P -> Q) .
unfold not. intros P Q. intros A B.
destruct (classic Q) as [Q_holds|NQ_holds].
apply Q_holds.
apply False_ind.
apply A.
apply NQ_holds.
apply B.
Qed.
是的,你需要一些額外的力量(經典邏輯)來做到這一點。 放
Require Import Classical.
在文件的開頭。 現在當你有一個命題Q
destruct (classic Q) as [Q_holds|NQ_holds].
它創建了兩個子目標:一個當Q
成立時,一個當~Q
成立時。
連同定理False_ind
(讓你證明任何東西False
)應該足以得出你的證明。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.