X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground%2Farith%2Fnat_pred.ma;h=3367fe66ad4b7c992a5f2798912216f6f3e53992;hb=0bcf2dc1a27e38cb6cd3d44eb838d652926841e0;hp=7c5d8a5ac5b6cf93c890880fafd4d6e28816dc7d;hpb=74c6905907b0bca229366d52450e2a6982b5b8be;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 7c5d8a5ac..3367fe66a 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". -(* NON-NEGATIVE INTEGERS ****************************************************) +(* 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_unit: 𝟎 = ↓𝟏. +// qed. + +lemma npred_psucc (p): ninj p = ↓↑p. +// qed. + +(* Basic inversions *********************************************************) + +lemma npred_pnat_inv_refl (p): ninj p = ↓p → ⊥. +* +[