Concept

Hackenbush — where it appears

A picture of coloured edges standing on the ground, from which each player cuts edges of their own colour and everything unsupported falls. A blue-red string spells its own value in binary, which is the shortest route in the subject from a picture to a number.

Named by 34 essays across 5 fields — each of them below, with the objects they name alongside it.

The picture is the numeral. Blue-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.

Hackenbush is a numeral

Draw a stalk of coloured edges. Read it as a string, blue for one and red for zero, and the string is the binary expansion of what the position is worth. Not approximately — exactly, and the site computes it both ways and refuses to build if they disagree.

positions · Hackenbush
Nim with heaps of 3, 5, 7. Heaps of counters; a move takes any number from one heap. The position is a loss for the player to move exactly when the binary digits of the heap sizes cancel in every column — the nim-sum — and that is the whole of the theory of Nim.

Nim, and the nim-sum

Three heaps of counters, take as many as you like from one of them, and the player who takes the last counter wins. The winning condition is not a search, not a table, and not a heuristic — it is the bitwise exclusive-or of the heap sizes, and it was found in 1901.

impartial · Nim
A position is the sum of its parts. Four separate Hackenbush sprigs. A move is a move in one of them, so the position is their disjunctive sum, and its value is the sum of their values. Which part to play in is the entire decision, and the values are what makes it decidable.

The sum is the object

Real positions come apart into independent regions, and a move happens in exactly one of them. That operation — the disjunctive sum — is what the whole theory is built to survive, and it is the reason values exist at all.

sums · Disjunctive sum
Four things a position can be. Every 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.

Who moves last

The player who cannot move loses. That single convention generates the whole theory — and it produces four outcomes rather than three, because a position can be confused with zero rather than greater, smaller or equal to it.

values · Outcomes
Domineering on 2 by 3. Left places vertical dominoes, Right horizontal ones, and a player who cannot place loses. The two players see different games on the same board, which is what partizan means — and the value that results is not a number.

Domineering

One player places dominoes vertically, the other horizontally, on a shared grid. The rules take one line, the values are a mess, and that mess is the point — this is what the theory looks like applied to a game nobody designed for it.

positions · Domineering
The simplest number in between. A 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.

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.

values · Numbers
Toads and frogs. Toads move right and frogs move left, one square into a gap or hopping over exactly one opponent. A player unable to move loses. It can be played on squared paper by anybody, and its values are immediately stranger than the game looks.

Toads and Frogs

Toads shuffle right, frogs shuffle left, and either may jump over one of the other. A strip six cells long is worth exactly up. Another six-cell strip is worth exactly down. Nobody has a formula for which.

positions · Toads and Frogs
Smaller than every positive number, and not zero. Values that sit between zero and every positive number, each compared with zero and with 1/1024. Every relation drawn was computed by playing the difference, and one of them is confusion — neither greater, smaller nor equal. None of these is a number, and in a close game they are the entire margin.

Infinitesimals

Some positions are positive — Left wins them whoever moves first — and smaller than every positive number, including a millionth and a millionth of that. They are the values that decide close games, and the smallest of them is a single move's worth of nothing.

values · Infinitesimals
The numbers, by the day they are born. Zero 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.

The day a number is born

Start with a position in which neither player can move, apply one rule, and the numbers appear — but only the fractions with a power of two underneath, and only in a particular order. That order is what "simplest" means.

values · Numbers
The days this site can compute, and the ones it cannot. Zero on the first day, ±1 on the second, and thereafter the simplest number in every remaining gap — the construction run by the game recursion, which produces only fractions with a power of two underneath however long it goes on. Below it, three objects the same recursion reaches when the stopping rule is removed, each written with its option set and the exact reason this site's machinery cannot hold it. They are named rather than drawn, which is the honest half of a figure-first collection.

The numbers came out of the game

The construction is always taught numbers first and games second, and the discovery ran the other way. Conway arrived at the number system from positions, which is why the definition quantifies over sets of previously built objects rather than over cuts — and why it produces a genuinely different collection at every finite stage.

