簡體   English   中英

如何在 Coq 中證明 (~Q -> ~P) - > (P -> Q)

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

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