]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/matita/library/equality.ma
version 0.7.1
[helm.git] / helm / matita / library / equality.ma
index c49475c139ade0f1761df7e49095f25f41a2b3ec..90ce050e34e1fbb2db42df1c946439b61ede3f93 100644 (file)
@@ -26,13 +26,27 @@ theorem trans_eq : \forall A:Type.
 intros.elim H1.assumption.
 qed.
 
+theorem eq_ind_r :
+ \forall A:Type.\forall x:A. \forall P: A \to Prop.
+   P x \to \forall y:A. eq A y x \to P y.
+intros.letin H1' \def sym_eq ? ? ? H1.clearbody H1'.
+elim H1'.assumption.
+qed.
+
 theorem f_equal: \forall  A,B:Type.\forall f:A\to B.
 \forall x,y:A. eq A x y \to eq B (f x) (f y).
-intros.elim H.apply refl_equal.
+intros.elim H.reflexivity.
 qed.
 
+default "equality"
+ cic:/matita/equality/eq.ind
+ cic:/matita/equality/sym_eq.con
+ cic:/matita/equality/trans_eq.con
+ cic:/matita/equality/eq_ind.con
+ cic:/matita/equality/eq_ind_r.con. 
+
 theorem f_equal2: \forall  A,B,C:Type.\forall f:A\to B \to C.
 \forall x1,x2:A. \forall y1,y2:B.
 eq A x1 x2\to eq B y1 y2\to eq C (f x1 y1) (f x2 y2).
-intros.elim H1.elim H.apply refl_equal.
+intros.elim H1.elim H.reflexivity.
 qed.