X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fsoftware%2Fmatita%2Flibrary%2FZ%2Fz.ma;h=31c3a7003bdffca309780ce3e38122712efe4368;hb=395bcb2796cb9edcdb792579341c2271a8d1adaf;hp=d8b829ec1da6e60da84bf89fe20c94e80dc72351;hpb=576a1f3f67dc0207a664a127fe482facbfa2a826;p=helm.git diff --git a/helm/software/matita/library/Z/z.ma b/helm/software/matita/library/Z/z.ma index d8b829ec1..31c3a7003 100644 --- a/helm/software/matita/library/Z/z.ma +++ b/helm/software/matita/library/Z/z.ma @@ -12,8 +12,6 @@ (* *) (**************************************************************************) -set "baseuri" "cic:/matita/Z/z". - include "datatypes/bool.ma". include "nat/nat.ma". @@ -22,18 +20,25 @@ inductive Z : Set \def | pos : nat \to Z | neg : nat \to Z. +interpretation "Integers" 'Z = Z. + definition Z_of_nat \def \lambda n. match n with [ O \Rightarrow OZ | (S n)\Rightarrow pos n]. -coercion cic:/matita/Z/z/Z_of_nat.con. +coercion Z_of_nat. definition neg_Z_of_nat \def \lambda n. match n with [ O \Rightarrow OZ | (S n)\Rightarrow neg n]. +lemma pos_n_eq_S_n : \forall n : nat. + (pos n) = (S n). +intro.reflexivity. +qed. + definition abs \def \lambda z. match z with @@ -117,7 +122,7 @@ elim x. (* goal: x=pos y=pos *) elim (decidable_eq_nat n n1:((n=n1) \lor ((n=n1) \to False))). left.apply eq_f.assumption. - right.unfold Not.intros (H_inj).apply H. destruct H_inj. assumption. + right.unfold Not.intros (H_inj).apply H. destruct H_inj. reflexivity. (* goal: x=pos y=neg *) right.unfold Not.intro.apply (not_eq_pos_neg n n1). assumption. (* goal: x=neg *)