Nothing worth fighting over
Assumes: Hackenbush is a numeral · Cutcake, where every value is a whole number
A row of squares with a cliff at the left-hand end. Some squares carry a blue coin and some a red one. Left moves any blue coin one square towards the cliff, shoving everything already to its left one square along — so whatever stood on the square at the edge goes over it and is gone. Right does the same with a red coin. A player with no coin of their own has lost.
That is the whole of Shove. It is partizan in the strongest sense: the two players never have the same move available, since a blue coin is Left’s alone and a red one Right’s. Partizan games are the ones with fights in them — the ones with switches and temperatures and positions both players are desperate to reach.
Shove has none.
The rule, drawn
The move deserves one figure to itself, because “shoves everything already to its left one square along” is the kind of sentence that reads clearly and is easy to model wrongly.
LRL. Left owns the coins on squares one and three. Shoving the coin on square three pushes the two coins in front of it along, so the coin at the cliff edge falls off; shoving the coin on square one pushes it straight off the edge, since there is nothing between it and the cliff. Each option is drawn with the value the recursion gives it.Two things about the rule are worth pinning down. A coin may be shoved off the cliff — that is a legal move and often a good one, since it costs the mover a coin and gains them a tempo. And a shove pushes the coins and the gaps: shoving a coin four squares along a strip with a hole in it moves every coin behind the hole too, so the hole travels with them.
The rule has a compact description on the strip written as a string. Shoving the coin at position deletes the character at position and inserts an empty square at position . Everything else is unchanged and the strip keeps its length, which is why a whole census can be run over strings.
Every position is a number
The first row is the surprising one and it is worth saying why.
A position is a number exactly when every move loses ground for the player making it. In most partizan games that fails constantly: a switch is a position both players want to move in, and switches are everywhere in Domineering, in Toads and Frogs, in every game with a board. In Shove it never fails. There is no strip of six squares or fewer at which either player would rather move than wait.
The intuition is that a shove costs the mover more than it gains. Shoving a coin one square towards the cliff moves it one square closer to falling off, and moves every coin behind it closer too — including the mover’s own. There is no move that improves a Shove position for the player making it, and no move that is merely neutral either. Every one is a loss.
That puts Shove in a small class. Cutcake is the other member on this site, and its values are always integers; Shove’s are dyadic fractions as well, with denominators up to thirty-two in the strips drawn here. Both games are cold everywhere, which is a rare property and the reason a reader is unlikely to have met either of them in a chapter about temperature.
The two are unalike in every other respect, and the difference worth carrying is what the number is. A Cutcake rectangle is worth a count of cuts, so its integer is visible on the board and a reader can arrive at it by counting. A Shove strip’s number is not a count of anything a reader can point to, which is the observation the rest of this essay turns into a measurement.
The winner is one coin
If every value is a number then the outcome is the sign of that number, and the sign turns out to be readable without computing anything.
The owner of the coin furthest from the cliff wins, whoever moves. In all 728 positions swept, with no exception. A blue coin at the far end and the value is positive; a red coin there and it is negative; and nothing behind the last coin — how many coins, of which colours, in what order — can change it.
This is a strong statement and it is easy to make it sound weaker than it is. It is not the claim that the last coin is the most important. It is the claim that the last coin is the only thing that matters to the outcome, and the rest of the board decides only by how much.
The mechanism is the cliff. A player wins by still having a coin when the opponent has none, and every shove moves every coin behind the shoved one closer to falling off. The player whose coin sits furthest from the cliff has the deepest reserve of shoves available, and the opponent cannot reach past it. What the argument does not do is give a bound on the size of the advantage, which is exactly what the value supplies and the rule does not.
The reading that fails
Faced with a strip of coins and told that every position is a number, the natural next move is to look for the number on the board. A coin squares from the cliff has shoves in it before it falls; call it worth if it is blue and if it is red, and add.
That reading is exact on every strip of one colour. All 126 of them.
Put one coin of the other colour anywhere on the strip and the reading is right on 14 strips of 602. It is not approximately right either: LR reads as and is worth ; LLR reads as and is worth ; LRR reads as and is worth . The error is not small and it is not systematic in any way that survives inspection.
The denominators say why. A single-colour strip is worth an integer, and the sum-over-coins reading produces integers. As soon as both colours are present the values acquire denominators — halves, quarters, eighths, up to thirty-seconds inside six squares — and no sum of integer weights produces a thirty-second. Something is happening between coins of opposite colour that a per-coin reading has no way to express.
How far the values spread
A game whose positions are all numbers invites a second question: which numbers? Over the 728 strips the answer is 218 integers, 110 halves, 136 quarters, 136 eighths, 96 sixteenths and 32 thirty-seconds — dyadic rationals with denominators growing with the length of the strip, and no other kind of number anywhere.
That is what the recursion guarantees: a position born in finitely many moves can only be worth a dyadic rational, because the simplicity rule picks the simplest number strictly between the options and simplicity is measured in halvings. So the denominators are not evidence about Shove; they are evidence that the evaluator is doing what it is supposed to.
What is evidence about Shove is where the small denominators sit. A strip of one colour is worth an integer. A strip with a single colour change is worth a half or a whole number. Each further alternation buys another halving, and the strips with the deepest denominators are the ones that alternate all the way along.
The contrast this is really about
The reason the failed reading matters is that the same reading works perfectly in a game one shelf over.
Hackenbush is a numeral is a genuinely startling fact and it is startling partly because a reader has nothing to compare it against. Shove is the comparison. Both games are partizan, both are cold everywhere, both are decided by a number, and in one the number is written on the board and in the other it is not.
So the Hackenbush result is a fact about Hackenbush, not a general property of cold partizan games. What makes it work there is that the position is a chain — one edge above another, in an order — and the value is built by the ordinal sum running up that chain. A Shove strip is not a chain. The coins are side by side, every one of them affects every other through the shoving, and there is no order to read them in.
What the solver computed, and how
A position is a string over three characters, and the recursion is direct: list the moves for each player by scanning for their coins, evaluate each resulting string, and build the game from the two option lists. Trailing empty squares are trimmed before the memo is consulted, since a coin has no interest in what is behind it.
The census enumerates every string of one to six characters whose last character is a coin — dropping the ones with a trailing gap, because such a strip is a shorter strip with padding — and asks three questions of each. Is the value a number? Does its sign match the colour of the last coin? Does the sum-over-coins reading give it?
The reading is computed independently and compared numerically against the value converted to a rational, so a match is a match and not a coincidence of printed strings. The counts split by whether the strip uses one colour or two, which is what turns “the reading is usually wrong” into the sharper statement that it is exactly right in one case and almost never right in the other.
What a reader can check by hand
Two of the claims on this page are checkable at the kitchen table, and it is worth saying which.
Take LR — a blue coin at the cliff edge and a red one beside it. Left’s only move shoves the blue coin off, leaving .R, which is a lone red coin two squares from the cliff and is worth . Right’s only move shoves the red coin left, which pushes the blue coin off the cliff, leaving R. — a lone red coin at the edge, worth . So the position is , and the simplicity rule gives the simplest number strictly between and , which is .
The reading says . The value is . Both numbers were obtained in two lines and they differ, which is the whole of the third claim done by hand.
The second claim is a two-line argument for the same position. The coin furthest from the cliff is red, so Right should win whoever moves; is negative, so Right does. The interest is that the sign was available before the value: a reader who noticed only the colour of the last coin would have got the outcome right and would have had no idea by how much.
A game with no tempo in it at all
There is a way of saying what Shove is that puts it at one end of a scale the rest of this site occupies, and the other end is a game two fields away.
Every Shove position is a number, so the outcome is the sign of that number, so whose turn it is never matters. That is not a small remark: it says the single quantity this whole subject was built to handle — the advantage of moving — is worth exactly nothing here, in every one of the 728 positions. There is no tempo in Shove. There is only material, measured in dyadic rationals.
Now take a blocked pawn ending, where every file is all-small and every value is infinitesimal. There the material is identically level by construction and the only thing that can decide a position is whose turn it is. There is no material. There is only tempo.
Two partizan games, and between them they cover the two extremes of the same lattice. Shove’s values are numbers, which are the values with a size and no urgency; a pawn file’s are ups and stars, which are the values with urgency and no size. Everything else on this site — every switch, every hot fight, every position with a temperature — sits between the two, being partly one and partly the other, which is exactly what the mean and the temperature are measuring when they are reported as a pair.
That reframes what makes Shove worth an essay. It is not that the game is odd; it is that it is a pure case, and pure cases are what a scale needs at its ends before the middle can be described.
Which makes it not quite a game
Follow the consequence one step further and something uncomfortable falls out.
A board made of several Shove strips is a sum of numbers, and a sum of numbers is decided by adding them up. Not by playing — by arithmetic. Neither player has a decision worth making about where to move, because nobody wants to move anywhere and the outcome was fixed before either of them sat down.
So every apparatus this site builds for choosing a move has nothing to do here. Temperature is zero everywhere, so playing the hottest ranks every component equally and says nothing. The endgame account reduces to its first column, the sum of the means, with no alternating sum of stakes to follow it. Which part to move in has the answer it does not matter, which is the one answer that question never otherwise has.
A cold game is an evaluation problem wearing a game’s clothes. What is left to do is compute a number from a position, which is a question about a function rather than about play — and the essay’s third claim, that no per-coin reading gives that function, is therefore the only genuinely open thing on this page. Every other difficulty has been evaluated away.
That is worth holding beside the first section’s surprise. Shove looks like the most partizan game imaginable: the two players share not one move from any position, which is as far from impartial as a rule set can get. And the effect of that extreme asymmetry is to remove the contest entirely. Being partizan is what makes a fight possible; it is not what makes one happen, and Shove is the demonstration that the two are different things.
Where the model stops
Six squares. The census is complete inside that and says nothing beyond it: 728 positions is enough to make “all of them” a real claim and not enough to make it a theorem. The two structural claims — every position a number, the last coin deciding — both look like they should have short proofs, and neither is proved here.
The reading’s failure rate is a statement about small strips as well. Fourteen of 602 two-colour strips happen to agree with the reading, and those fourteen are coincidences rather than a pattern; a longer sweep would presumably find proportionally fewer, but that is an expectation and not a measurement.
And a warning that applies to the whole page: shoving off the cliff is part of the rule. Put a wall where the cliff is and the game is a different game with different values — and there are two ways to do it, which the census run since has separated.
Let the moved coin take only the contiguous run in front of it, and every one of the 728 positions is still a number and not one of them has the value Shove gives it. Keep the full shove and simply forbid the move when the edge square is occupied, and 140 of the 728 come out — every one of them a strip with a gap at the wall, where both players have one move and it goes to the same place.
So the question the census can answer is not does the cliff matter but how much of the page it was holding up, and the three rules can be put on the same strips and scored together.
So “every position is a number” was a fact about a rule and not about a board, and the rule it was a fact about is more specific than the sentence above suggested: it is the cliff that guarantees it, and one of the two walls keeps the guarantee while the other does not.
Where the ladder goes next
This rung establishes what Shove is: cold everywhere, decided by one coin, and not readable. The rung above is the obvious question the reading’s failure leaves open — whether there is any function of the board that gives the value, and if so what it has to look at that a per-coin sum cannot.
Two neighbours are worth the trip. Cutcake is the other game here whose values never get hot, and its numbers are integers for a reason a reader can see. And a tree is still a number takes the Hackenbush comparison one step further: what happens to the numeral when the position stops being a chain.
What links here
Essays that reach for this one mid-argument — the half of a link its own author cannot write down, the 8 sharing most with it of 19.
What this makes readable
Essays that declare this one a prerequisite.
The objects named here
The third axis, after the field and the series: the games, values and theorems themselves, and every essay that touches each one.
BinaryClosed formCold gameComponentDyadic rationalExact evaluationExhaustive searchHackenbushInteger valuedNormal playNumbersOutcome classPartizanSimplicity ruleTemperature
- The same strip without the jump dyadic rational, exact evaluation, exhaustive search, normal play, numbers, outcome class, partizan, temperature
- Every group must keep breathing component, exhaustive search, normal play, outcome class, partizan, temperature
- The values of every small board exact evaluation, normal play, numbers, outcome class, partizan, temperature
- Two players, two lists closed form, exhaustive search, normal play, numbers, outcome class, partizan
- Maundy Cake cold game, exhaustive search, integer valued, partizan, simplicity rule
- No two heaps alike binary, closed form, component, exhaustive search, normal play