"Source: Text/Group/GrpCoh.text";
"Line: 1194";
"Date: Thu Sep 25 14:47:45 2025";
"Main: Fri Sep 26 14:29:19 2025";
// original file: Text/Group/GrpCoh.text, line: 1194
// Example: H75E18 ()
print "Example: H75E18";
ei := GetEchoInput();
SetEchoInput(true);
G := SL(5,2);
M := GModule(G);
CM := CohomologyModule(G,M);
time CohomologyGroup(CM,2);
E, rho := Extension(CM,[1]);
n := Ngens(E);
S := Stabiliser(G, sub<V|V.2,V.3,V.4,V.5>) where V := VectorSpace(G);  
H := Subgroups(S : OrderEqual:=21)[1]`subgroup;
EH1 := H.1 @@ rho;
EH2 := H.2 @@ rho;
cands := [ sub< E | [E.i : i in [n-3 .. n]], EH1, EH2 >,
           sub< E | [E.i : i in [n-3 .. n]], E.(n-4)*EH1, EH2 >,
           sub< E | [E.i : i in [n-3 .. n]], EH1, E.(n-4)*EH2 >,
           sub< E | [E.i : i in [n-3 .. n]], E.(n-4)*EH1, E.(n-4)*EH2 > ];
time for D in cands do
  ct := CosetTable(E, D : CosetLimit:=10^7, Hard:=true);
  if #ct eq 2 * Index(G,H) then
    "Got it!";
    break;
  end if;
end for;
P := CosetTableToPermutationGroup(E,ct);
Degree(P);
time P := DegreeReduction(P);
Degree(P);
SetEchoInput(ei);
