diff options
| author | letouzey | 2010-02-09 17:44:50 +0000 |
|---|---|---|
| committer | letouzey | 2010-02-09 17:44:50 +0000 |
| commit | 38dac30c6877122634e7b34ec7cd1b6ab2b67ebb (patch) | |
| tree | ddcdcd655a411df6a15dc56af944c30db23cecc4 | |
| parent | 3453438833ff72ad991e0691207481cb6682f246 (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.v | 9 |
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. |
