(** A division respects opposite monotonicity for the divisor *)

(* Specifications: *)
Lemma div_le_compat_l: forall p q r, 0<=p -> 0<q<=r ->
p/r <= p/q.
Lemma div_le_compat_l: forall p q r, 0<=p -> 0<q<=r -> p/r <= p/q.
Lemma div_add : forall a b c, c~=0 ->
(a + b * c) / c == a / c + b.
Lemma div_add_l: forall a b c, b~=0 ->
(a * b + c) / b == a + c / b.
Lemma div_le_compat_l: forall p q r, 0<=p -> 0<q<=r -> p/r <= p/q.
Lemma div_add : forall a b c, c~=0 ->
(a + b * c) / c == a / c + b.
Lemma div_add_l: forall a b c, b~=0 ->
(a * b + c) / b == a + c / b.
Lemma quot_le_compat_l: forall p q r, 0<=p -> 0<q<=r -> p÷r <= p÷q.
Lemma quot_add : forall a b c, c~=0 -> 0 <= (a+b*c)*a ->
(a + b * c) ÷ c == a ÷ c + b.
Lemma quot_add_l: forall a b c, b~=0 -> 0 <= (a*b+c)*c ->
(a * b + c) ÷ b == a + c ÷ b.