(* *)
(**************************************************************************)
-set "baseuri" "cic:/matita/Z/plus".
-
include "Z/z.ma".
include "nat/minus.ma".
| GT \Rightarrow (neg (pred (m-n)))]
| (neg n) \Rightarrow (neg (pred ((S m)+(S n))))] ].
-(*CSC: the URI must disappear: there is a bug now *)
-interpretation "integer plus" 'plus x y = (cic:/matita/Z/plus/Zplus.con x y).
-
+interpretation "integer plus" 'plus x y = (Zplus x y).
+
+theorem eq_plus_Zplus: \forall n,m:nat. Z_of_nat (n+m) =
+Z_of_nat n + Z_of_nat m.
+intro.cases n;intro
+ [reflexivity
+ |cases m
+ [simplify.rewrite < plus_n_O.reflexivity
+ |simplify.reflexivity.
+ ]]
+qed.
+
theorem Zplus_z_OZ: \forall z:Z. z+OZ = z.
intro.elim z.
simplify.reflexivity.
| (pos n) \Rightarrow (neg n)
| (neg n) \Rightarrow (pos n) ].
-(*CSC: the URI must disappear: there is a bug now *)
-interpretation "integer unary minus" 'uminus x = (cic:/matita/Z/plus/Zopp.con x).
+interpretation "integer unary minus" 'uminus x = (Zopp x).
theorem eq_OZ_Zopp_OZ : OZ = (- OZ).
reflexivity.
(* minus *)
definition Zminus : Z \to Z \to Z \def \lambda x,y:Z. x + (-y).
-interpretation "integer minus" 'minus x y = (cic:/matita/Z/plus/Zminus.con x y).
+interpretation "integer minus" 'minus x y = (Zminus x y).