Values

The simplicity rule

When both players' options are numbers, the position is worth the simplest number strictly between them. Not the midpoint, not the average, and the difference between "simplest" and "middle" is the entire content of the rule.

A position where Left can move to a game worth 00 and Right can move to a game worth 11 is written {01}\{0 \mid 1\}. It has a value. The question is which number, and the answer is not the one most people guess.

It is 12\tfrac12, which happens to be the midpoint — a coincidence that this position is small enough to make, and that larger positions do not repeat. That coincidence is unfortunate, because it makes the rule look like averaging, and averaging is wrong.

The simplest number in betweenA game whose options are numbers is worth the simplest number strictly between them — and simplest means born earliest, so integers come before halves and halves before quarters. It is not the midpoint, and the difference is the whole content of the rule.011/2{0 | 1}021{0 | 2}-550{-5 | 5}1/43/41/2{1/4 | 3/4}13/25/4{1 | 3/2}the marked point is the value; the hollow one, where it differs, is the midpoint
Fig. 1 Four positions whose options are numbers, and the values the rule assigns. Only the first is the midpoint of its options, and the others are not close to it.

The rule

If every option of GG is a number, and every one of Left’s options is strictly less than every one of Right’s, then

G=the simplest number x with GL<x<GR for all options.G = \text{the simplest number } x \text{ with } G^L < x < G^R \text{ for all options.}

Simplest means born earliest, in a sense made precise below. It does not mean smallest, or closest to zero, or having the smallest denominator — though it usually coincides with the last of those.

{01}\{0 \mid 1\} has options 00 and 11, so the value is the simplest number strictly between them. That is 12\tfrac12, and it is also the midpoint, which is why the example is a bad first one.

{010}\{0 \mid 10\} has options 00 and 1010. The midpoint is 55. The simplest number strictly between is 11, because 11 is born long before 55. The value is 11.

{55}\{-5 \mid 5\} has options 5-5 and 55. The midpoint is 00, the simplest number strictly between is 00, and here they agree. But {15}\{1 \mid 5\} has midpoint 33 and value 22, and {1001}\{-100 \mid -1\} has midpoint 50.5-50.5 and value 2-2 — the simplest number strictly between 100-100 and 1-1, which is not 99-99 and not 50-50.

Birthdays, which make “simplest” precise

Numbers are built by the same recursion as everything else, and each one has a birthday — the first day on which it exists.

On day zero, {    }\{\; \mid \;\} is born: that is 00.

On day one, the only options available are 00, so {0}\{0 \mid \} and {0}\{\mid 0\} are born: those are 11 and 1-1.

On day two: {1}\{1 \mid \} is 22, {1}\{\mid -1\} is 2-2, {01}\{0 \mid 1\} is 12\tfrac12, {10}\{-1 \mid 0\} is 12-\tfrac12.

On day three: 33, 3-3, 32\tfrac32, 14\tfrac14, 34\tfrac34, and their negatives. And so on.

The numbers, by the day they are bornZero on the first day, ±1 on the second, and thereafter the simplest number in each remaining gap. Every number reachable in finitely many days is a fraction with a power of two underneath, and every such fraction appears — which is a strange thing for a construction with no arithmetic in it to produce.day 00day 1-11day 2-2−1/21/22day 3-3−3/2−3/4−1/41/43/43/23each new number is the simplest one in a gap — which is the simplicity rule, applied everywhere at once
Fig. 2 The first four days of the number tree. Each number is born between its neighbours, integers march outwards along the edges, and the fractions fill inwards by halving. Simplest means highest in this tree.

Simplest now means unambiguous: the number with the earliest birthday. Between any two numbers there is exactly one of earliest birthday, so the rule is well defined. Between 00 and 1010 the earliest-born is 11, born on day one, while 55 waits until day five.

The tree also makes the rule visually obvious. Between two numbers, the simplest one is the highest common ancestor’s relevant child — the first node the interval reaches as the tree is descended. Reading the value off the tree is faster than any calculation.

Only the dyadic rationals

A striking consequence: after finitely many days, only the dyadic rationals — fractions with a power of two as denominator — have been born.

