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