X-Git-Url: http://matita.cs.unibo.it/gitweb/?p=helm.git;a=blobdiff_plain;f=matita%2Fmatita%2Fcontribs%2Flambdadelta%2Fground_2%2Flib%2Farith.ma;h=dde95e8a7267d844ab844a0861e9ce1a044b480f;hp=9135ff24d72787e8835f9d1cb7b75898f4c4f2d0;hb=ff612dc35167ec0c145864c9aa8ae5e1ebe20a48;hpb=397413c4196f84c81d61ba7dd79b54ab1c428ebb diff --git a/matita/matita/contribs/lambdadelta/ground_2/lib/arith.ma b/matita/matita/contribs/lambdadelta/ground_2/lib/arith.ma index 9135ff24d..dde95e8a7 100644 --- a/matita/matita/contribs/lambdadelta/ground_2/lib/arith.ma +++ b/matita/matita/contribs/lambdadelta/ground_2/lib/arith.ma @@ -12,7 +12,7 @@ (* *) (**************************************************************************) -include "ground_2/notation/constructors/uparrow_1.ma". +include "ground_2/notation/functions/uparrow_1.ma". include "ground_2/notation/functions/downarrow_1.ma". include "arithmetics/nat.ma". include "ground_2/lib/relations.ma". @@ -62,6 +62,10 @@ lemma plus_minus_minus_be: ∀x,y,z. y ≤ z → z ≤ x → (x - z) + (z - y) = #x #z #y #Hzy #Hyx >plus_minus // >commutative_plus >plus_minus // qed-. +lemma lt_succ_pred: ∀m,n. n < m → m = ↑↓m. +#m #n #Hm >S_pred /2 width=2 by ltn_to_ltO/ +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-. @@ -255,6 +259,22 @@ qed-. lemma plus_inv_O3: ∀x,y. x + y = 0 → x = 0 ∧ y = 0. /2 width=1 by plus_le_0/ qed-. +lemma plus_inv_S3_sn: ∀x1,x2,x3. x1+x2 = ↑x3 → + ∨∨ ∧∧ x1 = 0 & x2 = ↑x3 + | ∃∃y1. x1 = ↑y1 & y1 + x2 = x3. +* /3 width=1 by or_introl, conj/ +#x1 #x2 #x3