[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