![[MONOiD]](monoid.png)
Like other domains semigroups and monoids are represented by records.
While it is possible to construct such a record by hand it is preferable
to have the functions SemiGroup (see SemiGroup) or Monoid (see
Monoid) do this for you.
After such a record is created one can add record components. But you may not alter the values of components which are already present.
A semigroup or monoid record has the following category components.
isDomain:true since a monoid or a semigroup is a domain.
isSemiGroup:true for semigroups.
isMonoid:true for monoids.
The following components are the identification components of a semigroup
or monoid record.
generators:
identity:Other components which contain information about the semigroup or monoid may be present.
size:
elements: