]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/library/logic/equality.ma
Serious bug fixed: without a Lazy.force the user obtained an error comparing
[helm.git] / matita / library / logic / equality.ma
index b87dc6c95656dcf5de3c3ceb00e9ed105067c6b8..3b242c66709d6562debbc465a00e930cd4fb370e 100644 (file)
@@ -60,18 +60,30 @@ theorem eq_elim_r:
 intros. elim (sym_eq ? ? ? H1).assumption.
 qed.
 
+theorem eq_f: \forall  A,B:Type.\forall f:A\to B.
+\forall x,y:A. x=y \to f x = f y.
+intros.elim H.apply refl_eq.
+qed.
+
+theorem eq_f': \forall  A,B:Type.\forall f:A\to B.
+\forall x,y:A. x=y \to f y = f x.
+intros.elim H.apply refl_eq.
+qed.
+
+(* 
+coercion cic:/matita/logic/equality/sym_eq.con.
+coercion cic:/matita/logic/equality/eq_f.con.
+*)
+
 default "equality"
  cic:/matita/logic/equality/eq.ind
  cic:/matita/logic/equality/sym_eq.con
  cic:/matita/logic/equality/trans_eq.con
  cic:/matita/logic/equality/eq_ind.con
- cic:/matita/logic/equality/eq_elim_r.con. 
+ cic:/matita/logic/equality/eq_elim_r.con
+ cic:/matita/logic/equality/eq_f.con
+ cic:/matita/logic/equality/eq_f'.con. (* \x.sym (eq_f x) *)
  
-theorem eq_f: \forall  A,B:Type.\forall f:A\to B.
-\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.