Cat::AbelianMonoid -- the
category of abelian monoids
IntroductionCat::AbelianMonoid represents an abelian monoid.
Generating
the categoryCat::AbelianMonoid()
Cat::AbelianSemiGroup
DetailsCat::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.