X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground%2Farith%2Fnat_pred.ma;h=d7f79d76b8084d89079406c281a86de8872545f8;hb=8fdf1af656038d0245eba64ff2531bbe94ce0e9e;hp=4fcab387d0bd8d5248fef6c98e41d0abc2a78f9e;hpb=5e72e41f4f86814e56d4b00959ccc56c71042a4c;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/ground/arith/nat_pred.ma b/matita/matita/contribs/lambdadelta/ground/arith/nat_pred.ma index 4fcab387d..d7f79d76b 100644 --- a/matita/matita/contribs/lambdadelta/ground/arith/nat_pred.ma +++ b/matita/matita/contribs/lambdadelta/ground/arith/nat_pred.ma @@ -13,22 +13,53 @@ (**************************************************************************) include "ground/notation/functions/downarrow_1.ma". -include "ground/arith/pnat_dis.ma". +include "ground/arith/pnat_split.ma". 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 ⇒ pdis … (𝟎) ninj p +| ninj p ⇒ ↓p ]. interpretation - "predecessor (non-negative integers" + "predecessor (non-negative integers)" 'DownArrow m = (npred m). -(* Basic rewrites ***********************************************************) +(* Basic constructions ******************************************************) +(*** pred_O *) lemma npred_zero: 𝟎 = ↓𝟎. // qed. + +lemma npred_inj (p): ↓p = ↓(ninj p). +// qed. + +lemma npred_one: 𝟎 = ↓𝟏. +// qed. + +lemma npred_psucc (p): ninj p = ↓↑p. +// qed. + +(* Basic inversions *********************************************************) + +lemma npred_pnat_inv_refl (p): ninj p = ↓p → ⊥. +* +[