Cat::AbelianMonoid
-- the
category of abelian monoidsCat::AbelianMonoid
represents an abelian monoid.
Cat::AbelianMonoid()
Cat::AbelianSemiGroup
Cat::AbelianMonoid
is an abelian semi-group with a
neutral element dom::zero
according to the operation
+
(_plus
).Ax::normalRep
to state that zero is
always represented in a unique way (i.e. canonically).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.Must hold the neutral Element according to the operation
+
.
intmult(dom x, Type::NonNegInt n)
dom::zero
if n
is 0 and the
n
-fold sum of x
if n
is
positive. This method is implemented like ``repeated squaring'' using
the domains method "_plus"
.iszero(dom x)
TRUE
if x
is equal to zero. This
implementation uses the method "equal"
to compare
x
with dom::zero
.