Particular games

Two players, two lists

Give each player their own list of how many counters they may take and the impartial theory stops applying. What survives is the outcome: it settles into a repeat, for every pair of lists, and that is a theorem. What does not survive is the value — on four of six pairs swept it has no repeat inside sixty heaps, and the birthdays are still climbing at the edge of the window.

Assumes: Take one, three or four · Comparing positions

A heap of counters and a rule saying how many may be taken. Take one, three or four is the impartial version and its whole theory fits on a strip: compute the Grundy value of each heap size, watch the sequence settle into a repeat, and every question about every heap of every size is answered by a table that fits on a card.

Change one thing. Give Left the list {1,2}\{1, 2\} and Right the list {1,3}\{1, 3\}. Everything else is the same: one heap, alternate turns, a player who cannot move has lost.

What each heap is worth. The value of a single heap of each size. Nothing here repeats: the forms grow deeper as the heap grows, which is what stops the impartial theory's periodic table from having an analogue.
Fig. 1 The value of a single heap of each size when Left may take one or two counters and Right may take one or three. The first few are recognisable — zero, a star, an up — and then the forms start nesting and do not stop. Every one is computed by the same recursion the impartial version uses; what has changed is that the two players’ option lists are different, so the value is a partizan game rather than a nimber.

The impartial table has become a sequence of game values, and the question is whether it still settles down. The answer is that half of it does.

The one question that still has an answer

Ask only who wins, and the sequence is as well behaved as anybody could want.

Who wins each heap. The outcome of a single heap of each size, for one pair of subtraction lists. The letters settle into a repeat, which is a theorem for every pair of finite lists.
Fig. 2 The outcome of each heap for the same pair of lists. Heap zero is a second-player win, heap one is a first-player win, heap two is a win for Left, heap three is a first-player win — and from heap four onwards every single heap is a win for Left whoever moves. The sequence has period one from heap four, and forty heaps of evidence is more than the two full copies the search requires.

That is not a fluke of this pair. Every pair of finite lists gives an eventually periodic outcome sequence, which is Fraenkel and Kotzig’s theorem from 1987, and it is the whole of what the partizan version inherits from the impartial one. The outcome of a heap of a hundred thousand counters is available from a table with a handful of entries in it, and the table is computed once.

The sweep below runs the period search on six pairs of lists, and the assertion in the code is that every one comes back with an answer. A pair whose outcomes had no period inside the window would contradict the theorem, and would mean the recursion was wrong rather than that something had been discovered.

Six pairs of lists, and the two questions asked of each. For each pair of subtraction lists, whether the sequence of outcomes settles into a repeat and whether the sequence of values does. The first column of answers is a theorem; the second is a search that mostly comes back empty.
Fig. 3 Six pairs of lists, with both period searches run on each. Every pair’s outcome sequence repeats, and the preperiods are short — the longest is twelve heaps. Two of the six have a periodic value sequence as well. Four do not, inside sixty heaps.

The question that stops having one

The value sequence is a different object and behaves differently. For {1,2}\{1,2\} against {1,3}\{1,3\} the search finds no repeat at all inside sixty heaps, and the reason is visible in the values themselves: they get older.

How old the value of a heap is. The birthday of each heap's value, plotted against the size of the heap. A game whose values repeated would give a flat curve; this one climbs, which is what it means for the value sequence to have no period.
Fig. 4 The birthday of each heap’s value — how many days of construction the canonical form is deep — plotted against the size of the heap. A sequence that repeated would give a flat curve after its preperiod. This one climbs, roughly one day for every two counters, and reaches twenty-one inside forty heaps.

A value whose birthday is twenty-one is a form nested twenty-one levels deep, and no two such forms of different depths can be equal. So the curve climbing is not weak evidence that the sequence fails to repeat: it is a proof that it has not repeated yet, since a repeat requires two equal values and equal values have equal birthdays.

The two facts sit side by side and are worth stating together. From heap four onward, every heap is a win for Left. From heap four onward, every heap is worth something nobody has seen before.

Why the outcomes must repeat, and the values need not

The theorem is quoted above; the reason behind it is short enough to give, and giving it is what makes the failure on the other side legible.

Let mm be the largest number in either list — three, for {1,2}\{1,2\} against {1,3}\{1,3\}. Every option of a heap of nn counters is a heap of between nmn-m and n1n-1, so the outcome of heap nn is decided entirely by the outcomes of the previous mm heaps. Slide a window of that width along the sequence and each position of it holds an mm-tuple of outcome classes, and there are only four classes, so there are at most 4m4^m distinct windows in existence. The sequence is generated by a rule that reads the window and writes one more letter. Two equal windows must therefore be followed by equal letters for ever, and by the pigeonhole principle two equal windows must occur within the first 4m+14^m + 1 heaps.

