LibrarySemigroup( size, num )  
The semigroup library contains all semigroups of sizes 1 up to 5,
classified into classes of isomorphic semigroups.
LibrarySemigroup retrieves a representative of an isomorphism class 
from the semigroup library and returns it as a transformation semigroup.
The parameters of LibrarySemigroup are two positive integers: 
size must be in {1,2,3,4,5} and indicates the size of the semigroup 
to be retrieved, num indicates the number of an isomorphism class.
gap> ls := LibrarySemigroup( 4, 123 ); TransformationSemigroup( Transformation( [ 1, 2, 3, 4 ], [ 1, 1, 3, 3 ] ), Transformation( [ 1, 2, 3, 4 ], [ 1, 2, 3, 4 ] ), Transformation( [ 1, 2, 3, 4 ], [ 1, 3, 3, 1 ] ), Transformation( [ 1, 2, 3, 4 ], [ 1, 4, 3, 2 ] ) ) gap> DisplayCayleyTable( ls ); Let: s0 := Transformation( [ 1, 2, 3, 4 ], [ 1, 1, 3, 3 ] ) s1 := Transformation( [ 1, 2, 3, 4 ], [ 1, 2, 3, 4 ] ) s2 := Transformation( [ 1, 2, 3, 4 ], [ 1, 3, 3, 1 ] ) s3 := Transformation( [ 1, 2, 3, 4 ], [ 1, 4, 3, 2 ] )tt*
|  s0 s1 s2 s3 
   ------------------
    s0 tt | s0 s0 s0 s0 
    s1 tt | s0 s1 s2 s3 
    s2 tt | s2 s2 s2 s2 
    s3 tt |s2 s3 s0 s1
GAP 3.4.4