X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2Flibrary%2Fequality.ma;h=90ce050e34e1fbb2db42df1c946439b61ede3f93;hb=12cc5b2b8e7f7bb0b5e315094b008a293a4df6b1;hp=c49475c139ade0f1761df7e49095f25f41a2b3ec;hpb=109ddb8c437013d6d86e1564d5df3f8b089b9700;p=helm.git diff --git a/helm/matita/library/equality.ma b/helm/matita/library/equality.ma index c49475c13..90ce050e3 100644 --- a/helm/matita/library/equality.ma +++ b/helm/matita/library/equality.ma @@ -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.