aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorletouzey2010-02-09 17:44:50 +0000
committerletouzey2010-02-09 17:44:50 +0000
commit38dac30c6877122634e7b34ec7cd1b6ab2b67ebb (patch)
treeddcdcd655a411df6a15dc56af944c30db23cecc4
parent3453438833ff72ad991e0691207481cb6682f246 (diff)
NSub: a missing lemma (sub usually decreases)
git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/coq/trunk@12716 85f007b7-540e-0410-9357-904b9bb8a0f7
-rw-r--r--theories/Numbers/Natural/Abstract/NSub.v9
1 files changed, 9 insertions, 0 deletions
diff --git a/theories/Numbers/Natural/Abstract/NSub.v b/theories/Numbers/Natural/Abstract/NSub.v
index 35d3b8aa22..de0c2da1b0 100644
--- a/theories/Numbers/Natural/Abstract/NSub.v
+++ b/theories/Numbers/Natural/Abstract/NSub.v
@@ -205,6 +205,15 @@ Proof.
intros n m p. rewrite add_comm; apply lt_add_lt_sub_r.
Qed.
+Theorem sub_lt : forall n m, m <= n -> 0 < m -> n - m < n.
+Proof.
+intros n m LE LT.
+assert (LE' := le_sub_l n m). rewrite lt_eq_cases in LE'.
+destruct LE' as [LT'|EQ]. assumption.
+apply add_sub_eq_nz in EQ; [|order].
+rewrite (add_lt_mono_r _ _ n), add_0_l in LT. order.
+Qed.
+
(** Sub and mul *)
Theorem mul_pred_r : forall n m, n * (P m) == n * m - n.