X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground_2%2Flib%2Farith.ma;h=e3ec5c5040847cd64f141efd9aede61dcee4f658;hb=1083ac3b1acac5f1ac1fa40a9a417dd9d268dced;hp=dde95e8a7267d844ab844a0861e9ce1a044b480f;hpb=ff612dc35167ec0c145864c9aa8ae5e1ebe20a48;p=helm.git diff --git a/matita/matita/contribs/lambdadelta/ground_2/lib/arith.ma b/matita/matita/contribs/lambdadelta/ground_2/lib/arith.ma index dde95e8a7..e3ec5c504 100644 --- a/matita/matita/contribs/lambdadelta/ground_2/lib/arith.ma +++ b/matita/matita/contribs/lambdadelta/ground_2/lib/arith.ma @@ -57,6 +57,13 @@ lemma plus_SO: ∀n. n + 1 = ↑n. lemma minus_plus_m_m_commutative: ∀n,m:nat. n = m + n - m. // qed-. +lemma plus_n_2: ∀n. n + 2 = n + 1 + 1. +// qed. + +lemma arith_l: ∀x. 1 = 1-x+(x-(x-1)). +* // #x >minus_S_S >minus_S_S plus_minus // >commutative_plus >plus_minus // @@ -69,9 +76,6 @@ qed-. fact plus_minus_minus_be_aux: ∀i,x,y,z. y ≤ z → z ≤ x → i = z - y → x - z + i = x - y. /2 width=1 by plus_minus_minus_be/ qed-. -lemma plus_n_2: ∀n. n + 2 = n + 1 + 1. -// qed. - lemma le_plus_minus: ∀m,n,p. p ≤ n → m + n - p = m + (n - p). /2 by plus_minus/ qed-. @@ -143,6 +147,9 @@ fact le_repl_sn_trans_aux: ∀x,y,z:nat. x ≤ z → y = x → y ≤ z. lemma monotonic_le_minus_l2: ∀x1,x2,y,z. x1 ≤ x2 → x1 - y - z ≤ x2 - y - z. /3 width=1 by monotonic_le_minus_l/ qed. +lemma minus_le_trans_sn: ∀x1,x2. x1 ≤ x2 → ∀x. x1-x ≤ x2. +/2 width=3 by transitive_le/ qed. + (* Note: this might interfere with nat.ma *) lemma monotonic_lt_pred: ∀m,n. m < n → 0 < m → pred m < pred n. #m #n #Hmn #Hm whd >(S_pred … Hm)