引用 Coq 中先前证明的结论的证明

Proof that references the conclusion of a previous proof in Coq

假设我要证明等价关系:

P <-> Q

并且我已经设法证明了蕴涵部分:

P -> Q

但是当我试图证明另一个方向时,那就是

Q -> P

原来我需要用到P -> Q。请问上面几行需要立即得出结论的证明组织策略是什么?

您可以先从 assert 开始,然后再拆分等价 P <-> Q:

Goal forall P Q, P <-> Q.
Proof.
intros P Q.
assert (PimpliesQ : P -> Q).
{  admit. (* your proof *)
}
split; [assumption|].