13\tfrac13 is not among them. It never appears on any finite day, because every finite-day number has the form p/2kp/2^k. To reach 13\tfrac13 requires infinitely many days, at which point the construction produces it as {14,516,12,38,}\{\tfrac14, \tfrac{5}{16}, \ldots \mid \tfrac12, \tfrac38, \ldots\} — a limit rather than an entry.

This is not an artefact of the definition. It is a fact about finite games: a position that ends after nn moves cannot be worth a number of birthday greater than nn, so a finite game is never worth a third. Anybody who expected game values to be arbitrary rationals is expecting the wrong kind of object.

The same construction, run without the finiteness restriction, produces every real number and then continues past them into the ordinals. That is Conway’s surreal numbers, and the point worth taking here is that the number line of game theory arrives already built rather than assumed.

Why simplicity and not the midpoint

The rule has to be proved, and the proof is where the reason becomes visible.

The claim is that G=xG = x where xx is the simplest number in the interval, and to prove it, GxG - x must be a second-player win.

Suppose Right moves first, either in GG to some GR>xG^R > x, or in x-x to xR-x^R. If Right moves in GG to GRG^R, then GRx>0G^R - x > 0, so Left wins. If Right moves in x-x, the resulting number xRx^R is an option of xx — and since xx is the simplest number in the interval, xRx^R is not in the interval, so xRGRx^R \ge G^R for some option. Left then moves in GG to that option and the difference is at least zero. Left wins.

The mirror argument covers Left moving first. Both cases turn on the same fact: xx being simplest means its own options fall outside the interval, so any move to one of them overshoots and can be punished.

That is the whole reason it is simplicity rather than the midpoint. The midpoint has no such property — its options are inside the interval, they do not overshoot, and the argument collapses. Simplicity is precisely the condition that makes the second player’s replies exist.

Comparing two positions is playing their differenceTo decide whether one position is worth at least another, subtract and see who wins moving second. It is the only definition of comparison the subject has, and it produces a partial order — some pairs come out confused, which no comparison of numbers ever does.↑ − 0= ↑outcome L↑ > 0∗ − 0= ∗outcome N∗ ‖ 0⇑ − ↑= ↑outcome L⇑ > ↑1/2 − 1/4= 1/4outcome L1/2 > 1/4↑∗ − ∗= ↑outcome L↑∗ > ∗the differencethe verdict‖ means confused: neither greater, nor smaller, nor equal — and no amount of care removes it
Fig. 3 The comparison that the proof performs. Two positions are equal when the difference is a second-player win, so proving a value means exhibiting the second player’s replies to everything.

The rule in a game somebody plays

Abstract braces are unconvincing, so here is the rule doing work on a board.

In Hackenbush, a stalk of one blue edge is worth 11: Left cuts it and leaves nothing, Right cannot move at all. So it is {0}=1\{0 \mid \} = 1.

A stalk of one blue edge with a red edge on top is worth 12\tfrac12. Left’s only move cuts the blue edge, taking everything, leaving 00. Right’s only move cuts the red edge on top, leaving one blue edge, worth 11. So the position is {01}\{0 \mid 1\}, and the rule gives 12\tfrac12.

Add another red edge above and the position becomes {012}\{0 \mid \tfrac12\}, worth 14\tfrac14. Each further red edge halves it, and the pattern is exactly the binary expansion.

The picture is the numeralBlue-red Hackenbush strings and their values. Left may cut a blue edge, Right a red one, and everything above the cut falls. The value of each string is a number, and reading the string from the ground upward gives the binary expansion of exactly that number.1blue2blue blue1/2blue red3/4blue red blue1/4blue red red3/8blue red red blueeach string is worth a number, and the string spells itblue is Left · red is Right · the ground is what holds it up
Fig. 4 Hackenbush stalks and their values. The first edge sets the integer part, and each edge after it contributes a bit — so the value is the string read as a binary numeral, computed here twice and asserted to agree.

That correspondence — position as binary numeral — is the most satisfying single fact in the elementary theory, and it exists because the simplicity rule is what it is. Averaging would have produced nothing so clean.

What the solver computed

