Definition zmodule (M : Type) : Type := M.Local Notation "M ^z" := (zmodule M) (at level 2, format "M ^z") : type_scope.Fact mulrzA_C m n x : (x *~ n) *~ m = x *~ (m * n).Fact mulrzAC m n x : (x *~ n) *~ m = (x *~ m) *~ n.Fact mulr1z (x : M) : x *~ 1 = x.Canonical Mint_LmodType := LmodType int M^z Mint_LmodMixin.

Lemma mulrNz x n : x *~ (- n) = - (x *~ n).