X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground%2Farith%2Fnat_le_pred.ma;h=1666a554894cf8986dd8d3519dca338c176b06c4;hb=41a54a797af98d2867d4bf979d424283fb44a1fc;hp=f1824e22eb0dcfd5ad2f73702a23f0e098a6bf53;hpb=74c6905907b0bca229366d52450e2a6982b5b8be;p=helm.git 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 f1824e22e..1666a5548 100644 --- a/matita/matita/contribs/lambdadelta/ground/arith/nat_le_pred.ma +++ b/matita/matita/contribs/lambdadelta/ground/arith/nat_le_pred.ma @@ -15,17 +15,50 @@ include "ground/arith/nat_pred_succ.ma". include "ground/arith/nat_le.ma". -(* NON-NEGATIVE INTEGERS ****************************************************) +(* ORDER FOR NON-NEGATIVE INTEGERS ******************************************) -(* Basic constructions with pred ********************************************) +(* 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. +#m @nle_inv_pred_sn // qed. (*** le_pred_n *) lemma nle_pred_sn_refl (m): ↓m ≤ m. -#m elim m -m // +#m @(nat_ind_succ … m) -m // qed. (*** monotonic_pred *) lemma nle_pred_bi (m) (n): m ≤ n → ↓m ≤ ↓n. -#m #n #H elim H -n +#m #n #H elim H -n // /2 width=3 by nle_trans/ 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.