Numbers avoid numbers
A value says who wins and by how much. It does not say what to play, and the gap between the two is where most of the practical difficulty in this subject lives.
There is one exception, and it is worth the whole essay. In a position that decomposes into a number and something that is not a number, a player should never move in the number. Not usually, not on average — never, in the sense that a move in the number is at least as bad as some move elsewhere, and often strictly worse.
The demonstration
The position is .
The first component is a fight: Left would like to move there and get , Right would like to move there and hold it to , and both want to move first. The second component is a number, worth exactly one point to Left, and neither player gains anything by touching it.
The whole thing is worth and is a win for Left whoever moves — Left wins it moving first by taking the fight, and wins it moving second because Right’s best is to take the fight down to , leaving , which is still positive.
Now watch what a move in the number does. The number is the game : Left may move it to , and Right has no move in it at all. If Left plays there, the position becomes , which is , and that is a first-player win. It is Right’s turn. Right takes the fight, the position is worth , and Left has lost a game that was won.
Nothing subtle happened. Left spent a move on a component where nothing was at stake, and Right spent theirs on the component where two points were.
It is worth noticing what was not lost. The number did not become worth less to Left in any accounting sense — Left cashed one point and the position is a point poorer, which is exactly what the value records. The loss was of the turn. Left had a move in hand that Right could not match, spent it on nothing, and arrived at the fight second instead of first.
That distinction is why the theorem is about moves and not about points. A player counting only material would see the position drop from to — one point, which sounds survivable — and would miss that the one point was the entire margin.
The statement
The theorem — numbers avoid numbers, in Conway’s phrase — is this.
Let be a number and a game that is not a number. Then in , every player has an optimal move in . Formally: if Left has any winning move at all in , then Left has a winning move that is a move in .
The two conditions matter and both are frequently dropped in casual statements.
must not be a number. If both components are numbers the sum is a number, nobody has anything worth doing, and the theorem says nothing because there is nothing to say. A player forced to move in a sum of numbers is simply losing points.
must be a number. If both components are fights the theorem does not apply and the question of which one to move in is a genuine question with no easy answer.
Why it is true
The proof is the mirroring argument, applied to the number.
Suppose Left’s best move in were a move in , taking it to some . The claim is that Left’s corresponding move in is at least as good, and the reason is that a number is cold: every Left option of a number is strictly smaller than the number itself, so moving in makes Left’s own position strictly worse by a definite amount and gains nothing anywhere else.
Meanwhile is not a number, which means precisely that Left has an option with — a move that does not lose ground. That is the working definition of “not a number” and it is worth taking seriously: a number is exactly a game in which both players’ moves damage them, and anything else is a game where at least one player has a move that does not.
So Left has a move that costs nothing and a move that costs something, and the theorem follows. The formal induction has some care in it — the options of may themselves be numbers, and the argument has to descend correctly — but the mechanism is that one sentence.
What the solver computed, and how
Nothing on this page is asserted from the argument above. The figure builds three positions and evaluates all of them.
The sum is constructed by add from the two components, and its value and outcome class come out of the same recursion that produces every value on this site. The position after Left takes the fight is , built the same way. The position after Left moves in the number is , again built rather than reasoned about.
The outcome classes are then read off: the sum is in class L, meaning Left wins whichever player moves; the position after the good move is still L; the position after the bad move is N, meaning whoever moves next wins. Since it is Right’s turn, N is a loss.
The site’s gate makes the general claim rather than the particular one. It builds a family of sums of a number and a non-number, finds Left’s winning moves in each by the recursion, and checks that at least one of them is a move in the non-number component. A single counterexample would fail the build.
The check is also given something to refuse. Sums of two numbers are fed to the same test, and there the property is vacuous — every move loses ground, and the machinery must not report that some move is safe. A test that passed on those as well would be testing nothing.
What “not a number” is doing in the hypothesis
The theorem’s condition is stated negatively, which makes it easy to skim past. It deserves a positive reading, because that reading is the whole mechanism.
A number is a game in which both players’ moves make things worse for the mover. That is not a definition dressed up — it is equivalent to the usual one. If is a number then every and every , so Left moving in loses ground and so does Right.
A game that is not a number therefore has a player with a move that does not lose ground: some or some . That option is a free move — a move that changes whose turn it is without costing anything.
Framed that way the theorem is nearly obvious. A player holding both a free move and a costly one plays the free one, and a number is by construction a component that offers only costly moves. What takes work is showing that the free move remains at least as good once the whole recursion is unrolled — that a component’s free move cannot be a trap two moves deep — and that is where the induction on birthdays is needed.
This also explains a fact that otherwise looks arbitrary: the theorem’s contrapositive is a way of detecting numbers. If a component is one in which every move is a loss for the mover, the component is a number, and the machinery on this site uses exactly that test rather than trying to recognise a fraction.
Where the model stops
It says a move exists, not which one. The theorem guarantees that some optimal move lies in the non-number component. If that component is itself a sum of several fights, the theorem is silent about which fight, and that question is genuinely hard.
It is about optimal play, not about play against a person. Against an opponent who blunders, spending a move on a number can be right, because it changes whose turn it is at the moment the fight is resolved. Values are a theory of perfect play against perfect play and they are not always the correct guide against anything else.
It needs the sum to be a genuine decomposition. The components must be independent — a move in one leaves the other untouched. In a real game the regions are only independent once they are separated, and establishing that separation is itself part of the play.
Normal play, as always. The claim that a number is cold rests on the fact that having fewer options is bad, which is a theorem about who moves last. Under misère play it fails along with everything else.
What the theorem is worth in a real game
The reason this result is quoted more than any other in the subject is that real positions are mostly numbers.
A game of Go in its last thirty moves is a dozen or so regions. Most of them are settled: the territory is decided, both players know the count, and any move played there simply fills in a point that was already accounted for. A few are unsettled, and those are where the game is decided. The theorem says, exactly and without qualification, that a player should not touch a settled region while an unsettled one remains — and that a player who does has handed the opponent a free move.
Strong players call this not filling in dame, and it was folklore for centuries before it was a theorem. What the theorem adds is the boundary of the advice: it holds against perfect play, it holds regardless of how large the number is, and it stops holding the moment the “settled” region turns out to have something at stake after all.
That last clause is where a real player’s judgement goes. Deciding whether a region is genuinely a number is the hard part, and the theory does not help with it — the recursion can tell a number from a fight only after the region has been written down completely, which for a region of any size is not possible.
So the theorem’s practical content is conditional on a classification the theory cannot perform, and its value is that once the classification is made, the conclusion is exact rather than probable. That is a fair description of what combinatorial game theory offers a player in general.
The generalisation
The theorem has a stronger relative, and the relationship between them says something about how this subject grows.
Numbers avoid numbers is the special case, at temperature zero, of a much more general principle: a player should move in the component with the most at stake. A number has nothing at stake — its temperature is negative by convention, and the convention is chosen precisely so that numbers sort last — so “move in the hot part rather than the number” is the same instruction as “move where it is hottest”, restricted to the case where one part is cold.
The difference is that the general principle is only correct up to a bounded error, and this special case is exact. That pattern recurs: the exact results in this subject are the ones about the extremes, and the middle is where approximations live.
There is a second direction of generalisation. Replace “number” with “any game all of whose options are worse for their owner”, and much of the argument survives. The class that results — games that are cold in this sense without being numbers — is where the theory of cooling gets its grip.
Who found it, and when
The result is in On Numbers and Games, and the phrase is Conway’s. It is one of the few results in the subject with a name that is also its statement.
The context matters for understanding what it is for. Conway and Berlekamp were analysing Go endgames, in which a real position genuinely decomposes into independent regions and some of those regions really are settled — worth a definite number of points with nothing left to fight over. A rule that says “never play in a settled region while an unsettled one remains” is not an abstraction there; it is the single most valuable piece of advice the theory produces, and strong players had it as folklore long before it had a proof.
Berlekamp’s later work on Go endgames turned this and its refinements into a method that beat professional players in constructed endgame positions, which is about as direct a vindication as a piece of combinatorial game theory has ever received.
The ladder from here
This anchor has run from what a number is worth through what “simplest” means to a statement about how numbers behave in company.
Later rungs: the proof in full, with the induction on birthdays done properly. The cold games that are not numbers, and what survives about them. The theorem’s failure under misère play, which is instructive because the failure is specific rather than general. And the quantitative version — how much a move in a number actually costs, which is the difference between the theorem and the temperature theory that generalises it.
The thing worth carrying is the shape of the claim. This is not “usually a bad idea”. It is a theorem with hypotheses, and the hypotheses are the interesting part.