Facciamo foo
indicizzare un tipo induttivo x : X
.
Parameter X : Type.
Inductive foo : X -> Type :=
| constr : forall (x : X), foo x.
Sono curioso, se foo x = foo y
implica 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é?