That is the whole proof, and three things about it are worth pulling out. It is constructive: it does not merely assert a period, it says where to stop looking. It bounds the preperiod and the period together, so the certificate the sweep asks for — two full copies past the preperiod — is a finite check with a known ceiling. And it never mentions which games these are. Nothing in it uses subtraction; any rule whose options reach back a bounded distance and whose answers come from a finite alphabet has an eventually periodic answer sequence.

The last clause is where the value sequence falls out of the argument, and it falls out at the alphabet rather than at the window. The value of heap nn is also decided by the previous mm heaps — the recursion is the same recursion, the window is the same width. What has changed is that the entries are games rather than letters, and there are infinitely many games. The window can take infinitely many states, so no two of them need ever agree, and the pigeonhole has nothing to be applied to.

This is why the birthday curve is the right thing to have drawn. It is not a second, independent piece of evidence that the values do not repeat; it is a direct measurement of the quantity the proof needs and cannot get. A sequence of forms whose depths are unbounded is a sequence drawn from an infinite alphabet in the strongest sense — no finite set of values contains them all — and the climbing curve is that alphabet being exhausted in front of the reader, one heap at a time.

What the bound is worth here

The proof gives 4m4^m as the place to stop looking, and for these lists m=3m = 3, so sixty-four heaps certifies the outcome sequence of {1,2}\{1,2\} against {1,3}\{1,3\} completely. The sequence in fact has period one from heap four.

A factor of sixteen between the bound and the fact is not a defect in the proof, and it is the same gap the impartial side has been living with for fifty years. The period is small and the proof does not say so is that story on the Grundy sequences, where the gap runs to four orders of magnitude: a pigeonhole argument counts every window the alphabet allows, and the windows a real game actually visits are a vanishing fraction of them. The bound is honest about what it knows, which is nothing about the game beyond its arity.

What the gap costs in practice is nothing at all, because the search reports where it stopped. Sixty heaps swept against a sixty-four heap ceiling means the outcome answers here are not empirical at all — they are complete, and the sweep could have said so.

Why the impartial theory promised both at once

The gap is strange because in the impartial case there is no gap. A Grundy value is an outcome — of the heap added to a Nim heap of each size — so the periodic table answers both questions with the same entries. Knowing 3\ast 3 is knowing who wins that heap and knowing who wins it beside anything else.

That is testable inside this game rather than by pointing at a different one. Hand the same solver two identical lists and nothing about the machinery changes — the same recursion, the same canonical forms, the same two period searches — but the game being solved is impartial again, and the split ought to close.

What each heap is worth. The value of a single heap of each size. These lists are one of the few pairs whose values repeat — period 4 from heap 0 — so the forms stop deepening and a finite table settles every heap.
Fig. 5 The same partizan solver, handed {1,2,3}\{1,2,3\} against {1,2,3}\{1,2,3\}. Every canonical form it returns is a nimber — 0,,2,30, \ast, \ast2, \ast3 and round again — so the value sequence repeats with period four from heap zero, sixteen of the first sixty-one heaps are worth a number, and the whole sweep contains four distinct values. The outcome search and the value search return the same period, which is the collapse the rest of this essay is measuring the absence of.

Nothing was assumed to make that happen. The solver does not know the lists are equal and has no impartial branch in it; the nimbers arrive because equal lists make every Left option a Right option, and a form whose two option sets agree reduces to a nimber.

The reason the partizan version loses this is that a partizan value carries information the outcome does not. Two positions with the same outcome can behave completely differently in a sum: outcomes do not add, and the value is precisely the object that does, since two positions are equal when they are equal in every company. So the value has to distinguish more positions than the outcome does, and here it distinguishes all of them.

That makes the partizan case an unusually clean illustration of a general point. A complete invariant for sums is a much stronger thing than a rule for who wins, and the price of the first is that it need not repeat.

The pair that does repeat, and why

Two of the six pairs in the sweep have a periodic value sequence, and both are instructive.

What each heap is worth. The value of a single heap of each size. These lists are one of the few pairs whose values repeat — period 3 from heap 0 — so the forms stop deepening and a finite table settles every heap.
Fig. 6 Left may take one counter and Right may take two. The values run 0,1,10,0,1,10,0,0, 1, 1 \mid 0, 0, 1, 1 \mid 0, 0, \dots with period three from the start, and 41 of the first 61 heaps are worth numbers. Nothing can accumulate here: each player has exactly one move, so a heap’s form has at most one option on each side and there is no room for depth to build.

