(** Similarly, the following result doesn't always hold when [b<0]. For instance [3 mod (-2*-2)) = 3] while [3 mod (-2) + (-2)*((3/-2) mod -2) = -1]. *)

(* Specifications: *)
Lemma mod_mul_r : forall a b c, 0<b -> c~=0 ->
a mod (b*c) == a mod b + b*((a/b) mod c).
Lemma mod_div: forall a b, b~=0 ->
a mod b / b == 0.