Los tipos inductivos indexados iguales implican índices iguales

9

Tengamos un tipo inductivo fooindexado por x : X.

Parameter X : Type.

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

Tengo curiosidad, si foo x = foo yimplica x = y. No tengo ideas de cómo probar esto.

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

Si esto no se puede probar, ¿por qué?

tom
fuente

Respuestas:

8

No se puede probar. Considere el siguiente caso especial del teorema, cuando establecemos X := bool:

foo true = foo false -> true = false

Dado que truey falseson diferentes, si el teorema fuera demostrable, debería ser posible mostrar eso foo truey foo falseson diferentes. El problema es que estos dos tipos son isomórficos :

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.

En la teoría de Coq, no es posible demostrar que dos tipos isomórficos son diferentes sin suponer axiomas adicionales. Es por eso que una extensión de la teoría de Coq, como la teoría del tipo de homotopía, es sólida. En HoTT, se puede demostrar que los tipos isomórficos son iguales, y si fuera posible probar su teorema, HoTT sería inconsistente.

Arthur Azevedo De Amorim
fuente
Me duele la cabeza, pero creo que lo entiendo. ¿Tendrías una referencia para la afirmación "En la teoría de Coq, no es posible demostrar que dos tipos isomórficos son diferentes sin asumir axiomas adicionales". ?
Tom
¿Y es posible mostrar (x <> y) -> (foo x <> foo y)? Estoy realmente confundido en este mundo sin principio de medio excluido.
Tom
La mejor referencia que conozco (aunque quizás no sea la más accesible) es el artículo de Hofmann y Streicher "La interpretación grupoide de la teoría de tipos". Como dice Hofmann ( ncatlab.org/homotopytypetheory/files/HofmannDMV.pdf ), podemos tener una extensión sólida de la teoría de tipos Martin-Löf donde los tipos isomórficos son iguales. Este resultado también se aplica a la teoría de Coq.
Arthur Azevedo De Amorim
Y no, no es posible mostrar el contrapositivo. El contraejemplo que di con verdadero y falso también contradeciría esa afirmación.
Arthur Azevedo De Amorim