The Play Seam · a parlor game with a theorem inside it

Someone Always Crosses

Colour every cell of a Hex board however you like, by any rule or none, and exactly one player has a chain from their side to the far side. Never both. Never neither. There is no way to draw, and no way to try.

The board below is an 11×11 rhombus of hexagons, the size Piet Hein introduced in the Danish paper Politiken on 26 December 1942. Amber is trying to join the top edge to the bottom edge. Teal is trying to join the left edge to the right edge. Press the button. Every cell gets a colour by coin flip, with no thought given to anyone winning.

Amber: top ↔ bottom Teal: left ↔ right empty

 

You can also click a cell to cycle it empty → amber → teal. Go on: try to fill all 121 cells so that nobody crosses. The readout will tell you the moment somebody has, and it will always be somebody.

A thousand boards, no draws

One board proves nothing. So flood a thousand of them. The counter below fills an 11×11 board at random one thousand times, and for each board searches, explicitly and in both directions, for an amber top-to-bottom chain and a teal left-to-right chain. It reports how many boards had exactly one winner, how many had none, and how many had two.

not run yet

press "run the census"

Not a sample: every board

A census is still a sample. On small boards we can do better and check every complete colouring there is. A 4×4 board has 16 cells and therefore 216 = 65,536 complete colourings; together with the smaller sizes that is 66,066 boards, each one searched twice. The exhaustion runs in your browser when you press the button.

boardcellscolouringsexactly onedrawsboth winamber wins
not run yet

 

Why it happens is worth one paragraph before we do something with it. Look at the boundary between the amber region and the teal region on a filled board. Walk along it from the corner where the amber and teal edges meet, always keeping amber on your left and teal on your right. Because every interior vertex of a hexagon board touches exactly three cells, that walk is never ambiguous and never revisits itself, so it has to leave the board at another corner. Whichever corner it reaches, the amber cells you were touching the whole way, or the teal ones, form a chain across. Both at once is impossible, because an amber chain and a teal chain would have to cross, and on this board they cannot.

The dismissal

Here is the reasonable objection, and it is worth taking seriously: this is a pigeonhole fact about a grid. Cute, finite, combinatorial, of no consequence past the board it sits on. Two answers follow. The first is that this finite fact settles who wins the game without producing a single move. The second, which is the real one, is that this finite fact is the same theorem as the cornerstone of fixed-point topology.

Answer one: who wins, with no idea how

John Nash rediscovered the game independently at Princeton around 1948, and gave an argument that the first player has a winning strategy. It goes like this, and you can walk it on the board above.

  1. The game cannot be drawn: a filled board always has a winner, and a game played to the end fills the board. So Hex is a finite two-player game with no draws and perfect information, and by Zermelo's theorem one player has a winning strategy.
  2. Suppose it were the second player. Then the first player can steal it: play any opening move at all, then pretend to be the second player in the game that remains, and follow the second player's winning strategy.
  3. The stolen strategy sometimes tells you to play where your own stray opening stone already sits. Fine: play any other empty cell instead, and treat that as your new stray stone.
  4. This only works because in Hex an extra stone of your own colour is never a liability. It can complete a connection; it can never break one. (That is a property of Hex, not of games in general. In chess, being obliged to move can lose you the game.)
  5. So the first player would win, contradicting the assumption. Therefore the winner is the first player. Notice what the argument never did: it never named a move.

Step 4 is the load-bearing one, and it is checkable. On a 3×3 board we can enumerate every position that can occur, in both directions, and confirm that adding a friendly stone to any empty cell never converts a won position into a lost one. Press it and see the count. Step 5's conclusion is checkable too, by brute force, on boards small enough to exhaust: the solver below searches the full game tree and reports precisely which opening moves win.

not run yet

Solved boards are drawn above: a filled marker is an opening move that wins for the first player, a hollow one loses. Then play it yourself: you move second, the engine moves first and plays perfectly.

solve a board first

The board can be clicked, and the same move can be entered from the keyboard with the two fields above, so the game is playable without a pointer.

The result is exact and it is small. On 4×4 the first player wins, and the openings that win are precisely the four cells of the short diagonal. That is the whole answer for a sixteen-cell board, obtained by looking at every line of play. Now scale it. An 11×11 board has 121 cells. Nash's argument still proves the first player wins. It still names no move. Stefan Reisch proved in 1981 that deciding who wins an arbitrary Hex position is PSPACE-complete, which is the formal shape of the gap you just felt: knowing who does not hand you how.

Answer two: the board computes a fixed point

In 1979 David Gale published a short paper in the American Mathematical Monthly showing that the no-draw fact is not a curiosity about grids. It is equivalent to Brouwer's fixed-point theorem in two dimensions: each implies the other. (Gale's paper also gives an n-dimensional Hex and the corresponding n-dimensional equivalence. This page demonstrates the two-dimensional case only.)

