]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/ground/arith/nat_pred.ma
update in ground
[helm.git] / matita / matita / contribs / lambdadelta / ground / arith / nat_pred.ma
index 4acdf37b5f1997531e980ac9b9195b333c28c71e..3367fe66ad4b7c992a5f2798912216f6f3e53992 100644 (file)
@@ -18,10 +18,17 @@ include "ground/arith/nat.ma".
 
 (* PREDECESSOR FOR NON-NEGATIVE INTEGERS ************************************)
 
+definition pnpred (p): nat ≝
+           psplit … (𝟎) ninj p.
+
+interpretation
+  "positive predecessor (non-negative integers)"
+  'DownArrow p = (pnpred p).
+
 (*** pred *)
 definition npred (m): nat ≝ match m with
 [ nzero  ⇒ 𝟎
-| ninj p ⇒ psplit … (𝟎) ninj p
+| ninj p ⇒ p
 ].
 
 interpretation
@@ -34,7 +41,10 @@ interpretation
 lemma npred_zero: 𝟎 = ↓𝟎.
 // qed.
 
-lemma npred_one: 𝟎 = ↓𝟏.
+lemma npred_inj (p): ↓p = ↓(ninj p).
+// qed.
+
+lemma npred_unit: 𝟎 = ↓𝟏.
 // qed.
 
 lemma npred_psucc (p): ninj p = ↓↑p.
@@ -44,7 +54,7 @@ lemma npred_psucc (p): ninj p = ↓↑p.
 
 lemma npred_pnat_inv_refl (p): ninj p = ↓p → ⊥.
 *
-[ <npred_one #H destruct
+[ <npred_unit #H destruct
 | #p /3 width=2 by psucc_inv_refl, eq_inv_ninj_bi/
 ]
 qed-.