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) *)
(************************************************************************)
Equality is decidable on nat
Local Open Scope nat_scope. Notation not_eq_sym := not_eq_sym (only parsing). Implicit Types m n p q : nat. Require Import Arith_base. Require Import Peano_dec. Require Import Compare_dec. Definition le_or_le_S := le_le_S_dec. Definition Pcompare := gt_eq_gt_dec.Proof le_ge_dec. Definition lt_or_eq n m := {m > n} + {n = m}.forall n m : nat, {n <= m} + {m <= n}Proof le_lt_eq_dec.forall n m : nat, n <= m -> lt_or_eq n mProof le_lt_or_eq. (* By special request of G. Kahn - Used in Group Theory *)forall n m : nat, n <= m -> S n <= m \/ n = mforall n m : nat, n < m -> S n = m \/ (exists r : nat, m = S (S (n + r)))forall n m : nat, n < m -> S n = m \/ (exists r : nat, m = S (S (n + r)))m, n:natH:m < nS m = n \/ (exists r : nat, n = S (S (m + r)))m, n:natH:m < nS m <= n -> S m = n \/ (exists r : nat, n = S (S (m + r)))m, n:natH:m < nH':S m <= nS m < n \/ S m = n -> S m = n \/ (exists r : nat, n = S (S (m + r)))m, n:natH:m < nH':S m <= nH0:S m < nS m = n \/ (exists r : nat, n = S (S (m + r)))m, n:natH:m < nH':S m <= nH0:S m < nn = S (S (m + (n - S (S m))))m, n:natH:m < nH':S m <= nH0:S m < nn = S (S (n - S (S m) + m))m, n:natH:m < nH':S m <= nH0:S m < nn = S (n - S (S m) + S m)rewrite (plus_comm (n - S (S m)) (S (S m))); auto with arith. Qed. Require Export Wf_nat. Require Export Min Max.m, n:natH:m < nH':S m <= nH0:S m < nn = n - S (S m) + S (S m)