[英]Prove two inhabitants in Prop are not equal?
是否有可能有一些A, B: Prop
以便我們可以提供以下證明:
Section QUESTION.
A: Prop := <whatever you want> .
B : Prop := <whatever you want> .
Theorem ANeqB: A <> B.
Proof.
<a proof of this fact>
Qed.
直覺上,我認為不會,因為這可以讓我們“區分”證明,但是如果不計算A
或B
就不能做到這一點。 然而,Coq 明確禁止我們檢查證明,因為它們必須在運行時被擦除。 因此,只有Prop
應該能夠檢查Prop
(由於擦除),但檢查始終是計算性的,因此Prop
不能檢查Prop
。 因此,沒有任何東西可以檢查Prop
,並且無法證明上述定理ANeqB
。
ANeqB
不能被證明,你能給我指出這個事實的證明嗎?ANeqB
可以被證明,你能告訴我我的直覺在哪里失敗嗎?編輯:
令我震驚的是,由於我們可以將證明無關性作為一個額外的公理( Axiom proof_irrelevance: forall (P:Prop) (p1 p2:P), p1 = p2.
),因此無法在 Coq 中證明定理ANeqB
--- 如果可以,但是允許proof_irrelevance
作為額外的公理是不合理的。
這改變了我的問題,然后:
A
和B
的ANeqB
? ( proof_irrelevance
更強:它表明我們不能證明A <> B
[實際上,我們可以證明A = B
的更強有力的陳述] 對於所有A, B
)ANeqB
不能在 Coq 的基於公理系統中得到證明嗎? 我想你可能在想別的東西。 Prop
本身並不是無關緊要的證據。 它肯定有可區分的元素。 例如, True <> False
。
Section QUESTION.
Definition A: Prop := True.
Definition B : Prop := False.
Theorem ANeqB: A <> B.
Proof.
unfold A, B.
intro p.
destruct p.
exact I.
Qed.
End QUESTION.
相反,可能證明無關的是Prop
的元素。 在公理中
Axiom proof_irrelevance: forall (P: Prop) (p q: P), p = q.
p
和q
本身不是Prop
Prop
某些元素的元素。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.