X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Flibrary%2Flogic%2Fequality.ma;h=12c79763132bd4049492b493cde00e09b106fbbe;hb=0fadcf36d82e4ed816a50db09dfd1559a8507e6c;hp=0561fb993cb90045a502a12dcf28a14680f46fdb;hpb=7b4d519aefac94afb371a7e4da94779b40bf8608;p=helm.git diff --git a/helm/software/matita/library/logic/equality.ma b/helm/software/matita/library/logic/equality.ma index 0561fb993..12c797631 100644 --- a/helm/software/matita/library/logic/equality.ma +++ b/helm/software/matita/library/logic/equality.ma @@ -1,5 +1,5 @@ (**************************************************************************) -(* ___ *) +(* ___ *) (* ||M|| *) (* ||A|| A project by Andrea Asperti *) (* ||T|| *) @@ -36,22 +36,22 @@ theorem eq_ind': [refl_eq \Rightarrow H]). qed. -theorem reflexive_eq : \forall A:Type. reflexive A (eq A). -simplify.intros.apply refl_eq. -qed. +variant reflexive_eq : \forall A:Type. reflexive A (eq A) +\def refl_eq. +(* simplify.intros.apply refl_eq. *) theorem symmetric_eq: \forall A:Type. symmetric A (eq A). unfold symmetric.intros.elim H. apply refl_eq. qed. -theorem sym_eq : \forall A:Type.\forall x,y:A. x=y \to y=x +variant sym_eq : \forall A:Type.\forall x,y:A. x=y \to y=x \def symmetric_eq. theorem transitive_eq : \forall A:Type. transitive A (eq A). unfold transitive.intros.elim H1.assumption. qed. -theorem trans_eq : \forall A:Type.\forall x,y,z:A. x=y \to y=z \to x=z +variant trans_eq : \forall A:Type.\forall x,y,z:A. x=y \to y=z \to x=z \def transitive_eq. theorem eq_elim_r: @@ -65,17 +65,24 @@ theorem eq_f: \forall A,B:Type.\forall f:A\to B. 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/symmetric_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_f.con - cic:/matita/logic/equality/eq_OF_eq.con. (* \x.sym (eq_f x) *) + 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.