X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground%2Farith%2Fnat_lt_pred.ma;h=cb776975830572cff409fe9e0317ef6d852ce584;hp=c319006fc4df70d9fadeffe0e3ed266d1b823f8d;hb=19b0a814861157ba05f23877d5cd94059f52c2e8;hpb=21de0d35017656c5a55528390b54b0b2ae395b44 diff --git a/matita/matita/contribs/lambdadelta/ground/arith/nat_lt_pred.ma b/matita/matita/contribs/lambdadelta/ground/arith/nat_lt_pred.ma index c319006fc..cb7769758 100644 --- a/matita/matita/contribs/lambdadelta/ground/arith/nat_lt_pred.ma +++ b/matita/matita/contribs/lambdadelta/ground/arith/nat_lt_pred.ma @@ -17,22 +17,40 @@ include "ground/arith/nat_lt.ma". (* STRICT ORDER FOR NON-NEGATIVE INTEGERS ***********************************) -(* Constructions with npred *************************************************) +(* Destructions with npred **************************************************) -lemma nlt_zero_sn (m): m = ↑↓m → 𝟎 < m. -// qed. +(*** S_pred lt_succ_pred lt_inv_O1 *) +lemma nlt_des_gen (m) (n): m < n → n = ↑↓n. +#m #n @(nat_ind_succ … n) -n // +#H elim (nlt_inv_zero_dx … H) +qed-. (* Inversions with npred ****************************************************) -(*** S_pred *) -lemma nlt_inv_zero_sn (m): 𝟎 < m → m = ↑↓m. -#m @(nat_ind_succ … m) -m // -#H elim (nlt_inv_refl … H) -qed-. +(*** lt_inv_gen *) +lemma nlt_inv_gen (m) (n): m < n → ∧∧ m ≤ ↓n & n = ↑↓n. +/2 width=1 by nle_inv_succ_sn/ qed-. + +(*** lt_inv_S1 *) +lemma nlt_inv_succ_sn (m) (n): ↑m < n → ∧∧ m < ↓n & n = ↑↓n. +/2 width=1 by nle_inv_succ_sn/ qed-. lemma nlt_inv_pred_dx (m) (n): m < ↓n → ↑m < n. -#m #n #H >(nlt_inv_zero_sn n) +#m #n #H >(nlt_des_gen (𝟎) n) [ /2 width=1 by nlt_succ_bi/ | /3 width=3 by le_nlt_trans, nlt_le_trans/ ] qed-. + +(* Constructions with npred *************************************************) + +lemma nlt_zero_sn (n): n = ↑↓n → 𝟎 < n. +// qed. + +(*** monotonic_lt_pred *) +lemma nlt_pred_bi (m) (n): 𝟎 < m → m < n → ↓m < ↓n. +#m #n #Hm #Hmn +@nle_inv_succ_bi +<(nlt_des_gen … Hm) -Hm +<(nlt_des_gen … Hmn) // +qed.