Part 3 of 6. Life's rule counts live neighbours, so it commutes with the eight symmetries of the square. A board can gain symmetry as it runs, but the rule never takes any away.
Parts 1 and 2 covered the lattice and the time step; this part puts a rule on the lattice. Conway's Game of Life, introduced in Martin Gardner's Scientific American column in October 1970, lives on ℤ². Every cell is dead or alive, and all cells update at once from the number of live cells among their eight Moore neighbours:
The question is what this rule inherits from the square lattice's point group D4, the four rotations and four mirrors of a square that Part 1 derived.
Write f for one step of the rule. It commutes with a symmetry g when transforming the board and then stepping gives the same board as stepping first:
Because the rule only sees a count, this comes down to the stencil, the set of neighbours being counted: f commutes with g exactly when g carries the stencil onto itself. The Moore neighbourhood is closed under all of D4, so Life commutes with every element. Figure 1 checks this by brute force for any stencil. Its default drops two opposite corners, which is how the six neighbours of a hexagonal lattice look when stored in square coordinates (the shear of Part 1).
Figure 1. A seeded 32×32 soup run two ways for each g: step g·x, or step x and then apply g. Each cell shades generation t by how many cells of the two boards differ; violet is exact agreement. The rows that stay violet match the stencil's own symmetries, which the readout finds from the stencil alone. Click or tab into the stencil to toggle neighbours.
The stabiliser of a board is the subgroup that fixes it, Gx = {g ∈ D4 : g·x = x}. If g·x = x, then g·f(x) = f(g·x) = f(x), so whatever fixed one board fixes the next:
The same argument works up to translation, because Life also commutes with shifts. The detector in Figure 2 uses that version: g is in the stabiliser if g·x equals x shifted somewhere on the torus, so a pattern's symmetry counts wherever its centre sits.
Figure 2. Life on a 32×32 torus, started from a seeded soup with four-fold rotational symmetry in the central 16×16 patch. The strip plots the stabiliser's order each generation; under the rule it holds or steps up. Drop glider adds five cells the rule did not put there, and the strip falls at that generation (marked). Ship seed has only a half turn and gains two diagonal mirrors on its first step. Each soup button draws the next seed.
The orbit shows the same thing from the other side. Applying all eight elements gives the images g·x, and the number of distinct ones times the stabiliser's order is the order of the group:
Figure 3. The eight images g·x of the board in Figure 2, following it as it runs. Images equal to the board up to translation are ringed; their g is in the stabiliser. Since the rule commutes with every g, all eight panels are themselves Life boards stepping in lockstep.
An oscillator or spaceship can have symmetry that no single frame shows: g may carry one phase onto a later one. A blinker's row and column each have two mirrors and a half turn, and the quarter turn carries the row onto the column, which is the next phase. A glider has no symmetry in any of its four phases, yet Figure 4 finds a mirror that carries phase 0 onto phase 2.
Figure 4. Columns are the phases of one period, found by stepping until the pattern recurs up to translation. Rows apply each element of D4 to phase 0 (thumbnail at left), and a dot marks the phase it equals up to translation. The first column is the stabiliser of phase 0; every dot to its right is a symmetry that only exists in time. For the glider and the lightweight spaceship (LWSS) that symmetry is a mirror along the direction of travel combined with a shift, a glide reflection.
Figure 5 starts forty soups with each kind of symmetry and records the stabiliser after 300 generations, placed on the diagram of D4's subgroups. Under Life's stencil no arrow points down, and roughly a third of the soups climb, about half of those by dying out (an empty board has all eight symmetries). Switch to the hexagonal stencil from Figure 1 and arrows point down, mostly to the part of each start group that the stencil keeps.
Figure 5. Seeded soups in a 12×12 patch centred on a 24×24 torus, forty per starting group. Grey lines join each subgroup to those it contains, larger groups higher; arrows run from starting to final group, width by count, and the fraction beside each node is how many stayed. Subgroups related by a quarter turn are merged; the two D2's, with mirrors on the axes or on the diagonals, are not.
A soup with no symmetry has none to lose, so the theorem says nothing about where it ends. Figure 6 runs 120 of them for 600 generations, splits each final board into 8-connected objects and tests every object.
Figure 6. Stabilisers of the objects left after 600 generations of seeded 32×32 soups at density 0.38, as a share of all objects, with the commonest shapes in each class and their counts. An object is whatever is 8-connected when the run stops, so two touching objects count as one and a glider in flight counts as C1.
Objects are mostly symmetric: about three in four have a stabiliser of order 4 or 8, mostly blocks and blinkers, and roughly one in seven has none. Whole boards almost never are, because a few dozen objects scattered at random do not share a centre.
Only when something outside the rule acts. A square box with dead walls still commutes with the eight symmetries about its own centre, but not with shifts, so a pattern symmetric about some other point can lose that symmetry when it reaches a wall; a square torus commutes with both. Cells added by hand, like the dropped glider, have whatever shape they have. A randomised rule keeps the symmetry of the probability distribution but not of each run. And a rule that counts neighbours unevenly, like the hexagonal stencil, never had the symmetry to keep. The same test applies to lattice gases, where Part 4 asks something harder: whether the lattice's point group is large enough for the gas to flow like an isotropic fluid. On the square lattice it is not.