history · Numbers
a triangle on a stalk, worth ∗2. A Hackenbush position in which every edge is green, so either player may cut any of them and the position is impartial. Its value is a single Nim heap. Two principles find which one: fusion, which collapses every cycle to a point and leaves that many loops behind, and the colon principle, which replaces a branch by a stalk as long as the branch's own value.

Squash every loop to a point

Colour every Hackenbush edge green and the game becomes impartial, so the whole picture is worth a single Nim heap. Two principles find which one without playing anything — fuse the cycles, then run one pass up the tree — and a nine-vertex lattice that costs 1,283 positions to solve costs twelve steps to read.

positions · Hackenbush
A green edge is not a number. Green edges may be cut by either player, which makes the position impartial in that part. A single green edge is worth ∗ — a value that is neither positive, negative nor zero, and which no number can equal.

A green edge on a blue one

Blue over green and green over blue are the same two edges in the other order. One is worth 1∗ and the other ↑∗ — a number with a star on it against something smaller than every positive number — so a stalk with all three colours in it stops being a numeral and starts being a position whose value depends on what is underneath.

positions · Hackenbush
The picture is the numeral. Blue-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.

The other sum, the one that nests

A move in one part wipes the other out entirely. That is the ordinal sum, it is what a Hackenbush stalk actually is — 1 : (−1) is a half, and 1 : (−1) : 1 is three quarters — and it is not an operation on values at all: three positions all worth zero give three different answers under it.

sums · Ordinal sum
The bracket of a sum, against the sum of the brackets. Two all-small positions, the interval of multiples of ↑ each lies between, those two intervals added coordinatewise, and the interval the sum actually lies between. The added one always contains the computed one — greater-than survives addition — so the bracket never widens under a sum. Where it narrows, the parts were each too vague to pin down and the sum is not.

When the ups add

Atomic weight brackets do not add over a sum — they bound it. Over all 120 pairs from a fifteen-game family the sum's bracket came out exactly the sum of the parts' brackets 56 times, strictly narrower 64 times, and wider never; and the rule separating the two is one line long, because every one of the 54 pairs with a pinned part is exact and only 2 of the other 66 are.

sums · Infinitesimals
Swapping a branch for another of the same value. The ordinal sum of a base with a branch, and the same sum with the branch replaced by a heap of a different game carrying the same Grundy value. The two are compared by playing their difference, not by inspection — and they agree every time, which is what the colon principle claims and what the partizan case denies.

When the nested sum only sees the value

The ordinal sum reads the form and not the value: three positions all worth zero, placed under a star, give three different answers. On impartial games it reads the value after all — 72 substitutions of an equal-valued heap from a different game, and every ordinal sum comes back unchanged. That difference is the whole reason a green Hackenbush tree can be collapsed one branch at a time.

sums · Ordinal sum
Shove strips, and what each is worth. A shelf of positions with the value the recursion returns beside each. Every one is a number: Shove has no hot positions at all, which is unusual for a partizan game and is the first of the essay's three claims.

Nothing worth fighting over

Shove is a strip of coins beside a cliff, and both players have completely different moves. Every one of its 728 positions is worth a number, so nobody ever wants to move; the winner is the owner of the coin furthest from the cliff, in all 728; and the number the board is worth is not the sum of its coins — that reading is exact on 126 strips and wrong on 588 of the other 602.

positions · Shove
Trees, and what each is worth. A row of blue-red Hackenbush trees with the value the recursion returns under each. Every one is a number, and none of them is the binary reading of anything a reader can see in the picture.

A tree is still a number

A Hackenbush string spells its own value in binary. Put a fork in it and the numeral has nothing to read — there is no leftmost anything. The value is still a number, in all 10,066 forests up to six edges; it is still computable, by the ordinal sum, in all 3,238 single-trunk trees; and the reading is right on 762 of them, of which 126 are the strings it was written for.

