]> 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 bf889def7538d99a54e5f9f7e360ebb195260abc..d7654a0bb43294fcfc57c6a4605e3b46959243e9 100644 (file)
@@ -17,16 +17,6 @@ include "ground/arith/nat_lt_pred.ma".
 
 (* STRICT ORDER FOR NON-NEGATIVE INTEGERS ***********************************)
 
-(* Rewrites with nminus *****************************************************)
-
-(*** minus_pred_pred *)
-lemma nminus_pred_bi (m) (n): 𝟎 < m → 𝟎 < n → n - m = ↓n - ↓m.
-#m #n #Hm #Hn
->(nlt_inv_zero_sn … Hm) in ⊢ (??%?); -Hm
->(nlt_inv_zero_sn … Hn) in ⊢ (??%?); -Hn
-//
-qed-.
-
 (* Constructions with nminus ************************************************)
 
 (*** monotonic_lt_minus_l *)
@@ -36,10 +26,27 @@ lapply (nle_minus_sn_bi … o Hmn) -Hmn
 <(nminus_succ_sn … Hom) //
 qed.
 
+(*** monotonic_lt_minus_r *)
+lemma nlt_minus_dx_bi (o) (m) (n):
+      m < o -> m < n → o-n < o-m.
+#o #m #n #Ho #H
+lapply (nle_minus_dx_bi … o H) -H #H
+@(le_nlt_trans … H) -n
+@nlt_i >(nminus_succ_sn … Ho) //
+qed.
+
 (* Destructions with nminus *************************************************)
 
+(*** minus_pred_pred *)
+lemma nminus_pred_bi (m) (n): 𝟎 < m → 𝟎 < n → n - m = ↓n - ↓m.
+#m #n #Hm #Hn
+>(nlt_des_gen … Hm) in ⊢ (??%?); -Hm
+>(nlt_des_gen … Hn) in ⊢ (??%?); -Hn
+//
+qed-.
+
 lemma nlt_des_minus_dx (o) (m) (n): m < n - o → o < n.
-#o elim o -o
+#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