X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground%2Farith%2Fnat_le.ma;h=5d99e4c55a1606fca21959c80055157a9c83d9fe;hb=8fdf1af656038d0245eba64ff2531bbe94ce0e9e;hp=347ea4f890be465ae9941a6c9a20b86f05a51695;hpb=19b0a814861157ba05f23877d5cd94059f52c2e8;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/ground/arith/nat_le.ma b/matita/matita/contribs/lambdadelta/ground/arith/nat_le.ma index 347ea4f89..5d99e4c55 100644 --- a/matita/matita/contribs/lambdadelta/ground/arith/nat_le.ma +++ b/matita/matita/contribs/lambdadelta/ground/arith/nat_le.ma @@ -12,13 +12,12 @@ (* *) (**************************************************************************) -include "ground/insert_eq/insert_eq_0.ma". +include "ground/generated/insert_eq_1.ma". include "ground/arith/nat_succ.ma". (* ORDER FOR NON-NEGATIVE INTEGERS ******************************************) (*** le *) -(*** le_ind *) inductive nle (m:nat): predicate nat ≝ | nle_refl : nle m m | nle_succ_dx: ∀n. nle m n → nle m (↑n) @@ -45,7 +44,7 @@ lemma nle_succ_bi (m) (n): m ≤ n → ↑m ≤ ↑n. qed. (*** le_or_ge *) -lemma nle_ge_dis (m) (n): ∨∨ m ≤ n | n ≤ m. +lemma nat_split_le_ge (m) (n): ∨∨ m ≤ n | n ≤ m. #m #n @(nat_ind_2_succ … m n) -m -n [ /2 width=1 by or_introl/ | /2 width=1 by or_intror/ @@ -63,7 +62,7 @@ qed-. (*** le_S_S_to_le *) lemma nle_inv_succ_bi (m) (n): ↑m ≤ ↑n → m ≤ n. -#m #n @(insert_eq_0 … (↑n)) +#m #n @(insert_eq_1 … (↑n)) #x * -x [ #H >(eq_inv_nsucc_bi … H) -n // | #o #Ho #H >(eq_inv_nsucc_bi … H) -n @@ -73,7 +72,7 @@ qed-. (*** le_n_O_to_eq *) lemma nle_inv_zero_dx (m): m ≤ 𝟎 → 𝟎 = m. -#m @(insert_eq_0 … (𝟎)) +#m @(insert_eq_1 … (𝟎)) #y * -y [ #H destruct // | #y #_ #H elim (eq_inv_zero_nsucc … H) @@ -88,7 +87,7 @@ lemma nle_inv_succ_zero (m): ↑m ≤ 𝟎 → ⊥. lemma nle_inv_succ_sn_refl (m): ↑m ≤ m → ⊥. #m @(nat_ind_succ … m) -m [| #m #IH ] #H -[ /3 width=2 by nle_inv_zero_dx, eq_inv_zero_nsucc/ +[ /2 width=2 by nle_inv_succ_zero/ | /3 width=1 by nle_inv_succ_bi/ ] qed-. @@ -110,7 +109,7 @@ lemma nle_ind_alt (Q: relation2 nat nat): (∀m,n. m ≤ n → Q m n → Q (↑m) (↑n)) → ∀m,n. m ≤ n → Q m n. #Q #IH1 #IH2 #m #n @(nat_ind_2_succ … m n) -m -n // -[ #m #H elim (nle_inv_succ_zero … H) +[ #m #_ #H elim (nle_inv_succ_zero … H) | /4 width=1 by nle_inv_succ_bi/ ] qed-. @@ -124,7 +123,7 @@ qed-. (*** decidable_le le_dec *) lemma nle_dec (m) (n): Decidable … (m ≤ n). -#m #n elim (nle_ge_dis m n) [ /2 width=1 by or_introl/ ] +#m #n elim (nat_split_le_ge m n) [ /2 width=1 by or_introl/ ] #Hnm elim (eq_nat_dec m n) [ #H destruct /2 width=1 by nle_refl, or_introl/ ] /4 width=1 by nle_antisym, or_intror/ qed-.