That is the mechanism. Depth accumulates when a heap’s options are themselves deep, and a heap’s options are deep when there are several of them pointing at different places. With one move each, the tree is a path and the reduction flattens it. With two moves each and the lists overlapping in only one entry, every heap’s form has two Left options and two Right options that reduce to different things, and the depth ratchets upward.

The other periodic pair, {1,2,3}\{1,2,3\} against {2,4}\{2,4\}, repeats with period five from heap five and its deepest value is four days old. It is the pair whose lists overlap most: Right’s moves are both available to Left, which means Left can always answer a Right move by imitating it, and the imitation collapses most of the tree.

What the values look like on the way up

The forms in the climbing sequence are not arbitrary. The first few are 00, \ast, \uparrow,  ⁣\uparrow\!\ast, {}\{\uparrow \mid \ast\}, 2 ⁣ ⁣ ⁣2\!\cdot\!\uparrow\!\ast, \Uparrow — a walk through the small infinitesimals — and after that they become {0{0{0}}}\{0 \mid \{0 \mid \{0 \mid \dots\}\}\}, a left-leaning stack that grows one level at a time.

Only one of the first sixty-one is worth a number, and that is heap zero. Every other heap in this pair is worth something no number reaches, which puts the whole family in the all-small neighbourhood and makes every heap confused with zero or better: a player has a move exactly when their opponent does, because both lists contain 11 and a heap with a counter in it can always be reduced by one.

The contrast with the impartial side is a collapse rather than a shorter table, and it is worth saying in that form. Take one, three or four gives every heap a nimber, and a nimber is a closed form for the heap: the position is a Nim heap of that size, in every company, for ever, and the four symbols the sequence uses are the whole vocabulary the game will ever need. Here the two lists differ, so no heap equals a heap of anything, there is nothing simpler for a value to be equal to, and the form has to carry itself. That is why the sequence has sixty-one distinct entries in sixty-one heaps rather than four.

What the split costs a player

The two halves of the answer are useful for different things, and the difference is not academic.

A player sitting in front of a single heap wants the outcome, and the outcome is cheap. That is the ordinary situation in a puzzle and the unusual one in a game: real boards break into parts, and a rule for a single part is a rule for a case that rarely arises. Four entries and a rule — from heap four onward, Left wins — settles every position of this game there will ever be, and the table fits on a card.

A player sitting in front of several heaps of the same game wants the value, and the value is what has no table. The outcome of a sum is not a function of the outcomes of its parts, so the card is useless the moment a second heap appears on the board; what is needed is the value of each heap, and those are all different and all deep.

Knowing who wins is not enough. Three pairs of positions, every one of which is in outcome class N on its own. Their sums are not all the same, and not all in the same outcome class — so the outcome of a sum cannot be worked out from the outcomes of its parts, and that is why the theory needs values.
Fig. 7 Why the card stops working. Each row is a pair of positions with the same outcome class, added, and the sums land in different classes. Knowing who wins each part is not knowing who wins the whole — which is the standing reason a value is worth more than an outcome, and the reason the cheap half of the answer to a partizan subtraction game is the half that answers less.

So the theorem and the failure are not a good half and a bad half of the same result. They are answers to two questions, and the one with the periodic answer is the one that does not compose.

What the solver computed, and how

The values are built upward rather than by recursion from the top. Every option of heap nn is a smaller heap, so one pass fills a table of sixty-one canonical forms and nothing is evaluated twice.

The two period searches run on genuinely different sequences. Outcomes are one of four letters and compare as letters. Values are compared by canonical key — the interned identity of the reduced form — rather than by their printed names, because the printer truncates below depth three and two different deep values print as the same string of dots. A period read off the printed forms would have reported repeats in every one of the four pairs that have none, which is exactly the mistake the key exists to prevent.

A period is only reported when two full copies of it fit inside the window past the preperiod, and the window is reported with the answer. “No period inside sixty-one heaps” is a statement about a search; “period one from heap four” is a statement about a sequence, on the strength of thirty-seven further heaps agreeing.

The three-move pairs, and where the depth comes from

Setting the two lists side by side makes it possible to say roughly when the values will climb.

Depth is manufactured at a heap when the mover’s options reduce to several different things and none of them dominates the rest. If the two lists are equal the game is impartial and every heap collapses to a nimber — no depth at all, ever. If one list contains the other, the larger player can imitate and the tree flattens a great deal. If the lists are of size one, each heap has one option a side and there is nothing to dominate.

What is left is the case where the lists are different, both have more than one entry, and neither contains the other. That is the case in which the two players are genuinely playing different games on one board, and it is where every partizan complication on this site comes from. All four of the pairs with no value period in the sweep are of that shape, and both of the pairs that do repeat fail it.

