Tipi induttivi indicizzati uguali implicano indici uguali


9

Facciamo fooindicizzare un tipo induttivo x : X.

Parameter X : Type.

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

Sono curioso, se foo x = foo yimplica x = y. Sono fuori di idee su come dimostrarlo.

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

Se questo non può essere provato, perché?

Risposte:


8

Non può essere provato. Considera il seguente caso speciale del teorema, quando impostiamo X := bool:

foo true = foo false -> true = false

Dato che truee falsesono diversi, se il teorema fosse dimostrabile, dovrebbe essere possibile dimostrarlo foo truee foo falsesono diversi. Il problema è che questi due tipi sono isomorfi :

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.

Nella teoria di Coq, non è possibile dimostrare che due tipi isomorfi sono diversi senza assumere assiomi extra. Questo è il motivo per cui un'estensione della teoria di Coq come quella del tipo di omotopia è valida. In HoTT, i tipi isomorfi possono essere mostrati uguali e se fosse possibile dimostrare il tuo teorema, HoTT sarebbe incoerente.


Mi fa male la testa, ma penso di averlo capito. Avresti un riferimento per l'affermazione "Nella teoria di Coq, non è possibile dimostrare che due tipi isomorfi sono diversi senza assumere assiomi extra". ?
Tom,

Ed è possibile mostrare (x <> y) -> (foo x <> foo y)? Sono davvero confuso in questo mondo senza principio di mezzo escluso.
Tom,

Il miglior riferimento che conosco (anche se forse non il più accessibile) è il documento di Hofmann e Streicher "The Groupoid Interpretation of Type Theory". Come afferma Hofmann ( ncatlab.org/homotopytypetheory/files/HofmannDMV.pdf ), possiamo avere un'estensione sonora della teoria dei tipi di Martin-Löf dove i tipi isomorfi sono uguali. Questo risultato si applica anche alla teoria di Coq.
Arthur Azevedo De Amorim,

E no, non è possibile mostrare il contrapositivo. Il controesempio che ho dato con vero e falso contraddirebbe anche questa affermazione.
Arthur Azevedo De Amorim,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.