X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground%2Farith%2Fnat_le_pred.ma;h=b5347a806e4ba2f83c52c93ac6721864aab255c0;hb=503500ff9a6d9cca363a42b5fe7f3f5de69239f9;hp=da1de97f5574a6b0d0741850097451eace80609c;hpb=5e72e41f4f86814e56d4b00959ccc56c71042a4c;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 da1de97f5..b5347a806 100644 --- a/matita/matita/contribs/lambdadelta/ground/arith/nat_le_pred.ma +++ b/matita/matita/contribs/lambdadelta/ground/arith/nat_le_pred.ma @@ -17,11 +17,21 @@ include "ground/arith/nat_le.ma". (* ORDER FOR NON-NEGATIVE INTEGERS ******************************************) +(* Destructions 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-. + (* 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 *) @@ -31,13 +41,17 @@ lemma nle_pred_bi (m) (n): m ≤ n → ↓m ≤ ↓n. qed. lemma nle_pred_sn (m) (n): m ≤ ↑n → ↓m ≤ n. -#m #n elim m -m // +#m #n @(nat_ind_succ … m) -m // /2 width=1 by nle_pred_bi/ qed-. -(* Destructions with npred **************************************************) +(* Inversions with npred ****************************************************) -lemma nle_inv_pred_sn (m) (n): ↓m ≤ n → m ≤ ↑n. -#m #n elim m -m -/2 width=1 by nle_succ_bi/ +(*** 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-.