X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground%2Farith%2Fnat_le_minus_plus.ma;h=72eff2728435d59e76579b3dcb4e6792d48fdaf7;hp=a059c04e0292fcfe0d8fcc49d95fa5e2aa5dd48d;hb=19b0a814861157ba05f23877d5cd94059f52c2e8;hpb=21de0d35017656c5a55528390b54b0b2ae395b44 diff --git a/matita/matita/contribs/lambdadelta/ground/arith/nat_le_minus_plus.ma b/matita/matita/contribs/lambdadelta/ground/arith/nat_le_minus_plus.ma index a059c04e0..72eff2728 100644 --- a/matita/matita/contribs/lambdadelta/ground/arith/nat_le_minus_plus.ma +++ b/matita/matita/contribs/lambdadelta/ground/arith/nat_le_minus_plus.ma @@ -31,18 +31,28 @@ lemma plus_minus_sn_refl_sn_nle (m) (n): n = n - m + m → m ≤ n. // qed. (*** le_plus_to_minus *) -lemma nle_minus_sn (o) (m) (n): m ≤ n + o → m - o ≤ n. +lemma nle_minus_sn_sn (o) (m) (n): m ≤ n + o → m - o ≤ n. +/2 width=1 by nle_minus_sn_bi/ qed. + +(*** le_plus_to_minus_comm *) +lemma nle_minus_sn_dx (o) (m) (n): m ≤ o + n → m - o ≤ n. /2 width=1 by nle_minus_sn_bi/ qed. (*** le_plus_to_minus_r *) -lemma nle_minus_dx (o) (m) (n): m + o ≤ n → m ≤ n - o. +lemma nle_minus_dx_sn (o) (m) (n): m + o ≤ n → m ≤ n - o. #o #m #n #H >(nminus_plus_sn_refl_sn m o) /2 width=1 by nle_minus_sn_bi/ qed. +(*** le_plus_to_minus_l *) +lemma nle_minus_dx_dx (o) (m) (n): o + m ≤ n → m ≤ n - o. +#o #m #n #H >(nminus_plus_sn_refl_dx m o) +/2 width=1 by nle_minus_sn_bi/ +qed. + (*** le_inv_plus_l *) lemma nle_minus_dx_full (o) (m) (n): m + o ≤ n → ∧∧ m ≤ n - o & o ≤ n. -/3 width=3 by nle_minus_dx, nle_trans, conj/ qed-. +/3 width=3 by nle_minus_dx_sn, nle_trans, conj/ qed-. (* Inversions with nminus and nplus *****************************************) @@ -53,6 +63,7 @@ lemma nplus_minus_sn_refl_sn (m) (n): m ≤ n → n = n - m + m. (nplus_minus_sn_refl_sn … Hm) in ⊢ (??%?); // qed-. + +(*** plus_minus_minus_be *) +lemma nplus_minus_be_be (m1) (m2) (m3): + m1 ≤ m2 → m2 ≤ m3 → (m3 - m2) + (m2 - m1) = m3 - m1. +#m1 #m2 #m3 #Hm12 #Hm23 +>nminus_assoc //