X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground%2Farith%2Fnat_le_pred.ma;h=1666a554894cf8986dd8d3519dca338c176b06c4;hp=b5347a806e4ba2f83c52c93ac6721864aab255c0;hb=41a54a797af98d2867d4bf979d424283fb44a1fc;hpb=6183fdeb092e83ddb5d0da61f8da87a9bcde8569 diff --git a/matita/matita/contribs/lambdadelta/ground/arith/nat_le_pred.ma b/matita/matita/contribs/lambdadelta/ground/arith/nat_le_pred.ma index b5347a806..1666a5548 100644 --- a/matita/matita/contribs/lambdadelta/ground/arith/nat_le_pred.ma +++ b/matita/matita/contribs/lambdadelta/ground/arith/nat_le_pred.ma @@ -17,13 +17,31 @@ include "ground/arith/nat_le.ma". (* ORDER FOR NON-NEGATIVE INTEGERS ******************************************) -(* Destructions with npred **************************************************) +(* Inversions with npred ****************************************************) lemma nle_inv_pred_sn (m) (n): ↓m ≤ n → m ≤ ↑n. #m #n @(nat_ind_succ … m) -m /2 width=1 by nle_succ_bi/ qed-. +(*** le_inv_S1 *) +lemma nle_inv_succ_sn (m) (n): + ↑m ≤ n → ∧∧ m ≤ ↓n & n = ↑↓n. +#m #n * -n +[ /2 width=3 by nle_refl, conj/ +| #n #Hn /3 width=1 by nle_des_succ_sn, conj/ +] +qed-. + +lemma nle_inv_succ_dx (m) (n): + m ≤ ↑n → ∨∨ 𝟎 = m | ∧∧ ↓m ≤ n & m = ↑↓m. +#m #n @(nat_ind_succ … m) -m +[ /2 width=1 by or_introl/ +| #m #_ #H0 + /4 width=1 by nle_inv_succ_bi, or_intror, conj/ +] +qed-. + (* Constructions with npred *************************************************) lemma nle_succ_pred_dx_refl (m): m ≤ ↑↓m. @@ -43,15 +61,4 @@ qed. lemma nle_pred_sn (m) (n): m ≤ ↑n → ↓m ≤ n. #m #n @(nat_ind_succ … m) -m // /2 width=1 by nle_pred_bi/ -qed-. - -(* Inversions with npred ****************************************************) - -(*** le_inv_S1 *) -lemma nle_inv_succ_sn (m) (n): - ↑m ≤ n → ∧∧ m ≤ ↓n & n = ↑↓n. -#m #n * -n -[ /2 width=3 by nle_refl, conj/ -| #n #Hn /3 width=1 by nle_des_succ_sn, conj/ -] -qed-. +qed.