(** For a specific number N, equality modulo N is hence a nice setoid equivalence, compatible with [+], [-] and [*]. *)
Variable N:Z.
Definition eqm a b := (a mod N = b mod N).
Infix "==" := eqm (at level 70).

(* Specifications: *)
Lemma eqm_refl : forall a, a == a.
Instance Zplus_eqm : Proper (eqm ==> eqm ==> eqm) Z.add.