]> matita.cs.unibo.it Git - helm.git/blobdiff - matita/matita/contribs/lambdadelta/ground/arith/nat_lt_pred.ma
milestone update in ground, partial commit
[helm.git] / matita / matita / contribs / lambdadelta / ground / arith / nat_lt_pred.ma
index 2b3502259f796845194b82ee7d94f64ecca9112a..e05ff9473f0c36213c42ded225f6108a4defff77 100644 (file)
 (*                                                                        *)
 (**************************************************************************)
 
-include "ground/arith/nat_pred_succ.ma".
+include "ground/arith/nat_le_pred.ma".
 include "ground/arith/nat_lt.ma".
 
 (* STRICT ORDER FOR NON-NEGATIVE INTEGERS ***********************************)
 
-(* Constructions with npred *************************************************)
+(* Destructions with npred **************************************************)
 
-lemma nlt_zero_sn (m): m = โ†‘โ†“m โ†’ ๐ŸŽ < m.
-// qed.
+(*** S_pred lt_succ_pred lt_inv_O1 *)
+lemma nlt_des_gen (m) (n): m < n โ†’ n = โ†‘โ†“n.
+#m #n @(nat_ind_succ โ€ฆ n) -n //
+#H elim (nlt_inv_zero_dx โ€ฆ H)
+qed-.
 
 (* Inversions with npred ****************************************************)
 
-(*** S_pred *)
-lemma nlt_inv_zero_sn (m): ๐ŸŽ < m โ†’ m = โ†‘โ†“m.
-#m @(nat_ind โ€ฆ m) -m //
-#H elim (nlt_inv_refl โ€ฆ H)
+(*** lt_inv_gen *)
+lemma nlt_inv_gen (m) (n): m < n โ†’ โˆงโˆง m โ‰ค โ†“n & n = โ†‘โ†“n.
+/2 width=1 by nle_inv_succ_sn/ qed-.
+
+(*** lt_inv_S1 *)
+lemma nlt_inv_succ_sn (m) (n): โ†‘m < n โ†’ โˆงโˆง m < โ†“n & n = โ†‘โ†“n.
+/2 width=1 by nle_inv_succ_sn/ qed-.
+
+lemma nlt_inv_pred_dx (m) (n): m < โ†“n โ†’ โ†‘m < n.
+#m #n #H >(nlt_des_gen (๐ŸŽ) n)
+[ /2 width=1 by nlt_succ_bi/
+| /3 width=3 by nle_nlt_trans, nlt_nle_trans/
+]
+qed-.
+
+lemma nlt_inv_pred_bi (m) (n):
+      โ†“m < โ†“n โ†’ m < n.
+/3 width=3 by nlt_inv_pred_dx, nle_nlt_trans/
 qed-.
+
+(* Constructions with npred *************************************************)
+
+lemma nlt_zero_sn (n): n = โ†‘โ†“n โ†’ ๐ŸŽ < n.
+// qed.
+
+(*** monotonic_lt_pred *)
+lemma nlt_pred_bi (m) (n): ๐ŸŽ < m โ†’ m < n โ†’ โ†“m < โ†“n.
+#m #n #Hm #Hmn
+@nle_inv_succ_bi
+<(nlt_des_gen โ€ฆ Hm) -Hm
+<(nlt_des_gen โ€ฆ Hmn) //
+qed.