(** Modulo and remainder are null at the same place, and this correspond to the divisibility relation. *)

(* Specifications: *)
Lemma mod_divide : forall a b, b~=0 -> (a mod b == 0 <-> (b|a)).
Lemma rem_divide : forall a b, b~=0 -> (a rem b == 0 <-> (b|a)).
Lemma rem_mod_eq_0 : forall a b, b~=0 -> (a rem b == 0 <-> a mod b == 0).
(** When division is exact, div and quot agree *)
Lemma quot_div_exact : forall a b, b~=0 -> (b|a) -> a÷b == a/b.
Lemma divide_div_mul_exact : forall a b c, b~=0 -> (b|a) ->
(c*a)/b == c*(a/b).
Lemma divide_quot_mul_exact : forall a b c, b~=0 -> (b|a) ->
(c*a)÷b == c*(a÷b).