In addition to the usual components of an R class record, the record
representing the R class `rClass` 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 `rClass`, or a membership test
in `rClass` is asked for.

`schutzenbergerGroup`

:

set to the Schaccent127utzenberger group of`rClass`as a permutation group on the set of images of SchutzenbergerGroup for Transformation Monoids).`images`

:

is the list of different image sets occurring in the R class`rClass`. The first entry in this list is the image set of

.`rClass`.representative`rMults`

:

is a list of permutations such that the product of the representative of`rClass`and the inverse of the*i*th entry in the list yields an element of`rClass`whose image set is the*i*th entry in the list

.`rClass`.images

The following functions have a special implementation in terms of these components.

`Size( `

`rClass` )

returns the size of the R class `rClass`. This function calls
`SchutzenbergerGroup`

and determines the size of `rClass` as the size of
the resulting group times the length of the list

.
`rClass`.images

`Elements( `

`rClass` )

returns the set of elements of the R class `rClass`. This function calls
`SchutzenbergerGroup`

and determines the set of elements of `rClass` as
the set of elements of the resulting group multiplied by the
representative of `rClass` and each single permutation in the list

.
`rClass`.rMults

`x` in `rClass`

returns `true`

if `x` is an element of the R class `rClass` and `false`

otherwise. This function calls `SchutzenbergerGroup`

and tests whether
the quotient of the representative of `rClass` and

(see PermLeftQuoTrans) is in the resulting group
where `x` *
`rClass`.rMults[`i`]`i` is the position of the image set of `x` in

.
`rClass`.images

`HClasses( `

`rClass` )

returns the list of H classes contained in the R class `rClass`.