(************************************************************************)
(*         *   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)         *)
(************************************************************************)
Local Open Scope N_scope.
(** Obsolete results about boolean comparisons over [N], kept for compatibility with IntMap and SMC. *)
Notation Peqb_correct := Pos.eqb_refl (only parsing).
Notation Neqb_correct := N.eqb_refl (only parsing).
Notation Neqb_comm := N.eqb_sym (only parsing).
Ltac eqb2eq := rewrite <- ?not_true_iff_false in *; rewrite ?N.eqb_eq in *.
(** An inefficient boolean order on [N]. Please use [N.leb] instead now. *)
Definition Nleb (a b:N) := leb (N.to_nat a) (N.to_nat b).
(* Nleb and N.compare *)
(* NB: No need to prove that Nleb a b = true <-> N.compare a b <> Gt, this statement is in fact Nleb_Nle! *)
(* Old results about [N.min] *)
Notation Nmin_choice := N.min_dec (only parsing).

Lemma Nmin_lt_4 a b c : Nleb (N.min b c) a = false -> Nleb c a = false.