inductive eq (A:Type) (x:A) : A \to Prop \def
refl_eq : eq A x x.
+(*CSC: the URI must disappear: there is a bug now *)
interpretation "leibnitz's equality"
'eq x y = (cic:/matita/logic/equality/eq.ind#xpointer(1/1) _ x y).
-alias symbol "eq" (instance 0) = "leibnitz's equality".
+(*CSC: the URI must disappear: there is a bug now *)
+interpretation "leibnitz's non-equality"
+ 'neq x y = (cic:/matita/logic/connectives/Not.con
+ (cic:/matita/logic/equality/eq.ind#xpointer(1/1) _ x y)).
-
theorem reflexive_eq : \forall A:Type. reflexive A (eq A).
simplify.intros.apply refl_eq.
qed.
cic:/matita/logic/equality/eq_elim_r.con.
theorem eq_f: \forall A,B:Type.\forall f:A\to B.
-\forall x,y:A. x=y \to (f x)=(f y).
+\forall x,y:A. x=y \to f x = f y.
intros.elim H.reflexivity.
qed.
theorem eq_f2: \forall A,B,C:Type.\forall f:A\to B \to C.
\forall x1,x2:A. \forall y1,y2:B.
-x1=x2 \to y1=y2 \to (f x1 y1)=(f x2 y2).
+x1=x2 \to y1=y2 \to f x1 y1 = f x2 y2.
intros.elim H1.elim H.reflexivity.
qed.