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) *)
(************************************************************************)
THIS FILE IS DEPRECATED.
Require Import BinInt Zcompare Zorder. Local Open Scope Z_scope.
Definition Z.min is now BinInt.Z.min.
Exact compatibility
Notation Zle_min_compat_r := Z.min_le_compat_r (only parsing). Notation Zle_min_compat_l := Z.min_le_compat_l (only parsing). Notation Zmin_idempotent := Z.min_id (only parsing). Notation Zmin_n_n := Z.min_id (only parsing). Notation Zmin_irreducible_inf := Z.min_dec (only parsing). Notation Zmin_SS := Z.succ_min_distr (only parsing). Notation Zplus_min_distr_r := Z.add_min_distr_r (only parsing). Notation Zmin_plus := Z.add_min_distr_r (only parsing). Notation Zpos_min := Pos2Z.inj_min (only parsing).
Slightly different lemmas
x, y:Zx <= y /\ Z.min x y = x \/ x > y /\ Z.min x y = yx, y:Zx <= y /\ Z.min x y = x \/ x > y /\ Z.min x y = yx, y:Zx <= y /\ Z.min x y = x \/ y < x /\ Z.min x y = ydestruct (Z.min_spec y x); auto. Qed.x, y:Zx <= y /\ Z.min y x = x \/ y < x /\ Z.min y x = yn, m:ZZ.min n m = n \/ Z.min n m = mdestruct (Z.min_dec n m); auto. Qed. Notation Zmin_or := Zmin_irreducible (only parsing).n, m:ZZ.min n m = n \/ Z.min n m = mn, m, p:ZZ.min n m <= p -> {n <= p} + {m <= p}apply Z.min_case; auto. Qed.n, m, p:ZZ.min n m <= p -> {n <= p} + {m <= p}p:positiveZ.min 1 (Z.pos p) = 1now destruct p. Qed.p:positiveZ.min 1 (Z.pos p) = 1