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