simplestBetween(lo, hi) in lib/cgt.js finds the earliest-born number strictly between two dyadics. It works by the tree: start at zero, and if zero is not in the interval move towards it by integers until an integer lands inside, and otherwise bisect by halving the denominator until a dyadic lands inside.

That routine was wrong on the first attempt, in a way worth recording. It searched upwards from lo and returned the first number found, giving {55}4\{-5 \mid 5\} \mapsto -4. That is the first number above the lower option, not the simplest number in the interval, and the two coincide only when the interval excludes zero. Simplicity is about distance from the root of the tree, not about position along the line, and a search that walks the line will get it wrong every time the interval straddles zero.

The corrected routine is checked against the game recursion. For each figure, lib/cgt.js builds the position from its options, reduces it to canonical form, and reads off the value; simplestBetween computes the same value from the rule; the build asserts they match. {010}=1\{0\mid 10\} = 1, {15}=2\{1 \mid 5\} = 2, {1001}=2\{-100 \mid -1\} = -2, {012}=14\{0 \mid \tfrac12\} = \tfrac14 — all confirmed by both routes.

When the rule does not apply

The hypothesis is doing real work, and there are two ways to violate it.

An option that is not a number. {0}\{0 \mid \ast\} has a non-number on the right, so the rule says nothing. The position is \uparrow, which is not a number at all — it is positive, and smaller than every positive number.

Left’s option not below Right’s. {10}\{1 \mid 0\} has options that are both numbers, but Left’s is larger. The rule requires GL<GRG^L < G^R and this fails. The position is not a number; it is a switch, worth ±12\pm\tfrac12 offset by 12\tfrac12, and both players are eager to move in it because moving there is better than being moved on.

That second case is the important one, because it is where temperature comes from. A position where Left’s best option beats Right’s best is a position worth fighting over, and the whole theory of hot games lives in the gap the simplicity rule refuses to fill.

Four things a position can beEvery position falls into one of four outcome classes, and only three of them correspond to a comparison with zero. The fourth — first player wins — is a position confused with zero, neither greater, smaller nor equal, and it is where the subject departs from arithmetic.0outcome P= 0whoever must move, loses10outcome L> 0Left wins, whoever starts-10outcome R< 0Right wins, whoever starts00outcome N‖ 0whoever moves first, winsblue edges are Left's moves, red are Right'sthree of the four are comparisons with zero; the fourth is not
Fig. 5 The four outcome classes again, now with the numbers picked out. A number is never confused with zero — it is greater, less or equal — and every position that is confused with zero has failed one of the two hypotheses above.

Reading a value off the tree

The tree turns the rule into a lookup, and it is worth doing a few by eye.

Between 00 and 1010: descend from the root. Zero is not strictly inside, so step to 11 — inside. Answer 11, on day one.

Between 33 and 44: neither integer is inside the open interval, so no integer works. Descend to the halves: 72\tfrac72 is inside. Answer 72\tfrac72, on day four.

Between 14\tfrac{1}{4} and 12\tfrac{1}{2}: no integer, no half. The eighths: 38\tfrac38 is inside. Answer 38\tfrac38.

Between 6-6 and 22: zero is inside. Answer 00, on day zero, which is as simple as anything gets. The interval is wide and off-centre and the answer is still the root of the tree.

The pattern is always the same — take the earliest number the interval admits, and the interval’s width and position are otherwise irrelevant. A wide interval is not more complicated than a narrow one; it is simpler, because it catches an earlier node.

The numbers, by the day they are bornZero on the first day, ±1 on the second, and thereafter the simplest number in each remaining gap. Every number reachable in finitely many days is a fraction with a power of two underneath, and every such fraction appears — which is a strange thing for a construction with no arithmetic in it to produce.day 00day 1-11day 2-2−1/21/22day 3-3−3/2−3/4−1/41/43/43/23day 4−5/2−7/4−5/4−7/8−5/8−3/8−1/81/83/85/87/85/47/45/2each new number is the simplest one in a gap — which is the simplicity rule, applied everywhere at once
Fig. 6 Five days in. Every finite-day number is a dyadic rational, the integers escape along the outside edges, and the fractions accumulate towards the centre by successive halving.

The value is not a score

