"Source: Text/Group/GrpFP.text";
"Line: 4984";
"Date: Mon May 17 16:13:13 2021";
"Main: Thu May 25 10:02:38 2023";
// original file: Text/Group/GrpFP.text, line: 4984
// Example: H78E37 ()
print "Example: H78E37";
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);
