"Source: Text/Group/GrpFP.text";
"Line: 5882";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Group/GrpFP.text, line: 5882
// Example: H80E47 ()
print "Example: H80E47";
ei := GetEchoInput();
SetEchoInput(true);
function MyIsInfinite(G)

 // ...

 // Low index subgroup approach: check whether an obviously
 //    infinite subgroup can be found in reasonable time.
 P := LowIndexProcess(G, 30 : TimeLimit := 5);
 while IsValid(P) and not IsEmpty(P) do
    H := ExtractGroup(P);
    NextSubgroup(~P); 
    if 0 in AbelianQuotientInvariants(H) then
       print "The group G has subgroup:-", H;
       print "whose abelian quotient is infinite";
       print "Hence G is infinite.";
       return true;
    end if;
 end while;
 print "Low index approach fails; trying other methods...";

 // ...

end function;
G<x, z> := FPGroup<x,z | z^3*x*z^3*x^-1, z^5*x^2*z^2*x^2 >;
MyIsInfinite(G);
SetEchoInput(ei);