A number attached to a position invites a misreading, and it is worth blocking.

A position worth 34\tfrac34 does not mean Left is three-quarters of the way to winning, or has three-quarters of a move in hand, or would score 0.750.75 under some scoring rule. It means something exact and stranger: that the position behaves, in every sum it might ever appear in, exactly as three-quarters of a free move would.

The operational content is entirely comparative. If a position is worth 34\tfrac34 and it is added to a position worth 34-\tfrac34, the total is zero and the second player wins. If it is added to something worth 1-1, the total is negative and Right wins. That is what the number asserts, and it asserts nothing else.

Which is why equality of games is defined by a difference and a winner rather than by a magnitude. The numbers are useful because they compose, not because they measure.

Integers, and moves in hand

The integers deserve a sentence of their own, because they are the one case where the value does have a plain reading.

A position worth nn, for positive whole nn, is worth exactly nn free moves to Left. Left can move nn times before running out, Right cannot move at all, and adding such a position to any other gives Left nn moves of slack.

In Hackenbush that is a stalk of nn blue edges. Left cuts the top one nn times; Right, with no red edge to cut, is helpless from the start.

So integers are moves in hand, and fractions are the interpolation between them that the tree forces. A position worth 12\tfrac12 is not half a move in any operational sense — it is the position that, doubled, is worth one move, which is a weaker and more precise statement.

Which numbers the strings reachEvery blue-red Hackenbush string of up to four edges, placed at its value. Short strings give integers, longer ones fill in halves and quarters, and the pattern continues — the reachable values are exactly the dyadic rationals, and nothing else.-2-1012121/2-1−1/2-21234edgesone more edge halves the gap — and every value is a fraction with a power of two underneath
Fig. 7 Short Hackenbush stalks placed on the number line at their values. Whole blue edges step outwards by ones, and every red edge after the first blue one halves the remaining distance.

Numbers avoid numbers

One theorem sits so close to this rule that it belongs here.

If a position is a number, moving in it is a mistake. More precisely, in a sum where some component is a number and some is not, there is always a move at least as good outside the number.

The intuition is that a number is a position with no urgency — the value is fixed and moving in it only gives ground. Formally, if xx is a number and xLx^L is one of Left’s options, then xL<xx^L < x, so Left moving in xx strictly reduces the total.

This is why numbers are described as “cold”: they are the parts of the position nobody wants to touch, the settled territory, the moves saved for when there is nothing else. In a Go endgame it is exactly the distinction between a position worth points and a position worth playing, and it is the reason temperature theory can order the moves at all.

Who found it, and when

The simplicity rule is Conway’s, from around 1970, published in On Numbers and Games in 1976. Its context there is unusual: the book constructs the real numbers and the ordinals from the same recursion, in the same chapters, and games appear as the general case of which numbers are a special one.

That ordering is deliberate and is the opposite of how the subject is normally presented. Conway does not start with games and discover that some are numbers. He starts with a construction, observes that it produces numbers, and then observes that it produces a great deal more. The simplicity rule is the theorem that identifies which of the products are numbers and what they are worth.

Donald Knuth’s Surreal Numbers, published in 1974 before Conway’s own book, presented the number construction as a novella. It is the only mathematical result to have been popularised before it was published.

Where the model stops

Both option sets must be numbers, and Left’s must be below Right’s. Neither is a technicality; the two failure modes are the two most interesting classes of position in the subject.

Finitely born numbers are dyadic. Anybody looking for a game worth 13\tfrac13 is looking for an infinite game.

Simplest is a statement about the tree, not the line. This is where implementations go wrong, and it went wrong here.

A value is not a move. Knowing a component is worth 14\tfrac14 does not say what to play in it — and by the theorem above, the answer is usually to play somewhere else entirely.

The ladder from here

Next rungs: canonical form, which makes values unique and gives the algorithm for computing them; the number tree developed properly, with birthdays as ordinals; switches and mean values, for the positions the simplicity rule rejects; and the theorem that numbers avoid numbers, proved rather than motivated.

Further along, infinitesimals — the values that are positive and smaller than every number on the tree, which the simplicity rule cannot produce and which decide most close games.