Having established transformations and being able to perform the associative 
operation composition (which in GAP is denoted as * with 
them, the next step is to consider transformation semigroups.
All functions described in this section are intended for finite
transformation semigroups, in particular transformation semigroups
on a finite set or group X.
A transformation semigroup is created by the constructor function 
Trans-for-ma-tion-Semi-group and it is represented by a record 
that contains all the information about the transformation semigroup. 
GAP 3.4.4