![[MONOiD]](monoid.png)
In addition to the usual components of an H class record, the record
representing the H class hClass of s in a transformation monoid can
have the following components. They are created by the function
SchutzenbergerGroup (see SchutzenbergerGroup) which is called
whenever the size, the list of elements of hClass, or a membership test
in hClass is asked for.
schutzenbergerGroup:
R:hClass.representative.
L:hClass.representative.
The following functions have a special implementation in terms of these
components.
Size( hClass )
returns the size of the H class hClass. This function calls
SchutzenbergerGroup and determines the size of hClass as the size of
the resulting group.
Elements( hClass )
returns the set of elements of the H class hClass. This function calls
SchutzenbergerGroup and determines the set of elements of hClass as
the set of elements of the resulting group multiplied by the
representative of hClass.
x in hClass
returns true if x is an element of the H class hClass and false
otherwise. This function calls SchutzenbergerGroup and tests whether
the quotient of the representative of hClass and x (see
PermLeftQuoTrans) is in the resulting group.