Identity( sg )
An element i of a semigroup (S,cdot) is called an identity if/f forall s in S: s cdot i = i cdot s = s. Since for two identities, i,j: i = i cdot j = j, an identity is unique if it exists.
The function Identity returns a list containing as single entry the
identity of the semigroup sg
if it exists or the empty list [ ] otherwise.
gap> Identity( s );
[ ]
gap> tr1 := Transformation( [1..3], [1,1,1] );
Transformation( [ 1, 2, 3 ], [ 1, 1, 1 ] )
gap> tr2 := Transformation( [1..3], [1,2,2] );
Transformation( [ 1, 2, 3 ], [ 1, 2, 2 ] )
gap> sg := TransformationSemigroup( tr1, tr2 );
TransformationSemigroup( Transformation( [ 1, 2, 3 ],
[ 1, 1, 1 ] ), Transformation( [ 1, 2, 3 ], [ 1, 2, 2 ] ) )
gap> Elements( sg );
[ Transformation( [ 1, 2, 3 ], [ 1, 1, 1 ] ),
Transformation( [ 1, 2, 3 ], [ 1, 2, 2 ] ) ]
gap> Identity( sg );
[ Transformation( [ 1, 2, 3 ], [ 1, 2, 2 ] ) ]
The last example shows that the identity element of a transformation semigroup on a set X needs not necessarily be the identity transformation on X.
GAP 3.4.4