aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rwxr-xr-xtheories/Arith/Le.v7
-rwxr-xr-xtheories/Arith/Mult.v15
2 files changed, 22 insertions, 0 deletions
diff --git a/theories/Arith/Le.v b/theories/Arith/Le.v
index 3aec6ec3a..e12d2f2ba 100755
--- a/theories/Arith/Le.v
+++ b/theories/Arith/Le.v
@@ -60,6 +60,13 @@ Elim H ; Simpl ; Auto with arith.
Qed.
Hints Immediate le_S_n : arith v62.
+Lemma le_pred : (n,m:nat)(le n m)->(le (pred n) (pred m)).
+Proof.
+Induction n. Simpl. Auto with arith.
+Intros n0 Hn0. Induction m. Simpl. Intro H. Inversion H.
+Intros n1 H H0. Simpl. Auto with arith.
+Qed.
+
(** Negative properties *)
Theorem le_Sn_O : (n:nat)~(le (S n) O).
diff --git a/theories/Arith/Mult.v b/theories/Arith/Mult.v
index 337acb00f..30095d2fa 100755
--- a/theories/Arith/Mult.v
+++ b/theories/Arith/Mult.v
@@ -89,6 +89,12 @@ Proof.
Qed.
Hints Resolve mult_le : arith.
+Lemma le_mult_right : (m,n,p:nat)(le m n)->(le (mult m p) (mult n p)).
+Intros m n p H.
+Rewrite mult_sym. Rewrite (mult_sym n).
+Auto with arith.
+Qed.
+
Lemma mult_lt : (m,n,p:nat) (lt n p) -> (lt (mult (S m) n) (mult (S m) p)).
Proof.
NewInduction m. Intros. Simpl. Rewrite <- plus_n_O. Rewrite <- plus_n_O. Assumption.
@@ -97,6 +103,15 @@ Qed.
Hints Resolve mult_lt : arith.
+Lemma lt_mult_right :
+ (m,n,p:nat) (lt m n) -> (lt (0) p) -> (lt (mult m p) (mult n p)).
+Intros m n p H H0.
+Induction p.
+Elim (lt_n_n ? H0).
+Rewrite mult_sym.
+Replace (mult n (S p)) with (mult (S p) n); Auto with arith.
+Qed.
+
Lemma mult_le_conv_1 : (m,n,p:nat) (le (mult (S m) n) (mult (S m) p)) -> (le n p).
Proof.
Intros. Elim (le_or_lt n p). Trivial.