"Source: Text/Group/GrpFP.text";
"Line: 11345";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Group/GrpFP.text, line: 11345
// Example: H80E91 ()
print "Example: H80E91";
ei := GetEchoInput();
SetEchoInput(true);
Left := func< b, r | r - b >;
Right := func< d, e | d^2 div 2 - d div 2 - d - e + 
                      (e + d div 2 - d^2 div 4)*(d div 2) >;


F< x1,x2,x3,x4,x5,x6,x7,x8,x9 > := 
 	FPGroup< x1, x2, x3, x4, x5, x6, x7, x8, x9 | 
             x1*x2=x3, x2*x3=x4, x3*x4=x5, x4*x5=x6, x5*x6=x7, 
             x6*x7=x8, x7*x8=x9, x8*x9=x1, x9*x1=x2 >;
F;
AbelianQuotientInvariants(F);
Q1 := pQuotient(F, 2, 0: Print := 1);
Q2 := pQuotient(F, 19, 0: Print := 1);
G := Simplify(F);
G;
H := ncl< G | (G.1, G.2) >;
H;
H := ncl< G | (G.1*G.1, G.2) >;
H;
AbelianQuotientInvariants(H);
K := Rewrite(G, H: Simplify := false);
KP := pQuotientProcess(K, 5, 1);
d := FactoredOrder(ExtractGroup(KP))[1][2];
NextClass(~KP);
e := FactoredOrder(ExtractGroup(KP))[1][2] - d;
"D = ", d, "e = ", e;
"Right hand side = ", Right(d, e);
"Left hand side = ", Left(Ngens(K), #Relations(K));
K := Simplify(K: Iterations := 1);
"Left hand side = ", Left(Ngens(K), #Relations(K));
K := Simplify(K: Iterations := 1);
"Left hand side = ", Left(Ngens(K), #Relations(K));
SetEchoInput(ei);