What each heap is worth. The value of a single heap of each size. Nothing here repeats: the forms grow deeper as the heap grows, which is what stops the impartial theory's periodic table from having an analogue.
Fig. 8 Left takes two or three, Right takes one or four: lists of the same size with nothing in common. The values are deep by heap eight and the sequence has no repeat inside sixty-one heaps, while the outcome settles from heap twelve. The preperiod for the outcome is the longest in the sweep, which is the one place where the two questions’ difficulty runs the same way.

That is a description rather than a theorem, and it is offered as one. What would make it a theorem is a bound on the birthday in terms of the two lists, and no such bound is computed here.

Who found it, and what they were after

Fraenkel and Kotzig proved the outcome result in 1987, in a paper about partizan octal games rather than about subtraction specifically. The context matters: the impartial theory had by then produced periodicity results for whole families of games, and the natural question was how much of that machinery survived the move to partizan rules.

The answer they gave is the one drawn above and it is a careful answer. Outcomes are eventually periodic; values are not claimed to be. Later work — Fraenkel and Kotzig’s own, and then a line of papers through the 2000s — showed that for particular families the values do settle, and the shape of the condition is the one this sweep gestures at: the lists have to be related, by containment or by equality, for the depth to stop accumulating.

What has not appeared is a general theorem in the other direction. Nobody has a description of the values of {1,2}\{1,2\} against {1,3}\{1,3\}, and nobody has shown there is none. That is an unusual position for a game this easy to state, and it is the same position Grundy sequences are in on the impartial side — a rule three words long whose behaviour resists description.

Subtraction of 1, 3, 4 — and the window that proves the period. The Grundy values of a subtraction game, with the window that certifies the period marked. Everything after the window follows from it by induction, because a value is a mex over values at most one move back — so a finite check settles the whole infinite sequence, and the thousands of further values computed here agree with a claim that was already proved.
Fig. 9 The impartial side for comparison: the subtraction game {1,3,4}\{1,3,4\} with its period marked and the window that certifies it. A finite subtraction set always has a period, the certificate is the length of the largest move, and it is checkable in a glance. Nothing of that kind exists for the partizan values.

That reframes what the search should be looking for. Two full copies of the period is the certificate the sweep demands, and it is stricter than it needs to be in one direction and weaker in another. What actually certifies an outcome sequence for ever is a repeat of the window: if the last mm outcomes match mm consecutive outcomes seen earlier, the rule that generates the next letter is being fed exactly what it was fed then, and everything after must agree. A period of one from heap four is certified the moment heaps four, five and six match heaps five, six and seven — at heap seven, not at heap sixty.

Where the two rules diverge is on the pairs with a longer reach. {1,2,3}\{1,2,3\} against {2,4}\{2,4\} has m=4m = 4, so its ceiling is two hundred and fifty-six heaps and the sweep ran sixty; its period of five from heap five is nonetheless certain, because five exceeds four and the window has demonstrably repeated. The ceiling is the worst case over all games with that reach, and a particular game reaches its own repeat whenever it happens to.

Where the model stops

Sixty-one heaps and six pairs of lists. The theorem about outcomes covers every pair of finite lists and is quoted rather than proved here; what is computed is that six particular pairs obey it, which is a check on the recursion rather than evidence for the theorem.

The negative claim is weaker than it looks and is stated in its weak form throughout: four of the six pairs have no value period inside sixty-one heaps. A period beginning at heap two hundred would be invisible here. What makes the negative worth reporting anyway is the birthday curve, which is not a search: a sequence whose birthdays are unbounded cannot repeat at all, and the curve for {1,2}\{1,2\} against {1,3}\{1,3\} is rising steadily with no sign of levelling. Rising steadily is not unbounded, and the gap between those two statements is exactly what this site cannot close.

Where the ladder goes next

This rung establishes the split: outcomes periodic, values not. The rung above is the question of what the values are — whether the climbing sequence has a description, since a sequence of forms that grows by one predictable level each time is a sequence with a pattern even if it has no period.

Two neighbours are worth the trip. The period is small and the proof does not say so is the impartial version of the periodicity question, where the fact and the bound are four orders of magnitude apart. And where the impartial theory stops is the general account of what a single number can and cannot carry.

Part 1 of 3

One argument about Partizan subtraction. The parts either side of it:

What links here

Essays that reach for this one mid-argument — the half of a link its own author cannot write down.

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.

BirthdayClosed formDepthEventual periodicityExhaustive searchGrundy valueImpartialInfinitesimalNormal playNumbersOutcome classPartizanPeriodicityStar (∗)Subtraction gameUp (↑)