]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/ground/arith/nat_lt_minus.ma
arithmetics for λδ
[helm.git] / matita / matita / contribs / lambdadelta / ground / arith / nat_lt_minus.ma
index 34a16e01f572fd379ba4ed35b8dece84a669e9ba..79b8f1a0bd461312bde38332273455e1d008184e 100644 (file)
@@ -17,7 +17,16 @@ include "ground/arith/nat_lt_pred.ma".
 
 (* STRICT ORDER FOR NON-NEGATIVE INTEGERS ***********************************)
 
-(* Rewrites with nminus *****************************************************)
+(* Constructions with nminus ************************************************)
+
+(*** monotonic_lt_minus_l *)
+lemma nlt_minus_sn_bi (o) (m) (n): o ≤ m → m < n → m - o < n - o.
+#o #m #n #Hom #Hmn
+lapply (nle_minus_sn_bi … o Hmn) -Hmn
+<(nminus_succ_sn … Hom) //
+qed.
+
+(* Destructions with nminus *************************************************)
 
 (*** minus_pred_pred *)
 lemma nminus_pred_bi (m) (n): 𝟎 < m → 𝟎 < n → n - m = ↓n - ↓m.
@@ -27,11 +36,11 @@ lemma nminus_pred_bi (m) (n): 𝟎 < m → 𝟎 < n → n - m = ↓n - ↓m.
 //
 qed-.
 
-(* Constructions with nminus ************************************************)
-
-(*** monotonic_lt_minus_l *)
-lemma nlt_minus_sn_bi (o) (m) (n): o ≤ m → m < n → m - o < n - o.
-#o #m #n #Hom #Hmn
-lapply (nle_minus_sn_bi … o Hmn) -Hmn
-<(nminus_succ_sn … Hom) //
-qed.
+lemma nlt_des_minus_dx (o) (m) (n): m < n - o → o < n.
+#o @(nat_ind_succ … o) -o
+[ #m #n <nminus_zero_dx
+  /2 width=3 by le_nlt_trans/
+| #o #IH #m #n <nminus_succ_dx_pred_sn #H
+  /3 width=2 by nlt_inv_pred_dx/
+]
+qed-.