在Coq中提供示例,其中(A B:道具),P:道具->;类型,使A<-&燃气轮机;B、 但是不能用P B代替P A

在Coq中提供示例,其中(A B:道具),P:道具->;类型,使A<-&燃气轮机;B、 但是不能用P B代替P A,coq,proof,formal-verification,Coq,Proof,Formal Verification,如标题所示,我希望举一个例子,其中: Section Question: Definition A: Prop := <whatever you like>. Definition B:Prop := <whatever you like>. Definition/Inductive/Fixpoint P: Prop -> Type := <whatever you like>. Theorem AEquivB: A <-> B. Proo

如标题所示,我希望举一个例子,其中:

Section Question:
Definition A: Prop := <whatever you like>.
Definition B:Prop := <whatever you like>.
Definition/Inductive/Fixpoint P: Prop -> Type := <whatever you like>.

Theorem AEquivB: A <-> B.
Proof. <supply proof here>. Qed.

(* Question 1. can we pick a P, A, B to prove this? *)
Theorem PA_not_equals_Pb: P A <> P B.
Proof. <supply proof here>. Qed.

(* Question 1.5. can we pick a P, A, B to prove this? *)
Theorem PA_not_equiv_PB: ~(P A <-> P B)
Proof. <supply proof here>. Qed.  
部分问题:
定义A:Prop:=。
定义B:Prop:=。
定义/归纳/固定点P:Prop->Type:=。
定理B:ab。
证明。Qed。
(*问题1.我们可以选择一个P、a、B来证明这一点吗?*)
定理pau不等于papb:papbb。
证明。Qed。
(*问题1.5.我们可以选择一个P、a、B来证明这一点吗?*)
定理PA_不等于PB:~(PA P B)
证明。Qed。

总的来说,我很想了解“证明等价性”是否“足够好”可以在某种意义上被用作“等价性”,或者是否存在这样的情况:我们可以有
pa
,和
ab
,但不是
pb
对于所有的ab:Prop,(ab)->a=B,这与Coq是一致的。(也就是说,你可以把它作为一个公理,理论不会崩溃。)这个公理被称为。由于
A=B
很快给出了
所有P:Prop->Prop,pappb
,因此没有术语
P
A
B
,以至于
(ab)/\~(pappb)
,因为这与公理相矛盾,但我们知道它是一致的。类似地,我们也很快得到
pa=pb
,这意味着我们也不能得到
papb
。注意,即使违反命题可拓性的
P
A
B
不存在,我们仍然无法证明命题可拓性。Coq根本没有能力像这样谈论自己(这很好,因为这意味着你可以自定义它),这就是为什么如果你想要的话,需要将命题扩展性添加为一个公理。

由于元理论的原因,你的问题无法在Coq中得到回答。Coq(通常称为CIC)的逻辑不够强大,无法对所有本身可以描述的证明进行推理。例如,有些陈述不能被证明,但它们的对立面也不能被证明。这就是为什么Coq'wiki包含一个可以安全添加到Coq的。不过,我并没有找到确切的答案来回答你的问题;你知道Coq在哪里证明这是正确的吗?@SiddharthBhat我想你可以从
ClassicalFacts
(其中包含一些关于这条公理的事实)开始,并寻找一些引文来找到证据。