positions · Hackenbush
The same row, cut and toppled. Rows of blue and red drawn once and evaluated twice: as a Hackenbush string, where a player cuts an edge of their own colour and everything above it falls, and as Toppling Dominoes, where a player knocks one over and everything on the chosen side falls. Both values are computed by the same recursion from the two rulesets.

Topple it from either end

A row of blue and red is the picture this site opens with, and under Hackenbush's rules it is always a number. Knock the pieces over instead of cutting them — everything on the chosen side falls — and 480 of the 510 rows up to eight pieces stop being numbers. The two games agree on sixteen rows, every one of a single colour, and the temperature of the hottest row climbs by exactly a half for each domino added.

positions · Toppling dominoes
The values the construction hands down, and the values games produce. The two lists counted against each other. The construction produces 1,474 values by day three; the eleven thousand positions swept here produce 1,193, and only 116 of those are on the construction's list. A value's birthday and a value's reachability have nothing to do with each other.

The values nobody's game produces

The construction hands down 1,474 values by day three. Seventeen rulesets on this site, swept to eleven thousand positions, produce 1,193 — and only 116 of those are on the construction's list. Two of the twenty-two values born by day two are produced by no position of any game here, and 1,077 of the values that are produced are born later than day three. A value's birthday and a value's reachability have almost nothing to do with each other.

values · Realisability
What the third colour reaches. Every row of Toppling Dominoes up to 7 long, over two colours and over three, with the number of distinct values each set of rows carries. Each value was computed by the recursion; the last column is the count of values three colours reach that two do not, cumulatively.

How long a row a value needs

Add a third colour that either player may topple and a row of seven dominoes reaches 1,047 distinct values where two colours reach 149. That makes the length of the shortest row worth a value into a measure of the value's complexity — one a reader can hold in their hand — and it is not the birthday: 1↑ is born on day three and needs seven dominoes.

positions · Toppling dominoes
When counting the free squares gets Push right. Every Push strip of at most seven squares, split by whether any line of play can bring two coins of opposite colour together. Where none can, the count of free squares in front of each coin is the value, without exception; where one can, the count is right more often than not.

The reading that survives too much

Counting the empty squares in front of each coin gets a Push position right half the time, and the rung below said the failures were exactly the positions with two coins of opposite colour side by side. Sixty-six of the 1,072 failures have no such pair, the smallest is five squares long, and the condition that does decide it is not about the board at all — it is about every position the board can reach.

positions · Push
How old a value is, against how big a board it takes to show it. For each birthday, the range of sizes of the smallest position exhibiting a value of that age. The bars do not march rightwards: values born on the last day of the sweep are shown by six-piece positions, and values born on the fourth need up to fifteen.

The cheapest way to show a value

Eleven thousand positions from fifteen rulesets reach 1,193 values, and for each of them there is a smallest board that shows it. Set against the birthday the two measures agree hardly at all — until the numbers are taken out, at which point they agree rather well, and the whole apparent independence turns out to be a fact about integers.

values · Realisability
How much of the value the colon respects. Every form whose option lists are antichains of day-two values, grouped by the value it reduces to, and each group asked whether all its forms give the same ordinal sum with star. On 636 of the 640 groups they do.

What the colon respects

The ordinal sum reads the form of its base rather than its value, which is why the colon principle is stated for positions and not for values. Built over 9,604 forms it turns out to read the value on 636 of the 640 values that have more than one form, and the four it can tell apart are zero, one, minus one and star — the values born by day one, and no others.

sums · Ordinal sum
Three strips a criterion cannot tell apart. Three Push strips identical in length, reading, coin counts and run structure, whose readings are wrong by a quarter, a half and a quarter more than one. The order of the colours inside the run is the only thing separating them.

The criterion that cannot exist

The rung below asked for a quantitative version of its condition — turn 'the reading survives mixing three quarters of the time' into a statement about the strip. Three strips of four squares settle it. `.LLR`, `.LRL` and `.RLL` have the same length, the same reading, the same coins and the same single run, and their readings are wrong by 1¼, ¼ and ½. The error is a fact about the order of the colours, and 207 of 805 statistical classes carry more than one of them.

