destruct可以用来分割and, or在柯克。不过好像也可以用暗示?
例如我想证明~~(~~P -> P)
Lemma test P : ~~(~~P -> P).
Proof.
unfold not.
intro pffpf.
apply pffpf.
intro pff.
destruct pff.
intro p.
apply pffpf.
intro pff.
exact p.
Qed.
when destruct pff.
它工作正常,但我不知道为什么?谁能为我解释一下吗?
The destruct
如果蕴涵的结论是归纳(或共归纳)类型,则策略对蕴涵起作用。因此它适用于你的例子,因为False
是归纳定义的。然而,如果我们想出一个不同的定义False
,它可能不一定有效。例如,以下脚本在以下位置失败destruct pff
line:
Definition False : Prop := forall A : Prop, A.
Definition not (P : Prop) : Prop := P -> False.
Lemma test P : not (not (not (not P) -> P)).
unfold not.
intro pffpf.
apply pffpf.
intro pff.
destruct pff. (* Fails here *)
intro p.
apply pffpf.
intro pff.
exact p.
Qed.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)