ดัชนีอุปนัยประเภทเท่ากันหมายถึงดัชนีเท่ากัน


9

Let 's ได้ประเภทอุปนัยดัชนีโดยfoox : X

Parameter X : Type.

Inductive foo : X -> Type :=
| constr : forall (x : X), foo x.

ฉันอยากรู้ถ้าหมายถึงfoo x = foo y x = yฉันไม่คิดว่าจะพิสูจน์เรื่องนี้ได้อย่างไร

Lemma type_equality_implies_index_equality : forall (x y : X), foo x = foo y -> x = y.

หากไม่สามารถพิสูจน์ได้ว่าทำไม

คำตอบ:


8

ไม่สามารถพิสูจน์ได้ พิจารณากรณีพิเศษของทฤษฎีบทต่อไปนี้เมื่อเราตั้งค่าX := bool:

foo true = foo false -> true = false

ระบุว่าtrueและfalseมีความแตกต่างกันถ้าทฤษฎีบทก็สามารถพิสูจน์ได้ก็ควรจะเป็นไปได้ที่จะแสดงให้เห็นว่าfoo trueและfoo falseจะแตกต่างกัน ปัญหาคือว่าทั้งสองประเภทisomorphic :

Inductive foo : bool -> Type :=
| constr : forall (x : bool), foo x.

(* An isomorphism between foo true and foo false *)
Definition foo_t_f (x : foo true) : foo false := constr false.
Definition foo_f_t (x : foo false) : foo true := constr true.

(* Proofs that the functions are inverses of each other *)
Lemma foo_t_fK x : foo_f_t (foo_t_f x) = x.
Proof. unfold foo_f_t, foo_t_f. now destruct x. Qed.

Lemma foo_f_tK x : foo_t_f (foo_f_t x) = x.
Proof. unfold foo_f_t, foo_t_f. now destruct x. Qed.

ในทฤษฎีของ Coq มันเป็นไปไม่ได้ที่จะแสดงให้เห็นว่าสองประเภท isomorphic แตกต่างกันโดยไม่ต้องสมมติความจริงเป็นพิเศษ นี่คือเหตุผลที่การขยายทฤษฎี Coq เช่นทฤษฎีแบบhomotopyเป็นเสียง ใน HoTT ประเภท isomorphic สามารถแสดงให้เท่ากันและถ้าเป็นไปได้ที่จะพิสูจน์ทฤษฎีบทของคุณ HoTT จะไม่สอดคล้องกัน


หัวของฉันเจ็บ แต่ฉันคิดว่าฉันเข้าใจ คุณจะมีการอ้างอิงสำหรับคำสั่ง "ในทฤษฎีของ Coq มันเป็นไปไม่ได้ที่จะแสดงให้เห็นว่าสองประเภท isomorphic แตกต่างกันโดยไม่ต้องสมมติความจริงเป็นพิเศษ" ?
ทอม

และเป็นไปได้ไหมที่จะแสดง(x <> y) -> (foo x <> foo y)? ฉันสับสนในโลกนี้โดยไม่มีหลักการกีดกันจากส่วนกลาง
ทอม

การอ้างอิงที่ดีที่สุดที่ฉันรู้ (แต่อาจจะไม่สามารถเข้าถึงได้มากที่สุด) คือกระดาษของ Hofmann และ Streicher "The Groupoid Interpretation of Theory Theory" ดังที่ Hofmann กล่าวไว้ ( ncatlab.org/homotopytypetheory/files/HofmannDMV.pdf ) เราสามารถมีส่วนขยายเสียงของทฤษฎีประเภท Martin-Löfที่ประเภท isomorphic มีความเท่าเทียมกัน ผลลัพธ์นี้ยังใช้กับทฤษฎีของ Coq
Arthur Azevedo De Amorim

และไม่เป็นไปไม่ได้ที่จะแสดงสิ่งปลอมปน ตัวอย่างที่ฉันให้กับจริงและเท็จจะขัดแย้งกับข้อความนั้น
Arthur Azevedo De Amorim
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.