Brouwer's theorem says: every continuous map f of a closed square into itself has a point it does not move. Here is the construction that gets it from Hex, and it is short enough to state completely.

  1. Lay an n×n Hex board over the square, cell (row, col) sitting at the point x = col/(n−1), y = 1 − row/(n−1). So the left column is exactly x = 0 and the right column is exactly x = 1.
  2. At each cell compute the displacement d = f(x) − x. Colour the cell teal if the map shoves it more sideways than up-down (|d₁| ≥ |d₂|), amber otherwise. That is a complete two-colouring, so by the Hex theorem exactly one player has a chain.
  3. Say it is teal, whose chain runs left to right. On the left column d₁ = f₁(x) ≥ 0, because f maps into the square and x = 0 there. On the right column d₁ = f₁(x) − 1 ≤ 0. So somewhere along the chain d₁ changes sign between two neighbouring cells.
  4. At that pair, |d₁| is at most how much d₁ can change between neighbours, call it ω. And the cells are teal, so |d₂| ≤ |d₁| ≤ ω. The whole displacement is at most ω√2. Refine the board, ω shrinks, and the point that barely moves is pinned tighter.

The mirror case is the same sentence with the words swapped: an amber chain runs top to bottom, d₂ changes sign along it, and amber cells satisfy |d₁| < |d₂|. Either way the board hands you a point that hardly moves. Below, it does. Pick a map with the sliders and watch the Hex board find it.

teal: pushed mostly sideways amber: pushed mostly up/down the forced chain the cornered point

 

The map is f(x) = clamp( c + s·R(θ + w·|x−c|)·(x−c) + drift ) with c the centre of the square and clamp pushing anything that leaves the square back onto its edge. It is continuous, and it maps the square into itself, which is all Brouwer asks of it.

The guarantee, refined

The table recomputes the whole construction at eight board sizes for the map you have selected. ω is measured on the grid: the largest change in either displacement coordinate between any two neighbouring cells. ω√2 is the guarantee from step 4. The residual is what the found point actually scores.

nwinnercornered pointresidual |f(x)−x|guarantee ω√2distance to x*

The guarantee is a statement about the mesh, not about the search, so it halves whenever the mesh does. Only four of the eight ladder rows are mesh doublings (5 to 9, 9 to 17, 17 to 33, and 101 to 201); the measured ratio of guarantees across exactly those four pairs is recomputing.... The other rows are not doublings and only show the guarantee shrinking. The residual sits under it and drifts down, but not monotonically: which chain the search happens to trace changes with n, and different chains cross the sign-change at different cells. The theorem promises the ceiling, not the floor.

What the point is not

It is not the fixed point. The construction produces a cell where the displacement is small, an approximate fixed point, and nothing more. A genuine fixed point exists because the square is compact: take the approximate points as the mesh shrinks, extract a convergent subsequence, and continuity does the rest. That last step is where the actual limit lives, and no finite board reaches it.

For this particular family we can say more, and it is a useful check on the machinery. The map's Lipschitz constant is computable in closed form. When it is below 1 the map is a contraction, Banach's theorem gives a unique fixed point, and iterating from the centre converges to it with an error bound you can compute after the fact. That gives an independent reference x* which the Hex construction never sees, and the last column of the table is the distance to it. When the swirl slider pushes the Lipschitz constant to 1 or above, the certificate is void and the page says so: the Hex construction keeps working, the reference does not.

The check

Every number on this page is computed in your browser at read time by the same code that research/someone-always-crosses/verify-someone-always-crosses.mjs runs offline. Nothing here is transcribed from a source. What the verifier asserts, at the page's default settings:

Free choices and uncertainties, named

What is proved here, what is cited, and what is neither

Proved in front of you. That every complete colouring of every Hex board up to 4×4 has exactly one winner (exhaustion). That 1,000 random 11×11 fills have exactly one winner each (census, seeded and reproducible). That the first player wins 3×3 and 4×4, with the winning openings enumerated (full game-tree search). That adding a friendly stone never converts a won 3×3 position into a lost one (exhaustion over all positions). That the Gale construction returns a point with small displacement, under the stated bound, for every map the sliders can produce and every one of 1,600 randomly drawn test maps.

Cited, not proved here. That the no-draw theorem is equivalent to the two-dimensional Brouwer fixed-point theorem in both directions (Gale 1979): the page demonstrates the Hex → Brouwer direction operationally at finite mesh; the converse, and the passage to the exact limit, are Gale's. That Hex is PSPACE-complete (Reisch 1981). That Hein introduced the game in 1942 and Nash rediscovered it around 1948.

Neither. Any claim about the current state of computer solutions for boards larger than 4×4. We have deliberately not made one.

A note on Zermelo. Step 1 of the strategy-stealing argument uses the determinacy of finite perfect-information games. For Hex this is elementary: the game is finite, the board fills, and the filled board has a winner, so backward induction applies. The 3×3 and 4×4 solvers on this page are that backward induction, run.