"Source: Text/Group/GrpFP.text";
"Line: 4964";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Group/GrpFP.text, line: 4964
// Example: H80E37 ()
print "Example: H80E37";
ei := GetEchoInput();
SetEchoInput(true);
function DerSub(G)
/* Initially define S to contain the commutator of each pair of distinct
 generators of G */
    S := { (x,y) : x, y in Generators(G) | (x,y) ne Id(G) };
/* successively extend S until it is closed under conjugation by the
  generators of G */
        repeat
            V := CosetSpace(G, sub<G | S>);
            E := ExcludedConjugates(V);
            S := S join E;
        until # E eq 0;
    return sub<G | S>;
end function; 
SetEchoInput(ei);
