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=fb196e042ebea1a5bd415272a7cc0aafbb7d39f0;hpb=21de0d35017656c5a55528390b54b0b2ae395b44;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 fb196e042..3367fe66a 100644 --- a/matita/matita/contribs/lambdadelta/ground/arith/nat_pred.ma +++ b/matita/matita/contribs/lambdadelta/ground/arith/nat_pred.ma @@ -13,15 +13,22 @@ (**************************************************************************) 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 @@ -33,3 +40,26 @@ interpretation (*** 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 → ⊥. +* +[