X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Flibrary%2Flogic%2Fequality.ma;h=12c79763132bd4049492b493cde00e09b106fbbe;hb=378a122bd40f832581ee3e82cc428584b6579a57;hp=c26449c4261595031deaf05fd8b104816a384c18;hpb=2499f5fdcf4dbfecc6f4fafe925b24ae76f14be8;p=helm.git diff --git a/matita/library/logic/equality.ma b/matita/library/logic/equality.ma index c26449c42..12c797631 100644 --- a/matita/library/logic/equality.ma +++ b/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: @@ -62,20 +62,27 @@ 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.reflexivity. +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.