Built with Alectryon, running Coq+SerAPI v8.10.0+0.7.0. Coq sources are in this panel; goals and messages will appear in the other. Bubbles () indicate interactive fragments: hover for details, tap to reveal contents. Use Ctrl+↑ Ctrl+↓ to navigate, Ctrl+🖱️ to focus.
(************************************************************************)
(*         *   The Coq Proof Assistant / The Coq Development Team       *)
(*  v      *   INRIA, CNRS and contributors - Copyright 1999-2018       *)
(* <O___,, *       (see CREDITS file for the list of authors)           *)
(*   \VV/  **************************************************************)
(*    //   *    This file is distributed under the terms of the         *)
(*         *     GNU Lesser General Public License Version 2.1          *)
(*         *     (see LICENSE file for the text of the license)         *)
(************************************************************************)
(*                      Evgeny Makarov, INRIA, 2007                     *)
(************************************************************************)

Require Export NOrder.

Module NAddOrderProp (Import N : NAxiomsMiniSig').
Include NOrderProp N.
Theorems true for natural numbers, not for integers

forall n m : t, n <= n + m

forall n m : t, n <= n + m
n:t

n <= n + 0
n:t
forall n0 : t, n <= n + n0 -> n <= n + S n0
n:t

forall n0 : t, n <= n + n0 -> n <= n + S n0
n, m:t
IH:n <= n + m

n <= n + S m
rewrite add_succ_r; now apply le_le_succ_r. Qed.

forall n m p : t, n < m -> n < m + p

forall n m p : t, n < m -> n < m + p
n, m, p:t
H:n < m

n + 0 < m + p
apply add_lt_le_mono; [assumption | apply le_0_l]. Qed.

forall n m p : t, n < m -> n < p + m

forall n m p : t, n < m -> n < p + m
intros n m p; rewrite add_comm; apply lt_lt_add_r. Qed.

forall n m : t, 0 < n -> 0 < n + m

forall n m : t, 0 < n -> 0 < n + m
n, m:t
H:0 < n

0 < n
n, m:t
H:0 < n
0 <= m
n, m:t
H:0 < n

0 <= m
apply le_0_l. Qed.

forall n m : t, 0 < m -> 0 < n + m

forall n m : t, 0 < m -> 0 < n + m
n, m:t
H:0 < m

0 <= n
n, m:t
H:0 < m
0 < m
n, m:t
H:0 < m

0 < m
assumption. Qed. End NAddOrderProp.