X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Flibrary%2Flogic%2Fequality.ma;h=01c60e8fc9b17c40c720b235be2bcac605e2a8e9;hb=bfb7fbf61e86114e49cb3671503e8307a4582342;hp=1f68503df37cdb4cb6d31003da083a42fb51052b;hpb=38aca08eb6a2385504947c96a1cfcd19f71ec0e4;p=helm.git diff --git a/helm/software/matita/library/logic/equality.ma b/helm/software/matita/library/logic/equality.ma index 1f68503df..01c60e8fc 100644 --- a/helm/software/matita/library/logic/equality.ma +++ b/helm/software/matita/library/logic/equality.ma @@ -60,6 +60,18 @@ theorem eq_elim_r: intros. elim (sym_eq ? ? ? H1).assumption. qed. +theorem eq_elim_r': + \forall A:Type.\forall x:A. \forall P: A \to Set. + P x \to \forall y:A. y=x \to P y. +intros. elim (sym_eq ? ? ? H).assumption. +qed. + +theorem eq_elim_r'': + \forall A:Type.\forall x:A. \forall P: A \to Type. + P x \to \forall y:A. y=x \to P y. +intros. elim (sym_eq ? ? ? H).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. @@ -70,19 +82,28 @@ theorem eq_f': \forall A,B:Type.\forall f:A\to B. 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/symmetric_eq.con + cic:/matita/logic/equality/sym_eq.con cic:/matita/logic/equality/transitive_eq.con cic:/matita/logic/equality/eq_ind.con cic:/matita/logic/equality/eq_elim_r.con + cic:/matita/logic/equality/eq_rec.con + cic:/matita/logic/equality/eq_elim_r'.con + cic:/matita/logic/equality/eq_rect.con + cic:/matita/logic/equality/eq_elim_r''.con cic:/matita/logic/equality/eq_f.con +(* *) + cic:/matita/logic/equality/eq_OF_eq.con. +(* *) +(* cic:/matita/logic/equality/eq_f'.con. (* \x.sym (eq_f x) *) + *) theorem eq_f2: \forall A,B,C:Type.\forall f:A\to B \to C. \forall x1,x2:A. \forall y1,y2:B.