> < ^ From:

> ^ Subject:

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?

Derek Holt.

gap> a:=AbstractGenerator("a");

a

gap> G:=Group(a,a^-1);

Group( a, a^-1 )

gap> G.relators:=[a^3];

[ a^3 ]

gap> Size(G);

Error, the coset enumeration has defined more than 64000 cosets:

etc.

gap> Add(G.relators,a*a^-1);

gap> G.relators;

[ a^3, IdWord ]

gap> Size(G);

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

main loop

brk>

Comments:

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.

> < [top]