# IMPARTIAL AVOIDANCE GAMES FOR GENERATING FINITE GROUPS

by B.J. Benesh, D.C. Ernst, N. Sieben

# Companion web site

## GAP code (tested using Version 4.7.7)

GAP function to check if all maximal subgroups are even:

```allEvenMaximals:=function(G)
return ForAll(MaximalSubgroupClassReps(G),M->(0=Order(M) mod 2));
end;
```

GAP function to check if the even maximal subgroups cover the group:

```evenMaximalsCover:=function(G)
local EE,g,cl;
EE:=Filtered(MaximalSubgroups(G),S -> 0=(Order(S) mod 2));
cl:=List(ConjugacyClasses(G),Representative);
for g in cl do
if not ForAny(EE,E -> (g in E) ) then
return false;
fi;
od;
return true;
end;
```

GAP function to compute the nim-number of DNG():

```nim:=function(G)
local F, GF;
if Order(G)=2 then
return 1;
fi;
if 1=(Order(G) mod 2) then
return 1;
fi;
if allEvenMaximals(G) then
return 0;
fi;
F:=FrattiniSubgroup(G);
if 0=(Order(F) mod 2) then
return 0;
fi;
GF:=FactorGroup(G,F);
if evenMaximalsCover(GF) then
return 0;
fi;
return 3;
end;
```

Definitions for the Rubik's cubes:

```2cube := Group(
( 1, 3, 8, 6)( 9,33,25,17)(11,35,27,19),
( 9,11,16,14)( 1,17,41,40)( 6,22,46,35),
(17,19,24,22)( 6,25,43,16)( 8,30,41,11)
);

3cube := Group(
( 1, 3, 8, 6)( 2, 5, 7, 4)( 9,33,25,17)(10,34,26,18)(11,35,27,19),
( 9,11,16,14)(10,13,15,12)( 1,17,41,40)( 4,20,44,37)( 6,22,46,35),
(17,19,24,22)(18,21,23,20)( 6,25,43,16)( 7,28,42,13)( 8,30,41,11),
(25,27,32,30)(26,29,31,28)( 3,38,43,19)( 5,36,45,21)( 8,33,48,24),
(33,35,40,38)(34,37,39,36)( 3, 9,46,32)( 2,12,47,29)( 1,14,48,27),
(41,43,48,46)(42,45,47,44)(14,22,30,38)(15,23,31,39)(16,24,32,40)
);
```