(** Compatibility of addition wrt to being positive *)
(** Simplification of addition wrt to order *)

(* Specifications: *)
Lemma Zplus_le_reg_l n m p : p + n <= p + m -> n <= m.
Lemma Zplus_le_reg_r n m p : n + p <= m + p -> n <= m.
Lemma Zplus_lt_reg_l n m p : p + n < p + m -> n < m.
Lemma Zplus_lt_reg_r n m p : n + p < m + p -> n < m.
Lemma Zplus_gt_reg_l n m p : p + n > p + m -> n > m.
Lemma Zplus_gt_reg_r n m p : n + p > m + p -> n > m.
(** ** Multiplication *)
(** Compatibility of multiplication by a positive wrt to order *)
Lemma Zmult_le_compat_r n m p : n <= m -> 0 <= p -> n * p <= m * p.
Lemma Zmult_le_compat_l n m p : n <= m -> 0 <= p -> p * n <= p * m.
Lemma Zmult_lt_compat_r n m p : 0 < p -> n < m -> n * p < m * p.
Lemma Zmult_gt_compat_r n m p : p > 0 -> n > m -> n * p > m * p.
Lemma Zmult_gt_0_lt_compat_r n m p : p > 0 -> n < m -> n * p < m * p.
Lemma Zmult_gt_0_le_compat_r n m p : p > 0 -> n <= m -> n * p <= m * p.
Lemma Zmult_lt_0_le_compat_r n m p : 0 < p -> n <= m -> n * p <= m * p.
Lemma Zmult_gt_0_lt_compat_l n m p : p > 0 -> n < m -> p * n < p * m.
Lemma Zmult_lt_compat_l n m p : 0 < p -> n < m -> p * n < p * m.
Lemma Zmult_gt_compat_l n m p : p > 0 -> n > m -> p * n > p * m.
Lemma Zmult_ge_compat_r n m p : n >= m -> p >= 0 -> n * p >= m * p.
Lemma Zmult_ge_compat_l n m p : n >= m -> p >= 0 -> p * n >= p * m.
Lemma Zmult_ge_compat n m p q :
n >= p -> m >= q -> p >= 0 -> q >= 0 -> n * m >= p * q.
Lemma Zmult_le_compat n m p q :
n <= p -> m <= q -> 0 <= n -> 0 <= m -> n * m <= p * q.