Non dependent equality


(* NON DEPENDENT EQUALITY  *)
(* by Venanzio Capretta    *)
(* Coq version 6.2.3       *)

(* How to prove a dependend equality that doesn't depend ! *)

Section Non_Dependent_Equality.

Variable A : Set.
Variable P : A -> Prop.
Variable B : Set.

Variable f : (a:A)(P a) -> B.
Variable proof_irr : (a:A)(p1,p2 : (P a))(f a p1)=(f a p2).

(* The elimination predicate for case analysis on equality. *)
Local C : A -> A -> Prop
        := [a1,a2](p1 : (P a1))(p2 : (P a2))(f a1 p1)=(f a2 p2).

Theorem non_dep_eq : (a1, a2 : A)a1=a2 -> (C a1 a2).

End Non_Dependent_Equality.


25/02/99, 14:36