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