X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Flibrary%2Flogic%2Fequality.ma;h=3b242c66709d6562debbc465a00e930cd4fb370e;hb=3ee4674162a39cb65b08d492278738008057566d;hp=b87dc6c95656dcf5de3c3ceb00e9ed105067c6b8;hpb=7f2444c2670cadafddd8785b687ef312158376b0;p=helm.git diff --git a/matita/library/logic/equality.ma b/matita/library/logic/equality.ma index b87dc6c95..3b242c667 100644 --- a/matita/library/logic/equality.ma +++ b/matita/library/logic/equality.ma @@ -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.