X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Flibrary%2FZ%2Ftimes.ma;h=eefe4af7ead7d2f818216c44c6c9174fe298ccad;hb=8ae1653eb75d2b57c50e077c49cb9d078313ea9d;hp=58de9c82737871b27a4a67541268337975649132;hpb=ebb14e0084aecd167bc42245625c4eb3167df9d5;p=helm.git diff --git a/helm/software/matita/library/Z/times.ma b/helm/software/matita/library/Z/times.ma index 58de9c827..eefe4af7e 100644 --- a/helm/software/matita/library/Z/times.ma +++ b/helm/software/matita/library/Z/times.ma @@ -12,8 +12,6 @@ (* *) (**************************************************************************) -set "baseuri" "cic:/matita/Z/times". - include "nat/lt_arith.ma". include "Z/plus.ma". @@ -32,8 +30,7 @@ definition Ztimes :Z \to Z \to Z \def | (pos n) \Rightarrow (neg (pred ((S m) * (S n)))) | (neg n) \Rightarrow (pos (pred ((S m) * (S n))))]]. -(*CSC: the URI must disappear: there is a bug now *) -interpretation "integer times" 'times x y = (cic:/matita/Z/times/Ztimes.con x y). +interpretation "integer times" 'times x y = (Ztimes x y). theorem Ztimes_z_OZ: \forall z:Z. z*OZ = OZ. intro.elim z. @@ -42,6 +39,8 @@ simplify.reflexivity. simplify.reflexivity. qed. +definition Zone \def pos O. + theorem Ztimes_neg_Zopp: \forall n:nat.\forall x:Z. neg n * x = - (pos n * x). intros.elim x. @@ -68,6 +67,21 @@ qed. variant sym_Ztimes : \forall x,y:Z. x*y = y*x \def symmetric_Ztimes. +theorem Ztimes_Zone_l: \forall z:Z. Ztimes Zone z = z. +intro.unfold Zone.simplify. +elim z;simplify + [reflexivity + |rewrite < plus_n_O.reflexivity + |rewrite < plus_n_O.reflexivity + ] +qed. + +theorem Ztimes_Zone_r: \forall z:Z. Ztimes z Zone = z. +intro. +rewrite < sym_Ztimes. +apply Ztimes_Zone_l. +qed. + theorem associative_Ztimes: associative Z Ztimes. unfold associative. intros.elim x.