(** Weakening order *)

Notation Zle_succ := Z.le_succ_diag_r (only parsing).Notation Zle_pred := Z.le_pred_l (only parsing).Notation Zlt_lt_succ := Z.lt_lt_succ_r (only parsing).Notation Zle_le_succ := Z.le_le_succ_r (only parsing).

(* Specifications: *)
Lemma Zle_succ_le n m : Z.succ n <= m -> n <= m.
Lemma Zgt_succ_pred n m : m > Z.succ n -> Z.pred m > n.
Lemma Zlt_succ_pred n m : Z.succ n < m -> n < Z.pred m.
Lemma Zlt_0_le_0_pred n : 0 < n -> 0 <= Z.pred n.
Lemma Zgt_0_le_0_pred n : n > 0 -> 0 <= Z.pred n.
Lemma Zle_neg_pos : forall p q:positive, Zneg p <= Zpos q.
Lemma Zgt_pos_0 : forall p:positive, Zpos p > 0.
Lemma Zle_0_pos : forall p:positive, 0 <= Zpos p.
Lemma Zlt_neg_0 : forall p:positive, Zneg p < 0.
Lemma Zle_0_nat : forall n:nat, 0 <= Z.of_nat n.
Lemma Zgt_succ_gt_or_eq n m : Z.succ n > m -> n > m \/ m = n.