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) *)
(************************************************************************)
Theorems about gt in nat.
This file is DEPRECATED now, see module PeanoNat.Nat instead,
which favor lt over gt.
gt is defined in Init/Peano.v as:
Definition gt (n m:nat) := m < n.
Require Import PeanoNat Le Lt Plus. Local Open Scope nat_scope.
Proof Nat.lt_0_succ _.n:natS n > 0Proof Nat.lt_succ_diag_r _.n:natS n > nn, m:natn > m -> S n > S mapply Nat.succ_lt_mono. Qed.n, m:natn > m -> S n > S mn, m:natS m > S n -> m > napply Nat.succ_lt_mono. Qed.n, m:natS m > S n -> m > nn, m:natS n > m -> n > m \/ m = nn, m:natS n > m -> n > m \/ m = nnow apply Nat.lt_eq_cases, Nat.succ_le_mono. Qed.n, m:natH:S n > mn > m \/ m = nn, m:natm > S n -> Init.Nat.pred m > napply Nat.lt_succ_lt_pred. Qed.n, m:natm > S n -> Init.Nat.pred m > n
Proof Nat.lt_irrefl _.n:nat~ n > n
Proof Nat.lt_asymm _ _.n, m:natn > m -> ~ m > n
n, m:natn <= m -> ~ n > mapply Nat.le_ngt. Qed.n, m:natn <= m -> ~ n > mn, m:natn > m -> ~ n <= mapply Nat.lt_nge. Qed.n, m:natn > m -> ~ n <= mn, m:natS n <= m -> m > napply Nat.le_succ_l. Qed.n, m:natS n <= m -> m > nn, m:natS m > n -> n <= mapply Nat.succ_le_mono. Qed.n, m:natS m > n -> n <= mn, m:natm > n -> S n <= mapply Nat.le_succ_l. Qed.n, m:natm > n -> S n <= mn, m:natn <= m -> S m > napply Nat.succ_le_mono. Qed.n, m:natn <= m -> S m > n
n, m, p:natm <= n -> m > p -> n > pn, m, p:natm <= n -> m > p -> n > pnow apply Nat.lt_le_trans with m. Qed.n, m, p:natH:m <= nH0:m > pn > pn, m, p:natn > m -> p <= m -> n > pn, m, p:natn > m -> p <= m -> n > pnow apply Nat.le_lt_trans with m. Qed.n, m, p:natH:n > mH0:p <= mn > pn, m, p:natn > m -> m > p -> n > pn, m, p:natn > m -> m > p -> n > pnow apply Nat.lt_trans with m. Qed.n, m, p:natH:n > mH0:m > pn > pn, m, p:natS n > m -> m > p -> n > pn, m, p:natS n > m -> m > p -> n > pn, m, p:natH:S n > mH0:m > pn > pnow apply Nat.succ_le_mono. Qed.n, m, p:natH:S n > mH0:m > pm <= n
n:natn > 0 \/ 0 = ndestruct n; [now right | left; apply Nat.lt_0_succ]. Qed.n:natn > 0 \/ 0 = n
n, m, p:natp + n > p + m -> n > mapply Nat.add_lt_mono_l. Qed.n, m, p:natp + n > p + m -> n > mn, m, p:natn > m -> p + n > p + mapply Nat.add_lt_mono_l. Qed.n, m, p:natn > m -> p + n > p + m
Hint Resolve gt_Sn_O gt_Sn_n gt_n_S : arith. Hint Immediate gt_S_n gt_pred : arith. Hint Resolve gt_irrefl gt_asym : arith. Hint Resolve le_not_gt gt_not_le : arith. Hint Immediate le_S_gt gt_S_le : arith. Hint Resolve gt_le_S le_gt_S : arith. Hint Resolve gt_trans_S le_gt_trans gt_le_trans: arith. Hint Resolve plus_gt_compat_l: arith. (* begin hide *) Notation gt_O_eq := gt_0_eq (only parsing). (* end hide *)