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