Category of Abelian monoids
Cat::AbelianMonoid represents an Abelian monoid.
An Cat::AbelianMonoid is an Abelian semi-group with a neutral element dom::zero according to the operation + (_plus).
Use the axiom Ax::normalRep to state that zero is always represented in a unique way (i.e. canonically).
If an Abelian monoid has not the axion Ax::normalRep then dom::zero is only one possible representation of the neutral element. An Abelian semi-group must at least have the method "iszero" to test for zero in such a case.