positions · Push

The birthday is a floor

The rung below measured a correlation of 0.73 between a value's birthday and the size of its cheapest exhibit, and asked which values are dearer than the birthday suggests. The relation is not a trend. Over all 728 non-number values the exhibit is never smaller than the birthday and is exactly the birthday on 476 of them, and the excess on the other 252 belongs to the game rather than to the value — the ruleset accounts for 40 per cent of its variance.

values · Realisability

No fifth value

The colon reads a form rather than a value, and the rung below found the forms of a value disagreeing at exactly four of them — the values born by day one. It could only check forms whose options came from day two. Built one day deeper, by adding day-three gift horses to day-three values, eighteen thousand forms give no disagreement at all, while the same treatment still splits nought four ways. The class is about the width of the base's form and not the depth of its options.

sums · Ordinal sum

Wider costs less

The rung below found the cheapest exhibit of a value never smaller than its birthday, exactly equal on two thirds, and the ruleset explaining 40 per cent of the rest. The variable it proposed for the remainder was the width of the form. Width and excess correlate at −0.39: the wider the value, the closer to its birthday it is exhibited, and inside a ruleset the relation cannot even agree on a sign.

values · Realisability

A numeral in the empty squares

The rung below ruled out a quantitative criterion for Push and asked for a numeral over the coins combined with a count over the gaps. The two ingredients are the right way round: the colours pick a fraction — −1, −1/3, −1/7, −1/15 — and the empty squares give the binary precision, so a run of k coins before one of the other colour with g gaps is worth exactly (1 − 2^(−kg)) ÷ (2^k − 1). And it does not compose: a strip of two runs is not the sum of them, on any pair tried.

positions · Push

The entry fee was the cap

Two rungs measured how much bigger a position has to be than the value it exhibits, and attributed what was left to the ruleset — Toads and Frogs paying 2.25 squares on everything, green Hackenbush paying nothing. Neither number is a property of the rules. Inside every ruleset the excess falls as the birthday rises, because the sweep's size cap censors exactly the values that would pay most — and three squares past the cap, Toads and Frogs exhibits values born later than the strip is long.

values · Realisability

The rate was the alphabet

The rung below asked for a quantity a size cap cannot censor and proposed the rate: how many new values a ruleset produces per extra square. The rate is honest and it measures the notation — every ruleset grows at close to the number of symbols its positions are written in, and the seven span less than a factor of two. What separates them is the yield, which spans a hundred and nineteen.

values · Realisability

The proof needs both reductions

The gift-horse theorem was to be proved by showing the added option dominated. It is, on 97.8 per cent — and the other 232 are reversible instead, with nothing left over. The case the proposal missed is almost entirely one follower: none under a positive number, 190 under a negative one.

sums · Ordinal sum

Three groups, and three yields

The conjecture was that each ruleset's yield tends to the reciprocal of its symmetry group's order. Three rulesets have a trivial group and predicted yields of one; they measure 1.000, 0.531 and 0.204. And every colliding value in Push and Shove — all 175 of them — has two rows no symmetry relates.

values · Realisability

Where the numeral stops

A Hackenbush string is a numeral and a tree is a trunk with a forest on it, so the obvious next question is a graph with a cycle in it. Green Hackenbush answers that by fusing the cycle to a point. In blue and red the fusion is right on every three-edge cycle, on fewer than half of the six-edge ones, and the smallest thing it gets wrong has four edges.

positions · Hackenbush

The follower does the reversing

The gift-horse theorem for the ordinal sum needs two cases, and the second — the added option is reversible — was counted and not described. Recorded move by move, the reversing answer is always Right's move inside the follower: on all 410 escapes under five followers, and on every one of the 2,628 gift horses under every follower that gives Right a move at all. The case split is by follower, not by horse.

sums · Ordinal sum

Named alongside it

The objects these essays reach for when they reach for this one.

EnumerationCanonical formExhaustive searchBirthdayValueCounterexampleInfinitesimalPartizanBinaryNormal playOrdinal sumNumbers

All concepts