![](/img/trans.png)
[英]How to prove for all functions P, Q from typical type to `Prop`, “forall a, b, P(a) or Q(b) holds” iff “forall a, P(a), or, forall b, Q(b), holds”?
[英]Provide example in Coq where (A B: Prop), P: Prop -> Type, such that A <-> B, but one cannot replace P A with P B
正如標題所要求的,我希望舉一個例子:
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.
一般來說,我有興趣了解“證明等價”是否“足夠好”以在某種意義上用作“平等”,或者是否存在我們可以有PA
和A <-> B
但不是PB
的情況.
與 Coq 一致的是forall AB: Prop, (A <-> B) -> A = B
。 (也就是說,您可以將其添加為公理,並且理論不會崩潰。)此公理稱為命題外延。 由於A = B
很快給出了forall P: Prop -> Prop, PA <-> PB
,因此沒有術語P
、 A
、 B
滿足(A <-> B) /\ ~(PA <-> PB)
,因為這會與公理相矛盾,但我們知道它是一致的。 同樣,我們也很快得到PA = PB
,這意味着我們不能同時得到PA <> PB
。 請注意,即使不存在違反命題外延性的P
、 A
、 B
,我們仍然無法證明命題外延性。 Coq 根本沒有能力像那樣談論它自己(這很好,因為這意味着你可以自定義它),這就是為什么如果你想要它需要添加命題外延性作為公理。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.