![[MONOiD]](monoid.png)
In addition to the usual components of an L class record, the record
representing the L class lClass 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 lClass, or a membership test
in lClass is asked for.
schutzenbergerGroup:kernels:rClass.representative.
lMults:rClass.kernels.
The following functions have a special implementation in terms of these components.
Size( lClass )
returns the size of the L class lClass. This function calls
SchutzenbergerGroup and determines the size of lClass as the size of
the resulting group times the length of the list lClass.kernels.
Elements( lClass )
returns the set of elements of the L class lClass. This function calls
SchutzenbergerGroup and determines the set of elements of lClass as
the set of elements of the resulting group premultiplied by the
representative of lClass and each single binary relation in the list
lClass.lMults.
x in lClass
returns true if x is an element of the L class lClass and false
otherwise. This function calls SchutzenbergerGroup and tests whether
the quotient of the representative of lClass and lClass.lMults[i]
* x (see PermLeftQuoTrans) is in the resulting group where i is
the position of the kernel of x in lClass.kernels.
HClasses( lClass )
returns the list of H classes contained in the L class lClass.
Version 2.4 (May 1998)