Juergen Ecker wrote:
it seems to me that the function PositionWord does not always
work correctly. The following looks quite strange to me, but maybe I
do not expect the right thing.
the problem is 'AbstractGenerators' which was only introduced to
support the prime quotient algorithm 'PrimeQuotient'. This algorithm
requires a different data structure of words than the one supplied by
'AbstractGenerator'. The problem can be fixed by patching and
recompiling the kernel but a much better solution is to use
'FreeGroup' instead. Because of the problems caused by generators
which are not bound to a group we want to get rid of
'AbstractGenerator' and 'AbstractGenerators' eventually.
There is a slight problem if you need to create generators on the fly
(e.g. in a quotient algorithm of some sort). In this case you can
simply use something like
gap> List( [1..n], x -> AbstractGenerator(Concatenation("a",String(x))) );
While it is possible to patch the kernel we want to avoid this because
it would require everyone to recompile. You could also put in the
above line as new definition for 'AbstractGenerators' but unless it is
absolutely necessary you should use 'FreeGroup'.