X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Fnlibrary%2Fbasics%2Feq.ma;h=4a29e2843a7103873530343383781682866abb0d;hb=bf7be462a06e739b39af20f72362857e849a2aa0;hp=6ccfa625963a38f0e601b738f170c4138794a510;hpb=3bd88fb8b932e2f76762e8068b19745167cb1ce1;p=helm.git diff --git a/helm/software/matita/nlibrary/basics/eq.ma b/helm/software/matita/nlibrary/basics/eq.ma index 6ccfa6259..4a29e2843 100644 --- a/helm/software/matita/nlibrary/basics/eq.ma +++ b/helm/software/matita/nlibrary/basics/eq.ma @@ -16,20 +16,31 @@ include "basics/relations.ma". interpretation "leibnitz's non-equality" 'neq t x y = (Not (eq t x y)). +(* this is refl ntheorem reflexive_eq : ∀A:Type. reflexive A (eq A). -//; nqed. - +//; nqed. *) + +(* this is sym_eq ntheorem symmetric_eq: ∀A:Type. symmetric A (eq A). -//; nqed. +//; nqed. *) ntheorem transitive_eq : ∀A:Type. transitive A (eq A). -//; nqed. +#A; #x; #y; #z; #H1; #H2; nrewrite > H1; //; nqed. +(* ntheorem symmetric_not_eq: ∀A:Type. symmetric A (λx,y.x ≠ y). -/2/; nqed. +/3/; nqed. +*) + +ntheorem symmetric_not_eq: ∀A:Type. ∀x,y:A. x ≠ y → y ≠ x. +/3/; nqed. + +(* +#A; #x; #y; #H; #K; napply H; napply symmetric_eq; //; nqed. +*) ntheorem eq_f: ∀A,B:Type.∀f:A→B.∀x,y:A. x=y → f x = f y. -//; nqed. +#A; #B; #f; #x; #y; #H; nrewrite > H; //; nqed. (* theorem eq_f': \forall A,B:Type.\forall f:A\to B. @@ -37,6 +48,8 @@ theorem eq_f': \forall A,B:Type.\forall f:A\to B. intros.elim H.apply refl_eq. qed. *) +(* deleterio per auto*) ntheorem eq_f2: ∀A,B,C:Type.∀f:A→B→C. ∀x1,x2:A.∀y1,y2:B. x1=x2 → y1=y2 → f x1 y1 = f x2 y2. -//; nqed. \ No newline at end of file +#A; #B; #C; #f; #x1; #x2; #y1; #y2; #E1; #E2; nrewrite > E1; nrewrite > E2;//. +nqed. \ No newline at end of file