I have been trying to figure out a convenient way to convert a group
presentation into a monoid presentation in GAP (so that inverses can
be regarded as separate generators). The session below demonstrates that
things can go wrong when you do unexpected things - not surprising really?
Group( a, a^-1 )
[ a^3 ]
Error, the coset enumeration has defined more than 64000 cosets:
[ a^3, IdWord ]
Error, Subword: illegal <from> value at
while LengthWord( rel ^ Subword( rel, 1, 1 ) ) < LengthWord( rel ) ... in
RelatorRepresentatives( G.relators ) called from
RelsSortedByStartGen( G, table ) called from
AugmentedCosetTableMtc( G, H, -1, "_x" ) called from
D.operations.Size( D ) called from
Size( G ) called from
1) I suspect "a^-1" should not be allowed as a parameter to Group(..).
2) The fp-group functions clearly don't like having the empty word as
a relator. One might reasonably call that a bug.