/* O8+(2):2 presented on its standard generators. */ G:=Group; H:=sub; // H centralises x. // Maximal subgroups. M1:=sub; M2:=sub; M3:=sub; M4:=sub; M5:=sub; M7:=sub; M8:=sub; M9:=sub; // O8+(2), 2xS6(2), 2^6:S8, S9, S3xU4(2):2, [2^10]:L3(2), S3 wr S4, S5 wr 2. M6:=sub; // 2^{1+8}.(S3xS3xS3).2. // M6/M6'=2^3, so M6 needs 3 generators. This copy centralises (x*y^3)^12. // Semi-maximal subgroups. K1:=sub; K2:=sub; K3:=sub; K4:=sub; K5:=sub; // S6(2), 2^6:A8, A9, (3xU4(2)):2, (A5xA5).2^2. // Only proper overgroup of the above groups is O8+(2). /* Demonstration of correctness. Without R1 and R2. Relations x^2=y^10=(x*y^3*x*y^4)^7=1 force the conjugates of x to generate G. These relations also show that G' has index (at most) 2 in G. Subgroup H `visibly' centralises x. Coset enumeration establishes that H has index 120 in G, the same as what we expect in the known image O8+(2):2. So now we have G = C.O8+(2):2. is a proper Schur cover of O8+(2):2. The only possibilites are C = 1 or 2. The case C=2 is ruled out as [the preimage of] y must have order 20 in 2"O8+(2):2. The following (without R1 and R2) should work. Index(G,H:Print:=2,Hard:=true,CosetLimit:=10^5); Index(G,M1:Print:=2,Hard:=true,CosetLimit:=10^4); Index(G,M2:Print:=2,Hard:=true,CosetLimit:=10^4); Index(G,M3:Print:=2,Hard:=true,Grain:=30000,CosetLimit:=10^5); Index(G,M4:Print:=2,Hard:=true,Grain:=10^6,CosetLimit:=18*10^6); Index(G,M5:Print:=2,Hard:=true,CosetLimit:=10^4); Index(G,M9:Print:=2,Hard:=true,Grain:=10^6,CosetLimit:=30*10^6); Index(G,K1:Print:=2,Hard:=true,Grain:=10^6,CosetLimit:=5*10^6); Index(G,K2:Print:=2,Hard:=true,Grain:=10^6,CosetLimit:=7*10^6); Index(G,K3:Print:=2,Hard:=true,Grain:=10^6,CosetLimit:=87*10^6); Index(G,K4:Print:=2,Hard:=true,Grain:=10^6,CosetLimit:=5*10^6); We have not managed to get the enumerations over M6, M7, M8 and K5 to work yet. [We have tried 100*10^6 cosets for each of these subgroups.] With R2 added the following should work to establish the order. 10*Index(G,sub:Print:=2,Hard:=true,Grain:=10^6,CosetLimit:=50*10^6); The following (with R2, but not R1) also work. Index(G,H:Print:=2,Hard:=true,CosetLimit:=10^4); Index(G,M1:Print:=2,Hard:=true,CosetLimit:=10^4); Index(G,M2:Print:=2,Hard:=true,CosetLimit:=10^4); Index(G,M3:Print:=2,Hard:=true,CosetLimit:=10^4); Index(G,M4:Print:=2,Hard:=true,CosetLimit:=10^4); Index(G,M5:Print:=2,Hard:=true,CosetLimit:=10^4); Index(G,M6:Print:=2,Hard:=true,Grain:=10^5,CosetLimit:=3*10^5); Index(G,M7:Print:=2,Hard:=true,CosetLimit:=10^4); Index(G,M8:Print:=2,Hard:=true,Grain:=30000,CosetLimit:=10^5); Index(G,M9:Print:=2,Hard:=true,CosetLimit:=10^5); Index(G,K1:Print:=2,Hard:=true,CosetLimit:=10^4); Index(G,K2:Print:=2,Hard:=true,CosetLimit:=10^4); Index(G,K3:Print:=2,Hard:=true,CosetLimit:=10^4); Index(G,K4:Print:=2,Hard:=true,CosetLimit:=10^4); Index(G,K5:Print:=2,Hard:=true,CosetLimit:=10^5); */