## `Cat::AbelianSemiGroup` -- the category of abelian semi-groups

#### Introduction

`Cat::AbelianSemiGroup` represents the category of abelian semi-groups.

#### Generating the category

`Cat::AbelianSemiGroup()`

#### Categories

`Cat::BaseCategory`

#### Details

- `Cat::AbelianSemiGroup` represents the category of abelian semi-groups where the operation is written as addition. Hence an `Cat::AbelianSemiGroup` is a set with an associative and commutative operation `+` (`_plus`).
- Note that non-abelian semi-groups with operation `*` have category `Cat::SemiGroup`.

#### Method _plus: returns the sum of its arguments

- `_plus(dom x...)`
- - Must return the sum of its arguments.

#### Method intmult: returns integer multiple

- `intmult(dom x, Type::PosInt n)`
- - Returns the `n`-fold sum of `x`. This method is implemented like ``repeated squaring'' using the domains method `"_plus"`.

#### Changes

- no changes

Do you have questions or comments?
Copyright © SciFace Software GmbH & Co. KG 2000