X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fmatita%2Flibrary%2FZ%2Fz.ma;h=ea50a2cd9c3b70729df6c8c6bb4b16d661d80d41;hb=771ee8b9d122fa963881c876e86f90531bb7434f;hp=8ce0047e169f6b6a8b014d4614877e6e9c2eb7c4;hpb=73e63e535940a068e660d3688a3c8ebfa1930561;p=helm.git diff --git a/helm/matita/library/Z/z.ma b/helm/matita/library/Z/z.ma index 8ce0047e1..ea50a2cd9 100644 --- a/helm/matita/library/Z/z.ma +++ b/helm/matita/library/Z/z.ma @@ -27,7 +27,7 @@ definition Z_of_nat \def [ O \Rightarrow OZ | (S n)\Rightarrow pos n]. -coercion Z_of_nat. +coercion cic:/matita/Z/z/Z_of_nat.con. definition neg_Z_of_nat \def \lambda n. match n with @@ -54,17 +54,17 @@ match OZ_test z with |false \Rightarrow z \neq OZ]. intros.elim z. simplify.reflexivity. -simplify.intros [H]. +simplify. unfold Not. intros (H). discriminate H. -simplify.intros [H]. +simplify. unfold Not. intros (H). discriminate H. qed. (* discrimination *) theorem injective_pos: injective nat Z pos. -simplify. +unfold injective. intros. -change with abs (pos x) = abs (pos y). +change with (abs (pos x) = abs (pos y)). apply eq_f.assumption. qed. @@ -72,9 +72,9 @@ variant inj_pos : \forall n,m:nat. pos n = pos m \to n = m \def injective_pos. theorem injective_neg: injective nat Z neg. -simplify. +unfold injective. intros. -change with abs (neg x) = abs (neg y). +change with (abs (neg x) = abs (neg y)). apply eq_f.assumption. qed. @@ -82,22 +82,22 @@ variant inj_neg : \forall n,m:nat. neg n = neg m \to n = m \def injective_neg. theorem not_eq_OZ_pos: \forall n:nat. OZ \neq pos n. -simplify.intros [n; H]. +unfold Not.intros (n H). discriminate H. qed. theorem not_eq_OZ_neg :\forall n:nat. OZ \neq neg n. -simplify.intros [n; H]. +unfold Not.intros (n H). discriminate H. qed. theorem not_eq_pos_neg :\forall n,m:nat. pos n \neq neg m. -simplify.intros [n; m; H]. +unfold Not.intros (n m H). discriminate H. qed. theorem decidable_eq_Z : \forall x,y:Z. decidable (x=y). -intros.simplify. +intros.unfold decidable. elim x. (* goal: x=OZ *) elim y. @@ -110,25 +110,25 @@ elim x. (* goal: x=pos *) elim y. (* goal: x=pos y=OZ *) - right.intro. - apply not_eq_OZ_pos n. symmetry. assumption. + right.unfold Not.intro. + apply (not_eq_OZ_pos n). symmetry. assumption. (* goal: x=pos y=pos *) elim (decidable_eq_nat n n1:((n=n1) \lor ((n=n1) \to False))). left.apply eq_f.assumption. - right.intros [H_inj].apply H. injection H_inj. assumption. + right.unfold Not.intros (H_inj).apply H. injection H_inj. assumption. (* goal: x=pos y=neg *) - right.intro.apply not_eq_pos_neg n n1. assumption. + right.unfold Not.intro.apply (not_eq_pos_neg n n1). assumption. (* goal: x=neg *) elim y. (* goal: x=neg y=OZ *) - right.intro. - apply not_eq_OZ_neg n. symmetry. assumption. + right.unfold Not.intro. + apply (not_eq_OZ_neg n). symmetry. assumption. (* goal: x=neg y=pos *) - right. intro. apply not_eq_pos_neg n1 n. symmetry. assumption. + right. unfold Not.intro. apply (not_eq_pos_neg n1 n). symmetry. assumption. (* goal: x=neg y=neg *) elim (decidable_eq_nat n n1:((n=n1) \lor ((n=n1) \to False))). left.apply eq_f.assumption. - right.intro.apply H.apply injective_neg.assumption. + right.unfold Not.intro.apply H.apply injective_neg.assumption. qed. (* end discrimination *)