如何引入一个非广义命题,它是Coq中连接词的一部分?
我有一个目标,即如何引入一个非广义命题,它是Coq中连接词的一部分?,coq,Coq,我有一个目标,即存在x:nat,(p/\Q),但在假设中,p不是广义的。是否可以使用还原或概括来证明这一点?例如,为了证明这一点: Fact inject_prop: forall(P Q: Prop), P /\ (exists x:nat, Q )-> exists x:nat, (P /\ Q). Admitted. 你的主张很容易得到证明: Fact inject_prop: forall(P Q: Prop), P /\ (exists x:nat, Q )-> ex
存在x:nat,(p/\Q)
,但在假设中,p
不是广义的。是否可以使用还原
或概括
来证明这一点?例如,为了证明这一点:
Fact inject_prop: forall(P Q: Prop), P /\ (exists x:nat, Q )-> exists x:nat, (P /\ Q).
Admitted.
你的主张很容易得到证明:
Fact inject_prop:
forall(P Q: Prop), P /\ (exists x:nat, Q )-> exists x:nat, (P /\ Q).
Proof.
intros P Q [HP [x HQ]]. exists 0. split; eauto.
Qed.
然而,我怀疑你可能想说些稍有不同的东西:
p
和Q
在你的例子中与存在量化的自然数没有关系(注意,在我的证明中,我说过存在0
而不是存在x
)。谢谢。你是对的,Q与存在量化的数字没有关系。我正在寻找的证据正如您所建议的:Fact-injection\u-prop2:forall(P:Prop)(Q:nat->Prop),P/\(exists x:nat,Q(x))->exists x:nat,(P/\Q(x))。证明。简介P Q[HP[x HQ]]。存在x。分裂奥托。Qed.