Dear Edwin, dear GAP Forum You can attempt to solve problems like this using the kbmag package (which needs to be compiled). I would guess that it is also possible to do so using the built-in GAP Knuth-Bendix rewriting system functionality, but I will leave someone else to help with that, since I am not so familiar with it.
In this example, we are fortunate and, although the group is infinite, we get a finite confluent rewriting system (with 1734 rewrite rules), which we can use to solve the word problem. In most examples of infinite groups defined by a finite presentation, you do not get a finite confluent rewriting system (although you still may be able to find an automatic structure), but you can still use the rewrite rules to attempt to prove that eleemnts are equal to the identity. In this situation, you cannot in general prove that an element is not equal to the identity, but you can verify that it is. Here are the commands need for this calcualtion using kbmag. LoadPackage("kbmag"); f:=FreeGroup(5);; rel:=[(f.(5)*f.(1))^5];; for i in [1..4] do Add(rel,(f.(i)*f.(i+1))*(f.(5)*f.(1))^(-1)); od; g:=f/rel;; R:=KBMAGRewritingSystem(g);; MakeConfluent(R); #true F:=FreeStructureOfRewritingSystem(R);; u := GeneratorsOfGroup(F);; ReducedWord(R, (u[5]*u[1])^5); #<identity ...> ReducedWord(R, u[1]^5*u[2]*u[4]*u[1]*u[3]*u[5]); # <identity ...> Good luck! Derek Holt. On Thu, Apr 28, 2016 at 03:01:13PM -0400, W. Edwin Clark wrote: > I am trying to use GAP to establish equality of two words in a finitely > presented group and am having problems. > > First here is a successful test case: > > f:=FreeGroup(5);; > rel:=[(f.(5)*f.(1))^5];; > g:=f/rel;; > u:=GeneratorsOfGroup(g);; > (u[5]*u[1])^5 = Identity(g); #testing this identity which is actually a > given relation works successfully > > true > > But if I add some more relators to rel, I cannot even get > equality to the identity of the first relator. Here's what I tried: > > f:=FreeGroup(5);; > rel:=[(f.(5)*f.(1))^5];; > for i in [1..4] do > Add(rel,(f.(i)*f.(i+1))*(f.(5)*f.(1))^(-1)); > od; > rel;; > g:=f/rel;; > u:=GeneratorsOfGroup(g); > > (u[5]*u[1])^5 = Identity(g); #I gave up waiting for an answer > > Why is this so difficult? > > What I really want in this group is to show that > > u[1]^5*u[2]*u[4]*u[1]*u[3]*u[5] = Identity(g) > > Any help would be appreciated. > > --Edwin Clark > _______________________________________________ > Forum mailing list > Forum@mail.gap-system.org > http://mail.gap-system.org/mailman/listinfo/forum _______________________________________________ Forum mailing list Forum@mail.gap-system.org http://mail.gap-system.org/mailman/listinfo/forum