Transformation Semigroups are implemented as records. Such a transformation semigroup record has the following components:
isDomain, isSemigroup:true for a transformation semigroup.
isTransformationSemigroup:true only for transformation semigroups.
generators:
multiplication:
gap> elms := Elements( s );
[ Transformation( [ 1, 2, 3 ], [ 1, 1, 1 ] ),
Transformation( [ 1, 2, 3 ], [ 1, 1, 2 ] ),
Transformation( [ 1, 2, 3 ], [ 1, 2, 2 ] ),
Transformation( [ 1, 2, 3 ], [ 2, 2, 2 ] ),
Transformation( [ 1, 2, 3 ], [ 2, 2, 3 ] ),
Transformation( [ 1, 2, 3 ], [ 2, 3, 3 ] ),
Transformation( [ 1, 2, 3 ], [ 3, 3, 3 ] ) ]
gap> s.multiplication( elms[5], elms[2] );
Transformation( [ 1, 2, 3 ], [ 1, 1, 2 ] )
operations:
size, elements, rank, smallestIdeal,
IsFinite, identity:
GreenL, GreenR, GreenD,
GreenJ, GreenH:GAP 3.4.4