(************************************************************************)
(*         *      The Rocq Prover / The Rocq Development Team           *)
(*  v      *         Copyright INRIA, CNRS and contributors             *)
(* <O___,, * (see version control and CREDITS file for authors & dates) *)
(*   \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 NAdd.
Module NOrderProp (Import N : NAxiomsMiniSig').
Include NAddProp N.
(* Theorems that are true for natural numbers but not for integers *)

(* Specifications: *)
Theorem lt_wf_0 : well_founded lt.
Theorem nle_succ_0 : forall n, ~ (S n <= 0).
Theorem le_0_r : forall n, n <= 0 <-> n == 0.
Theorem lt_0_succ : forall n, 0 < S n.
Theorem le_1_succ : forall n, 1 <= S n.
Theorem neq_0_lt_0 : forall n, n ~= 0 <-> 0 < n.
Theorem neq_0_le_1 : forall n, n ~= 0 <-> 1 <= n.
Theorem eq_0_gt_0_cases : forall n, n == 0 \/ 0 < n.
Theorem zero_one : forall n, n == 0 \/ n == 1 \/ 1 < n.
Theorem lt_1_r : forall n, n < 1 <-> n == 0.
Theorem le_1_r : forall n, n <= 1 <-> n == 0 \/ n == 1.
Theorem lt_lt_0 : forall n m, n < m -> 0 < m.
Theorem lt_1_l' : forall n m p, n < m -> m < p -> 1 < p.
Section RelElim.