[GAP Forum] Knuth Bendix
Inneke Van Gelder
ivgelder at vub.ac.be
Sat Dec 8 17:59:01 GMT 2007
Dear Gap-Forum,
I have a problem with the Knuth Bendix algorithm. When I do the following
gap> S:=FreeMonoid(2);
<free monoid on the generators [ m1, m2 ]>
gap> S:=FreeMonoid(3);
<free monoid on the generators [ m1, m2, m3 ]>
gap> Gen:=GeneratorsOfMonoid(S);
[ m1, m2, m3 ]
gap>
Rel:=[[Gen[1]*Gen[2],Gen[2]*Gen[3]],[Gen[2]*Gen[1],Gen[3]*Gen[2]],[Gen[1]*Ge
n[3],Gen[3]*Gen[1]]];
[ [ m1*m2, m2*m3 ], [ m2*m1, m3*m2 ], [ m1*m3, m3*m1 ] ]
gap> S:=S/Rel;
<fp monoid on the generators [ m1, m2, m3 ]>
gap> Gen:=GeneratorsOfMonoid(S);
[ m1, m2, m3 ]
gap> Gen[1]*Gen[3]=Gen[3]*Gen[1];
user interrupt at
k := k + 1;
called from
KBOverlaps( i[1], i[2], kbrws, p ) called from
KB_REW.MakeKnuthBendixRewritingSystemConfluent( rws ); called from
MakeKnuthBendixRewritingSystemConfluent( kbrws ); called from
MakeConfluent( kbrws ); called from
ReducedConfluentRewritingSystem( M, wordord ) called from
...
Entering break read-eval-print loop ...
you can 'quit;' to quit to outer loop, or
you can 'return;' to continue
Then I'm dealing with an infinitely loop. But when I take the relations
[[Gen[1]*Gen[2],Gen[2]*Gen[1]],[Gen[1]*Gen[3],Gen[2]*Gen[3]],[Gen[2]*Gen[3],
Gen[3]*Gen[2]]]
I have no problem, although this is isomorphic with the other one.
Is there a way to avoid this for some specific monoids?
Thanks for helping,
Best regards,
Inneke
More information about the Forum
mailing list