如何证明( /\ x,P,Q) -> (forall x,P)在Coq中?我尝试了几个小时,但不知道如何将前置条件分解为Coq可以消化的东西。(很明显,我是个新手:)
发布于 2010-06-04 04:14:40
只需应用H就可以更快地完成此操作,但此脚本应该更清晰。
Lemma foo : forall (A:Type) (P Q: A-> Prop), (forall x, P x /\ Q x) -> (forall x, P x).
intros.
destruct (H x).
exact H0.
Qed.发布于 2009-05-07 19:49:38
试一试
elim (H x).发布于 2009-05-09 17:11:09
实际上,当我发现这个的时候,我发现了这一点:
Mathematics for Computer Scientists 2
在第5课中,他解决了完全相同的问题,并使用"cut (P x /\ Q x)“将目标从"P x”重写为"P x /\ Q x -> P x“。从那里你可以做一些操作,当目标只是"P x /\ Q x“时,你可以应用"forall x:P x /\ Q x”,剩下的就很简单了。
https://stackoverflow.com/questions/835183
复制相似问题