#[global]
Instance eq_equiv : Equivalence Z.eq.#[global]
Instance pair_wd : Proper (N.eq==>N.eq==>Z.eq) (@pair N.t N.t).#[global]
Instance succ_wd : Proper (Z.eq ==> Z.eq) Z.succ.#[global]
Instance pred_wd : Proper (Z.eq ==> Z.eq) Z.pred.#[global]
Instance add_wd : Proper (Z.eq ==> Z.eq ==> Z.eq) Z.add.#[global]
Instance opp_wd : Proper (Z.eq ==> Z.eq) Z.opp.#[global]
Instance sub_wd : Proper (Z.eq ==> Z.eq ==> Z.eq) Z.sub.

(* Specifications: *)
Lemma mul_comm : forall n m, n*m == m*n.