50.3 Preimages in the Free Semigroup

  • FreeSemigroupOfFpSemigroup( T ) A

    returns the underlying free semigroup for the finitely presented semigroup T, ie, the free semigroup over which T is defined as a quotient (this is the free semigroup generated by the free generators provided by FreeGeneratorsOfFpSemigroup(T)).

  • FreeGeneratorsOfFpSemigroup( T ) A

    returns the underlying free generators corresponding to the generators of the finitely presented semigroup T.

  • RelationsOfFpSemigroup( S ) A

    returns the relations of the finitely presented semigroup S as pairs of words in the free generators provided by FreeGeneratorsOfFpSemigroup(S).

    gap> f := FreeSemigroup( "a" , "b" );;
    gap> a := GeneratorsOfSemigroup( f )[ 1 ];;
    gap> b := GeneratorsOfSemigroup( f )[ 2 ];;
    gap> s := f / [ [ a^3 , a ] , [ b^3 , b ] , [ a*b , b*a ] ];             
    <fp semigroup on the generators [ a, b ]>
    gap> Size( s );
    8
    gap> FreeSemigroupOfFpSemigroup( s ) = f;
    true
    gap> FreeGeneratorsOfFpSemigroup( s );
    [ a, b ]
    gap> RelationsOfFpSemigroup( s );
    [ [ a^3, a ], [ b^3, b ], [ a*b, b*a ] ]
    

    Elements of a finitely presented semigroup are not words, but are represented using a word from the free semigroup as representative.

  • UnderlyingElement( elm )

    If elm is an element of a finitely presented semigroup, it returns the word from the free semigroup that is used as a representative for elm.

    gap> w := GeneratorsOfSemigroup(s)[1] * GeneratorsOfSemigroup(s)[2];
    a*b
    gap> IsWord (w );
    false
    gap> ue := UnderlyingElement( w ); 
    a*b
    gap> IsWord( ue );
    true
    

  • ElementOfFpSemigroup( fam, word ) O

    If fam is the elements family of a finitely presented semigroup and word is a word in the free generators underlying this finitely presented semigroup, this operation creates the element with the representative word in the free semigroup.

    gap> ge:=ElementOfFpSemigroup( FamilyObj( GeneratorsOfSemigroup(s)[1]), a*b ); 
    a*b
    gap> ge in f;
    false
    gap> ge in s;
    true
    

    [Top] [Previous] [Up] [Next] [Index]

    GAP 4 manual
    February 2000