Wed, 23 Sep 2026
Noting another house repair chore victory
Yesterday I reported about how much I despise home repair, how I feel I'm really bad at it, how it sometimes goes terribly wrong for me, and how my work diary had demonstrated that a seeming failure was catually a glorious success.
I included this picture of our (formerly!) leaky laundry tub, and it reminded me of something else.
When we first moved into the house, more than four years ago now, that black outflow hose was unsecured. If you weren't careful — and sometimes even if you were — it would thrash around while the washer was emptying, and sometimes spray water everywhere.
In the first week or two after we moved in, there was a long list of minor problems like that. I found some store online that was selling a fix for the thrashing hose. The fix, which you can see in the picture, is a stiff but flexible rod with a collar at each end. You affix the collars around the top and bottom ends of the hose, then bend the flexible rod to force the hose to point in the direction you want. Then the hose can't thrash.
I observed a while back that the worst projects are also the ones that are easiest to remember. These are the ones that drag on for months, requiring endless adjustments, different approaches, and a lot of thought and toil. Or they're the ones that fail completely leaving some unfinished damage that reminds me every day that what I did didn't work.
Here's an example in the other direction. I didn't know how to solve this problem, but I found a solution, I executed it, and because the solution has worked flawlessly for more than four years I completely forgot about it until today when I was looking at this photo.
The work diary can help with this sort of thing. If I had a rollup page for laundry room issues I would be able to open it and see a list of all the things I had gotten right over the years, instead of forgetting them and only remembering the stuff that went wrong.
Addendum
Another example that occurs to me: in our house it's my job to unclog toilets. How many times over the years has a toilet clogged and I unfussily unclogged it with the plunger? Too many to count. And there have been other occasions when the plunger didn't work, so I would shrug, and go downstairs to get the toilet auger. I don't remember these many episodes because to me they were no big deal.
I should try to remember that no matter how incompetent I feel in general, just owning a toilet auger puts me way ahead of a lot of other people.
[Other articles in category /brain] permanent link
Tue, 22 Sep 2026[ Content warning: mundane, rambly, neurotic. ]
A couple of years back I wrote a long whiny blog article about putting up some shelves in the bathroom and how miserable it had made me to do it. I said:
When I put up shelves in the bathroom back in May, I was a psychological mess. For every little thing that went wrong — and there were quite a lot — I got all stressed out and wondered why I dared to perform this task. The outcome was good, but I had a lot of stress getting there.
Through the whole thing I felt like I didn't know what I was doing, I didn't know if I was about to make some terrible mistake that would ruin the whole project, and I didn't know if I was about to produce a humiliating disaster that a professional would have to be called in to do over.
This is a lot of bad feeling for a project that, in hindsight, went smoothly and ended in success. I finished timely. The shelves served us well until we moved out eight or nine years later. I don't think that most of the people who came through there thought anything like “gosh, I wonder what incompetent installed these ridiculous shelves?”.
Anyway that is not what I planned to talk about this time.
I loathe home repair
In our laundry room the washer dumps its outflow into a deep plastic sink with a drain, which we call a "tub". A while back the tub developed a big crack in its bottom that was leaked dirty water onto the floor. We put a bucket underneath, but that is just a workaround, not an actual solution.
I thought with displeasure of the two unpalatable choices for replacing the tub with a new one. I could pay a plumber to do it, and it would probably be done competently, but would cost a lot of money. Or I could attempt to do it myself, and it might be done competently, and it might cost much less money… or I might be taking the first step on the road to Hell.
If I were to attempt it myself, I would not only have to learn how to do the task, and then get it right the first time, I would also have to figure out on the fly how to fix the parts of the task I didn't get right the first time. The worst case here could be very bad, much worse than just “oh well, guess I'll have to call the plumber”. There are a lot of ways it can go very wrong.
I'd have to buy supplies, the right supplies, and if I discovered partway through that I didn't have the right supplies or tools I'd have to stop work and go back to the store for the right ones, interrupting the project. Or maybe the store has closed and we are without laundry service until it reopens.
If I didn't get the task done right the first time, I would need new supplies to try again, and maybe additional supplies to fix the mistake.
I might break something else that wasn't broken to begin with.
I do not find this kind of work fun. I hate it, and the longer it goes on the more I hate it. By trying to replace the tub myself I might be stepping into a tar pit.
This isn't just neurosis. There are projects in my house that I thought would be straightforward that are perpetually unfinished for exactly this sort of reason: I started, and something went wrong that I didn't know how to fix.
In these kinds of jobs there is often some subtask where you have to get two parts together by forcing them, or there is often some subtask where you have to cajole two parts together but forcing them will ruin them. If you mistake the second kind of subtask for the first you have the fun of putting the broken parts in the trash and starting over, or maybe just hurling yourself into the sea.
So instead of replacing the tub, I thought that I could try an easy intervention: I could try to seal the crack with silicone goo. It might not work at all, but it would be quick and easy to try, and it wouldn't make the problem worse than it already was — the tub was already leaking. And I had the silicone in the house already.
I did that and it seemed to work, so with relief I put it out of my mind for a while.
Return of the leak
Time passed and last week I learned that the tub was leaking again. I took a look into the tub and saw that the silicone from last time seemed to be holding okay, but that the crack had gotten bigger.
I was disappointed. I had hoped that the silicone would solve the problem. But it appeared that it hadn't, and the leak was just going to keep coming back. The silicone hadn't worked, except as a short-term workaround, and it seemed I would need to replace the tub anyway.
Probably, I thought, if I knew what I was doing, I would have known that silicone goo is not the right way to fix something like this. Maybe someone who knew the right way would have scoffed and said “Silicone? Pff, don't you know that stuff will start coming off in two weeks?” Or maybe “Pff, that crack is just going to spread.”
But I went and glumly patched the new, bigger crack with more silicone to give me some time to think about what to do to take care of the problem for good.
Work diary to the rescue
And then something magic happened. I went to make a note about it in my work diary.
The work diary is just an attempt to track stuff at home with a ticketing system, similar to how I do when I'm at work. Each task I need to do gets a ticket, which starts out as a mostly blank page. When I work on a task, I make a note in the ticket about what I did, with the date. When a task is done, I mark the ticket closed.
When the tub had first started leaking I had opened a ticket for it. Then whenever there was some new development on the tub, I added a date and a note — there was a cluster of notes from around the time I had been trying the silicone, noting what kind I had used and how long it had taken to cure. Then I had closed the ticket. Now I reopened it.
Why go to the trouble of a ticketing system for chores like this one? There are lots of reasons, and I hope to write more about this in the future. But today's an example is an unusually good one:
When I went to update the ticket with the new status, I saw that my previous attempt to fix the problem…
(the one I thought hadn't worked…)
had been in May 2025.
The silicone patch I had put on had solved the problem for sixteen months. I had had no idea that it had been so long ago.
That changed things completely. I had been thinking:
I put the silicone on, it worked for a while as a stopgap, but it soon failed and I need to come up with a different plan.
Wrong! With the new information, there was a completely different interpretation:
I put the silicone on, it took only twenty minutes, cost next to nothing, and worked for sixteen months.
The patch was not a failed workaround, not a short-term solution while I figured out the real solution. The silicone was the real solution! If all I need to do to keep the tub working is to smear goop on it every sixteen months, I don't need a better solution!
That date recorded in the work diary changed “it didn't work” into “problem solved”.
Addendum 20260923
A followup about the work diary as it relates to other laundry machine issues
[Other articles in category /brain] permanent link
Sat, 12 Sep 2026
George Orwell's essay on the atomic bomb anticipates Nineteen Eighty-Four
Lately I've been reading Orwell's collected work from 1945–1950, which was being deaccessioned from the library. It opens with a short but fascinating essay on “You and the Atom Bomb”, published 19 October 1945. It seems clear that Orwell's thinking about this development led directly to his novel Nineteen Eighty-Four, which was written in late 1948.
Orwell's initial focus is:
The question that is of most urgent interest to all of us, namely: “How difficult are these things to manufacture?”
This is important, he says, because:
Ages in which the dominant weapon is expensive or difficult to make will tend to be ages of despotism, whereas when the dominant weapon is cheap and simple, the common people have a chance. … A complex weapon makes the strong stronger, while a simple weapon — so long as there is no answer to it — gives claws to the weak.
Obviously, the atom bomb is in the first category.
Then we come to the part that is clearly the road to Nineteen Eighty-Four:
We have before us the prospect of two or three monstrous super-states, each possessed of a weapon by which millions of people can be wiped out in a few seconds, dividing the world between them. It has been rather hastily assumed that this means bigger and bloodier wars, and perhaps an actual end to the machine civilisation. But suppose — and really this is the likeliest development — that the surviving great nations make a tacit agreement never to use the atomic bomb against one another? Suppose they only use it, or the threat of it, against people who are unable to retaliate? In that case we are back where we were before, the only difference being that power is concentrated in still fewer hands and that the outlook for subject peoples and oppressed classes is still more hopeless.
By 1945 the three super-states were taking shape. Orwell writes about how in 1941 it had appeared that the Axis powers would win the war (he mentions James Burnham's The Managerial Revolution) so that Germany (not Russia) might control Europe and Asia, while Japan (not China) might control East Asia, but he said this was just a “miscalculation”:
More and more obviously the surface of the earth is being parcelled off into three great empires …. The haggling as to where the frontiers are to be drawn is still going on, and will continue for some years, and the third of the three super-states — East Asia, dominated by China — is still potential rather than actual.
The frozen and oppressive political milieu of Nineteen Eighty-Four is clearly laid out:
Mr H.G. Wells and others have been warning us that man is in danger of destroying himself with his own weapons…. Nevertheless, looking at the world as a whole, the drift for many decades has been not towards anarchy but towards the reimposition of slavery. We may be heading not for general breakdown but for an epoch as horribly stable as the slave empires of antiquity. … The kind of world-view, the kind of beliefs, and the social structure that would probably prevail in a state which was at once unconquerable and in a permanent state of “cold war” with its neighbours.
Nineteen Eighty-Four was published in 1949, and Orwell died the following year after a long battle with tuberculosis. His essay on “You and the Atom Bomb” is available online courtesy of the Orwell Foundation and Orwell's estate.
[Other articles in category /book] permanent link
Fri, 21 Aug 2026
The road to epsilon-zero: Shortlex order also orders sequences of numbers
Previously:
- Ordinal numbers and basic set theory
- Ordinals as nim-heaps
- Nim always ends, even with infinite ordinals
- Infinite Nim as a coin-moving game
- Coin-moving games with no coins
- Productive programs and well-founded orders
In part 4, Infinite Nim as a coin-moving game, we saw how to reinterpret infinite Nim into an equivalent game: instead of heaps of beans and various special tokens, we interpreted it as a game about moving coins first on a track, then on a grid, and then in a rather difficult-to-visualize infinite-dimensional space.
In part 5, Coin-moving games with no coins, we stopped thinking about the coins and their locations in space, and just wrote down the coordinates of each coin. Each coin has an infinite sequence of coordinates, each of which is a non-negative number. But crucially, only a finite number of the coordinates are greater than zero, so every coin's list of coordinates can be written down as a finite sequence, with the infinite tail of zeroes left implicit.
The rule for the original game of Nim was: take as many beans as you want from any one pile.
The rule for the reinterpreted form is: reduce any one sequence of coordinates, as follows:
- Pick any nonzero coordinate
- Reduce it by at least 1
- Replace any coordinates to the left of that one with any numbers at all
For example, we can move from !!⟨2, 3⟩!! to !!⟨17, 2⟩!! (the !!3!! has decreased), or to !!⟨1, 3⟩!! (the !!2!! has decreased). We can move from !!⟨9, 3, 7⟩!! to !!⟨1000, 23, 5⟩!! (the !!7!! has decreased), or to !!⟨86, 19, 0⟩!!, which we can also write as !!⟨86, 19⟩!!.
Now that we've learned about shortlex order, we can state the game rule more simply:
Replace any one sequence of coordinates with one that is earlier in shortlex order.
There's one minor wrinkle. We had defined shortlex order as:
- If the sequences are different lengths, the shorter one comes first.
- If they're the same length, compare them lexicographically.
None of that has changed, but we need to be a bit careful about “lexicographically”.
When we write ordinary numerals, like 239, we write the most
significant part on the left. In this case it's the !!2!!, which represents
!!200!!. And when we compare numerals of the same length
lexicographically, we compare these most significant parts first,
moving rightward only if the leftmost parts are tied.
To lexicographically compare sequences of coordinates or the same length, we still need to begin with the most significant part as before. But because of how we are writing the sequences, the most significant part is the rightmost component. A sequence like !!⟨9, 3, 2⟩!! represents a nim-heap of !!9 + ω·3 +ω^2·2!! beans, and the !!2!! is the most significant component, because !!ω^2·2!! is vastly more than !!9+ω·3!! beans.
I said at some point that !!ω^ω!! was where the ordinals start to get scary. But !!ω^ω!! is now not scary at all. It's just the family of of nim-heaps where:
- Instead of beans, we think of a heap as a finite sequence of finite numbers
- Instead of imagining the player removing beans from a heap, we imagine them replacing the sequence with a sequence that is earlier in shortlex order
And to play Nim with ⸢heaps⸣ of this sort, the winning rule is, as always, that the winner is the player who reduces the last ⸢heap⸣ to to zero.
We can completely forget about beans, about infinite piles, about infinite varieties of colored tokens, about coins moving around in infinite-dimensional spaces, and so on. !!ω^ω!!-Nim is just finite sequences of ordinary numbers, and you can move from one sequence to any earlier one.
I think !!ε_0!! is going to arrive in the next article.
[Other articles in category /math/ordinals] permanent link
Thu, 13 Aug 2026
The road to epsilon-zero: Productive programs and well-founded orders
Previously:
- Ordinal numbers and basic set theory
- Ordinals as nim-heaps
- Nim always ends, even with infinite ordinals
- Infinite Nim as a coin-moving game
- Coin-moving games without the coins
Previously we saw how to interpret the difficult-seeming ordinal !!ω^ω!! as a particular ordering of the set of finite sequences of numbers, revealing what seemed like a scary monster as gentle and straightforward.
Now we're going to take a sidetrack into one of my favorite topics, computation with infinite lists. I wrote about this for The Perl Journal in 1997 and then it turned into chapter 6 of Higher-Order Perl and here we are again. Gosh! it just keeps coming back. Like John the Baptist.
Infinite lists
Suppose you have an infinite set of strings — we'll call this set !!S!! for the rest of the article — and you want a program to print them all out. Of course the program can't exactly print them all out, because it will only run for a finite amount of time. But there are more and less useful ways for the program to try.
For each string that the program is supposed to print, we should at least be able to guarantee that the the program will print it, eventually, if we just wait long enough. If this is true then we'll say that the program is “productive”.
Here's a productive program to print the base-10 numerals for all the positive integers:
# Python
i = 1
while True:
print(i)
i += 1
What would a non-productive program look like? Here's an example of a non-productive program to print the base-10 numerals for all the positive integers:
# Python, silly
i = 1
while True: # print all the odd numbers
print(i)
i += 2
i = 2
while True: # then print all the even numbers
print(i)
i += 2
This one tries to print all the odd numbers first, and then all the even numbers. Obviously that doesn't work because it never finishes with the odd numbers. If you were to sit around waiting for the number !!14!!, you'd wait forever. Whereas with the first program, whatever number you are waiting for, even if it is very very big, it will come out eventually.
That's what I meant when I said there are more and less useful ways for a program to try to print an infinite set. The first one never finishes, true, but the way in which it never finishes is much more useful than the way in which the second one never finishes.
Okay, that was a silly example. But there are less silly examples.
Printing strings in sorted order
A productive program is always semidecidable: if a user wants to know if some particular string !!s!! is in !!S!!, and they wait long enough, !!s!! will come out and they have the answer. But if !!s!! isn't in !!S!!, they never find that out! They just wait and wait, wondering if it will come out, and never getting a definitive answer.
If we can get a productive program to produce its strings in sorted order, we can make a better guarantee. The program will be decidable: the user will eventually get an answer, one way or the other. If !!s\in S!! the productive program will eventually produce !!s!!, and the user can stop watching. But if !!s\notin S!!, the program must eventually produce a string that comes after !!s!! in sorted order, and they can quit then. And the program must eventually produce some string that comes after !!s!!, because, being productive, it eventually produces every string in !!S!!.
(What if there is no string in !!S!! that comes after !!s!! in sorted order? Then the productive program will first produce all the strings that precede !!s!!, then it will produce !!s!!, and then it will halt. When it does that user has their answer, whatever it is.)
Not every program is productive
The non-productive program I showed above is silly, but productivity isn't something you can always guarantee, if you want the data in sorted order. Some orders work, and some don't.
The conventional order for strings, implemented by Python's
< operator or C's strcmp, is called lexicographic, which means
“dictionary-style”. There are some sets of strings for which
no productive program can print all the strings in lexicographic order.
For example, consider the set of all strings that are made up of
either all as or all bs:
a
b
aa
bb
aaa
bbb
aaaa
bbbb
…
Notice that this list is not in lexicographic order, because in
lexicographic order, the string aa should come out before b.
There is no productive program to print this set in lexicographic order. Why not? Because in lexicographic order the list begins like this:
a
aa
aaa
aaaa
aaaaa
…
and the program never gets around to printing any of the strings with
bs. This is analogous to how the non-productive example earlier waited to
print even numbers until after it was finished with the odd numbers.
To print these strings in lexicographic order would meansto print the
strings beginning with b after printing the strings
beginning with a. But the program never does finish with the strings
beginning with a. The program is supposed to produce bbb, but it
never does, no matter how the user waits. And it's supposed to reach
a point where the user can be sure that banana will not come out,
but it never does that either, it keeps printing as and never prints
a string like bbb that comes after banana in lexicographic order.
The problems with lexicographic order are even worse than this example shows. Consider this set of strings:
b
ab
aab
aaab
aaaab
aaaaab
…
Notice again: not lexicographic order, because b should come out last, not first.
But what should come first? A program to print these strings in lexicographic order
can't even get started, because in lexicographic order, this list of strings doesn't have
a first element! The program can't print out b first because all
the a strings were supposed to come out before that. And it can't
print out ab first because aab was supposed to come out before
that. And it can't print out aaaaaaaaab because aaaaaaaaaaaaaaab
was supposed to come out before that. Whatever string the program
tries to print out first, it will have made a mistake!
If you're trying to print out an ordered, infinite list of strings, lexicographic order just won't do.
Lexicographic order isn't well-founded
In an earlier article in this series we talked about “well-founded” orders. In a well-founded order, every set of items has a first item, if it has any at all. Writing a productive program for a well-founded order is easy:
- Repeat forever:
Question: Are there any items left to print?
No: Halt
Yes:- Let !!P!! be the set of unprinted items
- Let !!s!! be the first item in !!P!!
(There must be one, because we're printing the items in a well-founded order) - Print !!s!!
As we saw, the conventional lexicographic order is not well-founded for strings. Some sets simply don't have a lexicographically first element.
So in circumstances where we might be handling infinite data streams, we often prefer a different string ordering, almost as simple and considerably better-behaved.
Shortlex order
You already know this one, although perhaps not by that name. It's
nothing more than the order we use for regular numerals like 723.
It's not lexicographic, because as you've probably noticed, in
lexicographic order, 10 comes before 2. Here's the track listing
of my copy of Quadrophenia, as listed by the Unix ls program:
1 I am the sea.mp3
10 I've had enough.mp3
11 515.mp3
12 Sea And Sand.mp3
13 Drowned.mp3
14 Bell Boy.mp3
15 Doctor Jimmy.mp3
16 The Rock.mp3
17 Love Reign O'er Me.mp3
2 The real me.mp3
3 Quadrophenia.mp3
4 Cut my hair.mp3
5 The punk and the godfather.mp3
6 I'm one.mp3
7 The dirty jobs.mp3
8 Helpless dancer.mp3
9 Is it in my head.mp3
Hey, wait, why did ls put track 17 ahead of track 2? Because ls
lists files in lexicographic order, and in lexicographic order, 17 comes
ahead of 2 for the same reason that agony and the other ag-
words come before bony and the other b- words in the dictionary:
1 comes before 2 just as a comes before b.
If you name your files after numbers, then when the computer lists them in lexicographic order, they won't be in numeric order. Numeric order isn't lexicographic. But numerals, in shortlex order are in numeric order, and of course it's trivial to print all possible numerals in numeric order.
The rule to compare two strings in shortlex order is:
- If the strings are different lengths, the shorter one comes first.
- If they're the same length, compare them lexicographically.
Compare the shortness first, and use lexicographic comparison as a tiebreaker. Hence “short” + “lex”.
Consider what this means for numerals. Here's a list of binary numerals from !!0!! to !!15!!:
0
1
10
100
1000
1001
101
1010
1011
11
110
1100
1101
111
1110
1111
It looks strange because it's in lexicographic order — all the numerals that begin with 10
appear before all those beginning with 11, which means that 1000
comes before 11, even though (checking my notes) !!3 \lt 8!!.
If we want to print all binary numerals in lexicographic order, we're out of luck. The list starts like this:
0
1
10
100
1000
…
and we never get to printing any of the numerals starting with 11,
including 11 itself.
In shortlex order, it's what we expect. We get the numeral for every number, and in numeric order:
0
1
10
11
100
101
110
111
1000
1001
1010
1011
1100
1101
1110
1111
…
Unlike lexicographic order, the shortlex order is well-founded. Remember that “well-founded” means that every set of strings has a first element. But in lexicographic order, this set of binary numerals has no first element:
11
101
1001
10001
100001
…
In shortlex order there's no problem. There can't be, because shortlex order is numeric order, and if numeric order wasn't well-founded there wouldn't be a productive program to print all the numerals in order, which of course there is.
The infinite lists that we couldn't put into lexicographic order before give us no trouble in shortlex order. In fact, I listed both in shortlex order already:
a b
b ab
aa aab
bb aaab
aaa aaaab
bbb aaaaab
… …
For strings, shortlex order is well-founded, which means that every set of strings contains a first element. Here's why: Consider some set !!S!! and some string !!s\in S!!. The string !!s!! has a length !!\ell!!. Consider the set !!E!! of strings that come before !!s!!. The set !!E!! must be finite because every string that comes before !!s!! in shortlex order has length less than or equal to !!\ell!!, and there are only a finite number of such strings.
If !!E!! is empty, then !!s!! itself is the first string in !!S!!. If !!E!! is not empty, then, being finite, it must have a first element. (Just sort !!E!!.) This first element is the first string in !!S!!. Done.
Wait, why are there are only a finite number of strings with length less than or equal to !!\ell!!? Well, there are only a finite number of strings of length !!0!!. (There's only one.) And there are only a finite number of strings of length !!1!!: If the character set contains !!n!! symbols, there are only !!n!! with length !!1!!. Similarly there are only !!n^2!! strings of length !!2!!, and so on. Since there are only a finite number with each length up to !!\ell!!, we just add up this finite list of finite numbers and the sum is finite. And since every string in !!E!! has length no more than !!\ell!!, the number of strings in !!E!! is at most this finite number.
Coming next: Shortlex order also orders sequences of numbers.
[Other articles in category /math/ordinals] permanent link
Tue, 11 Aug 2026
There are two kinds of theorems
In mathematical study there are two kinds of theorems, which serve very different purposes. Math instruction follows the same pattern. Students are often very puzzled by this, and rightly so, because it's never explained, or at least I've never seen it explained. There is this crucial, critical piece of mathematical methodology which is never made explicit, students just have to figure it out on their own, and many of them never do.
When we do mathematics, we construct a simplified model of some phenomenon. For example, Euclidean geometry is a simplified model of how shapes and lines actually work.
In formal geometry, things are simple: lines have no thickness, and three or more lines might all intersect at the exact same point. There are perfect circles, where every point is the exact same distance from the center, and there are perfect rectangles with perfectly straight sides and perfectly equal angles.
Real shapes aren't like this. Nobody can draw an infinitely thin line. Nobody has ever seen a geometrically perfect circle or rectangle. Three lines, however carefully drawn, will always intersect in three different places. That's okay! The point of geometry is to construct a simplified model that is easier to deal with.
When we're setting up a mathematical model, we start by describing its basic objects, like points and lines, and with axioms and postulates, what properties we intend the objects to have. For example, Euclid has:
- A line is breadthless length.
- A circle is a plane figure contained by one (curved) line with a point inside, the center, so that the segments from the center to the boundary of the circle are always of equal length
- All right angles are equal.
Having done that, we state and prove the theorems of the first kind. We're not studying the actual phenomenon yet. We're not yet trying to learn anything new about shapes and circles. Instead, we're investigating the model itself:
Is the model accurate? Does it seem to lead to wrong conclusions? What happens if we try to prove things that we know are are false? The proofs should fail! If they don't, something is wrong with the model, and we need to fix it.
Is the model powerful enough to prove at least simple things about the actual phenomenon? If it can't encompass the simple aspects of the phenomenon, we haven't much hope of using it to understand more complex aspects.
So for example Euclid starts by proving extremely simple theorems. For example, propositions 4 and 5:
- Proposition 4: If in triangles !!ABC!! and !!A'B'C'!! we have !!AT=A'B'!! and !!AC=A'C'!! and !!\angle A = \angle A'!!, then the two triangles are congruent.
Proposition 5: If two straight lines cut one another, then they make the vertical angles equal to one another.
(That is, !!\angle CEB = \angle AED!! and !!\angle CEA = \angle BED!!.)
Obviously, yes, anyone can see that! We didn't need to develop a whole mathematical theory in order to discover that vertical angles were equal. Everyone already knew that, long before Euclid. The point of proving this theorem, the real discovery, is: our simple model is strong enough to demonstrate that vertical angles are equal. The theory didn't explicitly include anything about vertical angles, but the vertical angle theorem was latent in the model anyway.
Consider the opposite situation, where we couldn't prove that vertical angles were equal. Or worse, what if the model allowed us to construct a pair of unequal vertical angles? Would this tell us something about vertical angles? Obviously not. Vertical angles are equal, regardless of what the theory does or doesn't prove. It would, though, tell us something about the theory, namely that it wasn't fit for purpose, and we'd better try a different model.
This is a common pattern in all mathematics education and indeed in all mathematics, but I've rarely seen it called out as such, not even with a passing remark like “here's why we're doing this”. In nearly every undergraduate class I've ever been in, someone was puzzled about why we were doing this. Why is Euclid proving all these theorems that are obvious?
In Euclid the mode goes back and forth: Euclid will do some model-verifying theorems, then move on to interesting-result theorems, then back for a while to introduce something new to the model, then forward again to prove interesting theorems about the thing he introduced. The first transition happens around proposition 32 or 36 or so. Up until that point there were a lot of proposition like this:
Proposition 20 In any triangle the sum of any two sides is greater than the remaining one.
and this:
Proposition 25 If two triangles have two sides equal to two sides respectively, but have the base greater than the base, then they also have the one of the angles contained by the equal straight lines greater than the other.
But then very soon after, the theorems start to have a different flavor:
Proposition 36: Parallelograms which are on equal bases and in the same parallels equal one another.
That is:

This is actually an interesting fact about parallelograms, and not intuitively obvious. Even though the two parallelograms are not at all the same shape, they have equal areas, since they lie between the same parallels and !!AB=CD!!. (Interactive version)
The same issue comes up in many different contexts. We develop the theory of the Peano numbers, define addition, and prove that addition is commutative, Was that because we didn't know how to do addition? No. We already knew that addition was commutative. The point of the theorem is to show that Peano arithmetic knows that addition is commutative. But I have more than once seen instructors demonstrate the proof, via a double induction, and then finish with a remark like “therefore, addition is commutative!” The students, to their credit, were suspicious of this. They knew something wasn't quite right, even if they weren't sure what. The right announcement would have been something like “therefore, the Peano axioms aren't complete rubbish!”
Or: We explore Dedekind cuts, we define a model for the real numbers as cuts of rationals, and a construction that we claim characterizes addition. And then we prove a batch of theorems that are intended to show things we already know about addition, not because we want to know whether addition is commutative (news flash: it is) but to show that it's plausible that our construction really does characterize addition. One of these, that the addition operation we defined on cuts, which looks nothing like the addition we defined on rational numbers, actually agrees with it when the cuts themselves correspond to rationals. Another, that if !!a < b!! then !!a+c < b+c!!.
Taking a look at Rudin Principles of Mathematical Analysis, I see that the first fifteen or so pages are like this, theorems like !!\lvert z\rvert = \lvert \bar z \rvert!!, which is a basic property of the fundamental notions !!\lvert z\rvert!! and !!\bar z!!. And then the mode starts to shift, first a little bit, with
Let !!z!! and !!w!! be complex numbers. Then !!\lvert z+w\rvert ≤ \lvert z\rvert + \lvert w\rvert !!
Okay, that's a triangle inequality again… and suddenly, seemingly out of nowhere, something not at all obvious: Theorem 1.35, the Cauchy-Schwartz inequality for !!\Bbb C^1!!:
$$ \left\lvert\sum_{j=1}^n a_j\bar b_j\right\rvert ^2 ≤ \sum_{j=1}^n\lvert a_j\rvert^2 \sum_{j=1}^n\lvert b_j\rvert^2 $$
A completely different kind of theorem, not a basic property of anything.
Remember the whole point of the process: We wanted to model some object of study, we built a model, we proved a lot of theorems to lend plausibility to our model, to verify that the model wasn't broken, to confirm that the model captures the properties of interest. And then came time to use the model, and we started to prove theorems that told us new things about the original object of study.
Does Rudin announce this shift? Of course not, Rudin never announces anything. (Usually he mutters, and sometimes if you are especially unlucky he fixes you with a glare that dares you to question the remark he throws away in an undertone.) But Rudin is Rudin, and nobody else seems to announce this shift either. Almost always, it's passed over, usually without remark, even in gentler textbooks that give more attention to pedagogical matters. Sometimes the shift is sudden, sometimes gradual, but it's almost never pointed out.
In advanced study, that's okay, because advanced students should be expected to recognize the pattern. But why do we expect high schoolers and undergraduates to understand this without explanation?
In summary:
- There are two kinds of theorems.
- The purpose of the first kind is to validate the model we've built, to check it for power and correctness.
- But the second kind is the kind we're really after, to apply the model to the problem we want to study.
- This pattern, of building a model, validating it, and then using it, is a fundamental and universal methodology in all mathematical study.
- Secondary and tertiary mathematical education should explain this methodology, but rarely acknowledges it at all.
[Other articles in category /math] permanent link
Wed, 05 Aug 2026
The road to epsilon-zero: Coin-moving games with no coins
Previously:
- Ordinal numbers and basic set theory
- Ordinals as nim-heaps
- Nim always ends, even with infinite ordinals
- Infinite Nim as a coin-moving game
In the previous article we saw how to interpret Nim heaps of up to !!ω^2!! beans as coins on a quarter-infinite array:
The coin here represents a heap of !!ω·3 + 2!! beans. The heap can be reduced to any smaller number of beans. In the coin version of the game, this corresponds to moving the coin to any square to the left in the same row, or to any square in any lower row.
To extend this past !!ω^2!!, though, was a little clumsy. We had to pile up an infinite stack of these grids, and that got us only to !!ω^3!!. Then to go further we had to move into the fourth dimension, and to get all the way to !!ω^ω!! we had to imagine a sort of discrete Hilbert space with an infinite number of dimensions, not easy. I personally have trouble imagining anything with more than about !!17!! dimensions, and an infinite number of dimensions is a couple more than I can handle comfortably.
We can do better. Instead of imagining a grid of squares with coins on the squares, just write the coordinates of the coin! The one above, representing a pile of !!ω·3+2!! beans, is simply $$⟨2, 3⟩.$$
A game of infinite Nim is now simply a list of these pairs, one for each coin. A legal move is to pick one of the pairs and:
- reduce the first coordinate, which corresponds to moving the coin to the left in the same row, or
- reduce the second coordinate (which moves it to a lower row) and replace the first coordinate with any number at all, even a larger one (any square in the lower row is allowed)
Moving from !!ω·3+2!! to !!ω·3+1!! uses the first rule to reduce the first coordinate from !!⟨2, 3⟩!! to !!⟨1, 3⟩!!. Moving from !!ω·3+2!! to !!ω·2+17!! uses the second rule to reduce the second coordinate from !!⟨2, 3⟩!! to !!⟨2, 2⟩!! and simultaneously replace the first coordinate with !!17!!, leaving the coin on !!⟨17, 2⟩!!.
Removing the entire pile uses the second rule to reduce the second coordinate from !!⟨2, 3⟩!! to !!⟨2, 0⟩!! and simultaneously replace the first coordinate with !!0!!, yielding !!⟨0, 0⟩!!.
To stack up multiple grids no longer requires third dimension, just a third coordinate. To make it compatible with the two-coordinate notation, we just agree to understand !!⟨a, b⟩!! as an abbreviation for !!⟨a, b, 0⟩!!. The move rule generalizes to:
- Pick any nonzero coordinate
- Reduce it by at least 1
- Replace any coordinates to the left of that one with any numbers at all
For example, we can move from !!⟨2, 3, 0⟩!! to !!⟨17, 2, 0⟩!! (the !!3!! has decreased), or from !!⟨2, 3, 9⟩!! to !!⟨1000, 0, 7⟩!! (the !!9!! has decreased).
To go into the fourth dimension and beyond is similarly easy: just allow a list of coordinates of any finite length, and use the same rule as above: reduce any single coordinate, and simultaneopusly replace any or all of the coordinates to its left.
For example, !!ω^7 + ω^3·12 + ω^2 + ω + 83!! is now represented as !!⟨83, 1, 1, 12, 0, 0, 0, 1⟩!!. We can also imagine there is a trailing sequence of zeroes, of either finite or infinite length, but they don't affect the game.
Maybe it's easier to see now why this enormous nim-heap must eventually be removed. On the first move, someone must either reduce that !!83!! or else one of the numbers to the right of it. But the players can't indefinitely put off reducing one of the other numbers; if they work only on the !!83!!, then after at most !!83!! they will have arrived at !!⟨{\bf 0}, 1, 1, 12, 0, 0, 0, 1⟩!!, and then someone must reduce one of the other numbers, since moves from !!0!! aren't allowed.
The !!83!! can be increased, but only at the cost of reducing a farther-right number. But that's true of every number except the final !!1!!. And however long the players avoid reducing that final !!1!!, by reducing numbers farther left — and it might be a very, very, very long time — eventually they will get to !!⟨0, 0, 0, 0, 0, 0, 0, 1⟩!! and won't be able to put it off any longer.
To get ordinals up to !!ω^ω!! is straightforward: they correspond directly to finite sequences of numbers, with the moving rule described above: sequence !!A!! represents an ordinal less than sequence !!B!! if one of !!A!!'s elements is less than the corresponding one of !!B!!'s, and the elements to the right are the same.
I hd said at one point that !!ω^ω!! was where the ordinals started to get scary. And perhaps it does seem scary, if you try to think of it as cells in an infinite-dimensional array. But when you think of !!ω^ω!! as just the set of finite sequences of numbers, it's not scary at all!
That was my first big step on the road to !! \epsilon_0 !!, but !! \epsilon_0 !! seems much more daunting. It's not merely !!ω^ω!!, it's actually more like
$$ω^{ω^{ω^{ω^⋰}}}$$
because it's by definition the smallest ordinal !!x!! with the property that !!x = ω^x!!. But the next couple of articles will take us the rest of the way there!
Coming next:
- You can write a program to print an infinite list of strings, but you can't always write one to print them in alphabetic order: Productive programs and well-founded orders
- Shortlex order also orders sequences of numbers
[Other articles in category /math/ordinals] permanent link
Sun, 02 Aug 2026
Seven books I keep close because I love them
The bookshelf by my elbow, the one that I can reach without getting up, has seven books on it, not necessarily the ones I look in the most, but the ones whose emanations I most hope will infuse me as I write.
Roget's Thesaurus (4th edition)
The one I actually refer to most often is the Harper and Row Roget's Thesaurus. I thought I had acquired this in my teens, but the note on the flyleaf says 1989.
This is the fourth edition. I was very excited to get the eighth edition, which I thought I might like better, and for some time I kept them next to each other so that I could look up the same things in both, and compare. My conclusion was that while the eighth edition had more stuff in it, it wasn't stuff I needed. And it is really fat. So I have retired it to a farther shelf and will eventually get rid of it.
The thesaurus is a book that is widely misunderstood. It is not, as many people mockingly imagine, just a compendium of synonyms, and its correct and intended use is not to replace common words with more impressive-sounding ones. just as the correct use of a screwdriver is not to scrape the veneer off of an expensive cabinet.
“Thesaurus” means “storehouse" or “treasure room”. Roget's idea, similar to that of John Wilkins before him, was to classify everything in the world into a hierarchy, in this case a hierarchy with a thousand divisions. At the top level the divisions are grouped into "Abstract concepts", "Space”, “Physics”, “Matter”, “Sensation” and so on. Then under “abstract concepts” there are subclasses, of which subclass VI is “Time”, subdivided into five smaller sections:
A. Absolute time
B. Relative time
C. Time with reference to age
D. Time with reference to season
E. Recurrent time
At the next level down, section (1)(VI)(B) is divided into:
§116. Priority
§117. Posteriority
§118. Simultaneity
§119. The Past
§120. The Present
§121. The Future
Roget's idea is that if you are thinking or writing about time, and specifically about how it goes by, you will leaf through those sections for inspiration, not to find a more pompous way of expressing something you have already written, but to refine your own idea of what it is you wanted to express.
Perhaps you are trying to say that one event followed immediately after another. You might look at “§117 posteriority (later time)” which mentions “ensue”, “consequence”, “aftermath”, and “subsequent” — not synonyms, but related aspects of similar concepts, worth more or less consideration depending on what you are trying to emphasize. §117 will also suggest common phrases like “step into the shoes of” — not a synonym by any means, but a related idea. This is probably not what you wanted in this case, but it in another it might be just the thing, and in any case it might give you a bright idea.
If nothing in section 117 seems suitable, it is right next to “§116 priority”, and you might discover that instead of saying that the second event followed immediately after the first, you would rather say that the first immediately preceded the second. Or perhaps you realize, looking at “§118 Simultaneity”, that what you really want to say is that the two events were not quite simultaneous. Or perhaps, finding your way to “§131 Earliness” and “§132 Lateness” you realize that your meaning would be more clearly expressed if you said that the second event was a little tardy, or that the first event was premature.
Looking through the index for “immediately” you will see that the index distinguishes several senses of “immediate”: are you trying to suggest instantaneity, or continuity, or haste, or promptness, or punctuality? And in this way the book helps you refine your understanding of what you were trying to say.
One can use the thesaurus for more concrete tasks. Perhaps I am trying to remember a word, but I can't quite put my finger on it. I know it it is not “coexisting”, but is something like it. I can look up “coexisting” in the index, and it will take me to “§118 Simultaneity” where I find “contemporaneous”… aha, that's what I was looking for! The really important thing about the thesaurus is this large-scale organizing principle, which puts related ideas near one another.
Note that none of this works for someone who doesn't know what the words actually mean. All that person can do with the thesaurus is to replace one wrong word with another one, more or less at random. Effective tool use requires skill and training, and careful thought.
An online version would be more convenient, but again, it wouldn't have the same stuff and I am very attached to the one I have.
My banishment of the 8th edition left a lot of space on the shelf, some of which I have filled with an anthology of the prose of Sir Thomas Browne. I think this will be healthful and inspiring for me, especially if I remember to take it up and thumb through it from time to time.
The Prose of Sir Thomas Browne
One recurring theme on this blog since the very earliest days has been the writers of the English Baroque period. In 2008 I wrote:
[Browne] is witty, and learned, and wise, and humane, and to read his books is to feel that you are in the company of this witty, learned, wise, humane man, one of the best men that the English Renaissance has to offer, and that you are profiting thereby.
His work was also a favorite of Jorge Luis Borges', in case you consider that a recommendation.
Browne has shown up here a number of times, although not so much as he should have, because I started the blog the year after I was on my big Thomas Browne kick. One reason I have put this book next to my elbow is that I hope it will spark a new Browne kick. (I wrote in 2006 “I'm sure I will return someday”, and it is long past time for that return.)
My favorite book by Browne is his Pseudodoxia Epidemica, which is a compilation of stuff that people in 1646 believed that Browne thought was probably wrong. I wrote about that in some detail in 2008 although I didn't get around to publishing it until 2020. And somehow the other three articles I was writing about this have never seen the light of day. One is about his discussion of whether John the Baptist actually ate locusts or whether they were locust beans or something else. Browne is firmly on the side of it being actual locusts, as am I. My unpublished article says:
Chester Brown's version of the gospels makes it clear that John was a crazy old bug-gobbler.
Panels from Yummy Fur #17, page 15, by Chester Brown.
Also Sir Thomas comes up in connection with whether snails have eyes in their horns — a rare example where he was wrong, and for a dumb reason:
If we concede they have two eyes, we must alse grant, they have no lesse than four… And therefore if they have two eyes, they have also four, which will be monstrous, and beyond the affirmation of any.
Browne seems to be noping out of the very idea of four-eyed snails, and therefore that they must have none at all. In a later edition of the book, he changed his mind, which is to his credit.
He had a thoughtful and well-informed opinion about whether Pythagoras forbade his followers from eating beans, supposedly because he thought they contained the souls of the dead. (Browne says the former is true, but not the latter.)
I have trouble connecting with the thinkers of the Middle Ages. Their thinking seems to me to be frightened, so overcautious, so cramped and circumscribed, I can't read it without sadness for the way that medieval Christianity strangled the human spirit for so long. But in the early Renaissance there is a flowering of a joyfully brave willingness to try to understand the world, and to follow any inquiry, no matter how extravagant or ridiculous. The whole idea of God has transformed, changed from something constricting to something empowering. The world before belonged to God, and humans were in it only grudgingly and on promise of good behavior. But when the Renaissance started, the world became a beautiful gift, in which humans had been placed to honor God by admiring and marveling at his creation.
This admiration and marvel, the willingness to follow any path to understanding, is how I want to be about knowledge and how I hope I am. Reading Browne, I always feel like he and I would have gotten along well, and that that is one of the best parts of myself.
Boccaccio's Decameron
The story of the Decameron is this: It is 1348, and Florence is devastated by Black Plague. Nothing can be done, despair is everywhere, and there are not enough left living to bury the dead. So ten young people, still healthy, decide to turn their backs on suffering and quit town. They take provisions and servants, retire to the country, and try to forget the horrors they have seen. There they spend the time feasting, walking in the gardens, playing chess, and, once a day, for ten days, they meet, choose a theme, and then each of them tells a story on the theme.
I explained this once to a friend who said “That sounds cool, when was it written?” I said “In 1348!” It is one of the two great works of classical Italian literature, the other of course being Dante. Dante is solidly medieval, hierarchical, doctrinaire, and obsessed with a God who is supposedly loving but doesn't seem to know how to show it. That was in 1308 or so, and then, only a few decades later, we have the Decameron which could not be more different. It is about people, doing people things in the real world, eating, drinking, singing, arguing, and making love. God is present, but not oppressive. He has sent a terrible plague for who knows what reason, but rather than submit to it the characters of the Decameron try to take practical steps to make the best of it.
There is a story in the Decameron for every mood, usually more than one. Some are sad, some romantic, some funny and salacious. Dioneo is exempt from following the daily theme and usually has a story that is more or less dirty.
My favorite story is probably the one about the cross-dressing English princess, or perhaps the one about how young Caterina wanted to sleep on the balcony so that she could hear the nightingale, which I find very sweet. But the funniest one is about the abbess who is called out of her cell one night to berate a nun for having her lover stay over, and who doesn't realize that in her hurry she has put her own lover's trousers on her head instead of her wimple.
I have several different Decamerons, but this copy is the Cormac Ó Cuilleanáin translation, which has made several previous appearances here:
- On the word “squillions”. Following up a chance encounter in the Oxford English Dictionary is what led me to discover the Decameron in the first place
- The phrase “two-bit huckster”
- “soup-guzzling pie-muncher”
- “soup-guzzling pie-muncher” again
There's also an unpublished blog article inviting me to look into this passage:
Messer Lotto Gualandi gave him a daughter of his, Bartolomea by name, one of the fairest and handsomest young ladies of Pisa — although most of the females from that benighted town look like tarantulas.
The J.M. Rigg translation says “spotted lizards”. This is closer to the original Italian, which is lucertole verminare, literally small wormy lizards.
I have my doubts about the desirability of living to be a thousand years old, but if I do decide to do it, one reason will certainly be that I will need the time to learn Medieval Italian and translate the Decameron.
From Frege to Gödel, edited by van Heijenoort
This is a collection of the most important papers in mathematical logic from the time of Frege (who, I have written before, was responsible for kicking the field of logic out of its medieval period into the modern world) to Gödel (who spoiled everything).
In between these van Heijenoort hits all the most important ideas, starting with Frege's explanation of Begriffsschrift, which is wacky and weird and which didn't catch on except it kind of did and it still underlies half of mathematical logic and which is the prototype for many of the symbols we still use. After this there is Russell's tragic correspondence with Frege in which he pointed out, too late, that Frege's foundational theory didn't work.
The book reprints Peano's original description of the Peano numbers, perhaps the most successful single mathematical theory of all time.
The book includes Zermelo's proof of Zermelo's theorem that every set can be well-ordered, and Ackermann's discovery of Ackermann's function, which demonstrated that not every computable function is primitive recursive.
The book has Russell on type theory and early work by Kolmogorov and Brouwer on the origin of intuitionism. (Heyting is missing.)
Van Heijenoort has come up here when I wanted to quote from Schönfinkel's paper about the SKI-calculus, Wiener's paper inventing the ordered pair, and implicitly in probably a dozen other math and logic articles here over the years.
The book is on my shelf because I refer to it pretty often, but also because I can usually find something interesting just by thumbing through it. For example, these remarks by Thoralf Skolem about the futility of deriving induction from set-theoretic foundations.
Bonus trivia: Van Heijenoort was the personal secretary of Leon Trotsky, and while he was accompanying Trotsky during the latter's exile in Mexico, he was one of Frida Kahlo's lovers.
Orbis Sensualium Pictis (English edition), Johannes Comenius
I adore this book. My heart swells with love when I think of it.
I don't have a blog article about it and there is a story behind that. In 2018 I went to a conference in Cleveland and my hotel was in a building that had formerly been the Cleveland Department of Education. It contains two big murals, one depicting “The Progress of Education”:
I planned to write a blog article about these people. It's clear who some of them are. For example, Moses is easy to recognize at lower right, because of the glowing horns, and Confucius is next to him. Some people I was familiar with once they were identified for me: the red-haired guy second from right in the back row is Friedrich Fröbel, who I knew; his “gifts” are a forerunner of the Montessori materials.
But in doing the research I got to the bearded hat-wearing dude topmost on the right side and completely fell off the bus, because that is Johann Comenius who is famous because he wrote one of the most marvelous and enchanting books I've ever read, the Orbis Pictus.
I have to resist the temptation to say too much, because Orbis Pictus derailed the article about “The Progress of Education”, it then derailed its own article which has been in progress for eight years, and if I let it it will derail this article too, because every time I pick up Orbis Pictus I forget whatever I was doing and I am lost in the pages with a happy and innocent smile on my face.
I'm going to precommit to writing only one paragraph about this incredible book. It was the first illustrated children's book published in Europe, in 1658, and it was an immediate hit, being translated from German into English the following year, then into French, Italian, and many other languages. It swept the continent because everyone loved it.
Most of the book follows this pattern: there will be an engraved illustration, depicting some aspect of ordinary human activity, such as (I open it up to a random page) “Tame Foul” (that is, “fowl”):
Items of interest in the engraving are annotated with numbers, and the facing page explains the illustration, one item at a time:
The Cock 1 (which croweth in a morning), hath a comb, 2.
In a second column to the right of this is the same text, but in Latin, so that while the reader is learning about tame fowl, they are also learning Latin:
Gallus 1. (qui manè cantat) habet Cristam, 2.
The prose is limpid, gentle, pithy, and direct. It hits the important points of interest, invites questions, and ends before anyone can get bored. There are pages on anatomy, butchery, feasting, winemaking, various principal virtues, family trees, cities, burials, ships, wells, horology, amphibians.
Now I will reluctantly put it down, rather than leaving this article unfinished as I have so many before.
The Bible (New International Version, large print)
This of course is the cornerstone of Western culture and no well-educated person can be without a knowledge of what is in it. It is full of great wisdom and great stories, and also cruelty, evil lies, and reminders that the world now is in many ways better than it was because people are better.
I would like to understand the world I live in, and there is no way to understand 21st-century America without understanding the Bible.
The NIV is not the most poetical translation, but it is clear, modern, and accurate. (I got it on the recommendation of Sterling Hanenkampf. Thanks, Sterling!) In former times I had a collection of Bibles but this is the only one that remains. I even got rid of the old King James that belonged to my mother, since office space is precious and I have had a digital copy on my computer since the early 1990s.
I find that most of my articles mentioning the Bible are unpublished for some reason. It comes up a bit in connection with Ploni Almoni, and in passing in many other places.
One of the unfinished articles is a series of notes on the theme of Jesus's admonition “Do not put the Lord your God to the test” (Matthew 4:7) and its relationship to a lot of other things like lightning rods, Christian Science (not Christian science), how Larry Wall became a computer programmer, Pikuach nefesh, and the story of the old lady who refused to evacuate from her house during a flood. It'll be epic if I ever finish it, but I probably won't.
Another incomplete one is about the incredible story of Samson and Delilah:
She asks him flat out:
[Judges 16:6] Tell me the secret of your great strength, and how you can be tied up and subdued.
Instead of just telling her to fuck off, Samson lies:
[16:7] If anyone ties me with seven fresh bowstrings that have not been dried, I'll become as weak as any other man.
The Philistines bring her bowstrings and she tries it that night, but Samson snaps the bowstrings as easily as a piece of string snaps when it comes close to a flame. …
Then it goes as before! He tells her a different lie, knowing full well that she will betray him, and she does betray him, and he makes a fool of her again! (16:11–12)
Okay, that was fun. Let's do it again! (16:13–14)
After several repetitions of this, Samson decides that being shaved, blinded and crushed will be less exasperating than listening to any more of Delilah's nagging.
I read once that the whole point of the book of Judges is that the people in it are all terrible, they are all far from the path of righteousness, and so you definitely shouldn't act like them. I don't know if that interpretation is correct, but it is certainly true that the people in it are all terrible.
The Belles Heures of Duc de Berry
This book turned up in one of my very first blog articles, on abbreviations in medieval manuscripts, although I didn't know it at the time. In my teens, on a visit to the Metropolitan Museum of Art, I picked up a print of this:
Then I carried it with me for the next forty years, eventually framing it and hanging it up, and it is hanging in my house now.
Many years after, when I was still on Twitter and Twitter was still fun, I subscribed to a daily feed from the Met, and one day they tweeted this page, or perhaps another page from the same book, stylistically similar enough that I recognized it immediately. They said where it was from: it's the Belles Heures, a “book of hours”, which tells the reader when to pray and how, and which days are sacred to which saints. Very wealthy people had super-fancy ones made from the very best materials, with illustrations by the very best craftsmen.
The Duc de Berry was so wealthy that he had more than one, as I found out when I accidentally ordered and received the Tres Riches Heures. But I got the one I wanted eventually.
The Duc de Berry book is by Millard Meiss and Elizabeth H. Beatson, and alternates beween the magnificent color plates and prose discussing each one. From the inscription on the page above I had been able to figure out that this was John the Baptist (see previous article), and the authors aren't sure who the other two people are, but they did at least tell me that John was the Duc de Berry's name-saint. (Funny how John keeps popping up, isn't it?)
More recently I had another very similar Internet revelation. I've had this framed postcard hanging up for many years:
and thanks to a recent Mastodon toot by Cam Larios, I found out that it is from the “Black Hours” of the Morgan Library.
#8?
The banishment of the very large Roget 8th edition has left enough space on the shelf for an eighth book. I took a quick look around my office to see if there was anything else that wanted to fill that space, but nothing volunteered.
(Actually I think Tristan Needham's Visual Complex Analysis might be waving to me from across the room.)
[ Addendum 20260815: For now, the space on the right is being occupied by The Crazy Ape, by Nobel prizewinner Albert Szent-Györgyi. This short book imprinted itself on me deeply when I was fourteen years old and has guided me since. Published in 1970, it is about how wars are perpetrated by the old against the young. ]
Other stuff
There are other things in the photo that should not be on this shelf and I don't know why they are:
- A packet of googly eye stickers
- Glass and ceramic coasters that I don't use because my coffee cup is always on my electric mug warmer
- A small audio speaker that might or might not work
- A boxful of 8mm-helical scan backup tape from the 1990s
- A pair of old laptop 2.5-inch hard disks that I hope to someday get the data out of
- A set of Korean playing cards
The shelf is like my brain, I guess, full of stuff, and and what's in it doesn't always make sense or go together with the other stuff.
ispell. The four em-dashes were organically cultivated
and sustainably harvested.
[Other articles in category /book] permanent link
Wed, 29 Jul 2026
The road to epsilon-zero: Infinite Nim as a coin-moving game
Previously:
- Ordinal numbers and basic set theory
- Ordinals as nim-heaps
- Nim always ends, even with infinite ordinals
In the previous articles I talked about the game of Nim, a very simple game for two players:
- There are some piles of beans
- Players alternate turns
- A legal move is to take any number of beans from one pile
- Whoever takes the last bean wins
I wrote about how Nim could be extended to include certain types of “infinite” piles while still remaining a sensible game. This involved introducing green tokens that could be replaced with any number of beans, then square tokens that could be replaced with any number of green tokens and beans, and so on.
Rather than think about an infinite family of different kinds of tokens, there's a simple way to make them all the same sort of thing.
Imagine a game where the board is a track of squares, extending to the right (and to the right only) as far as needed. Let's number the squares: the leftmost one is !!0!!, then !!1, 2, 3, \dots!! and so on.
On some of the squares are coins. In this game, a player's legal moves are to take one coin and move it some number of squares to the left. Coins don't interfere with one another; any number of coins may occupy a single space. As in Nim, the player who is able to make the last legal move wins. In Nim that means taking the last bean; in this game it means moving the last coin to the !!0!! square.
This game is nothing but Nim, in a different form. A Nim game with piles of !!2, 2, 3, 5, !! and !!6!! beans is exactly equivalent to the strip game, with coins on squares !!2, 2, 3, 5, !! and !!6!!.
Removing four beans from a pile is isomorphic to moving a coin four squares leftward.
A coin on square zero behaves like an empty pile of beans — no further moves are possible for that coin / pile, and it has no further effect on the game.
In Nim, we represented !!ω!! with a green token that could be replaced with any number of beans:
In the strip game, we don't need special tokens. We represent !!ω!! by adding a second strip, atop the first:
and the rule that a coin in the upper strip can be moved to the left or to any space in the lower strip:
The picture above shows how to take all but six beans from a pile of !!ω+3!!.
Adding more strips gets us easily almost to !!ω²!!:
The coin here represents a pile of !!ω·3 + 2!! beans.
If we were to stack a second grid on top of this one, and then add the rule that a coin in the upper grid can be moved to any square in the lower grid, then the lower-leftmost square in the upper grid would be equivalent to a pile of !!ω^2!! beans, and the other squares in the upper grid would be variouls ordinals of the form !!ω^2 + ω·b + c!!. Adding a third grid would get us up to !!ω^2·2 + ω·b + c!!, and a whole infinite stack of grids would get us an infinite cube that would almost take us to !!ω^3!!.
We could then build an infinite four-dimensional stack of cubes to get to !!ω^3!! and beyond, and so on to infinite dimensions, and that's the construction I had in mind when I said !!ω^ω!! was where the ordinals start to get scary. But there's an easier way to proceed, which we'll see in the next article.
Coming next:
And then:
[Other articles in category /math/ordinals] permanent link
Mon, 27 Jul 2026
“Steph Curry: fluke or breakthrough” ten years later
Flukes and Breakthroughs
In the NBA 2015–16 season, Steph Curry set the all-time single-season record for three-point field goals, 402, completely crushing the old record of 286. Curry's record still stands.
The New York Times was rather breathless about this:
The record is an outlier that defies most comparisons, but here is one: It is the equivalent of hitting 103 home runs in a Major League Baseball season.
And it is an astonishing feat. But I wrote an article called Steph Curry: fluke or breakthrough? in which I compared Curry's feat with similar feats of the past, including the one implied by the Times, Babe Ruth's 1920 single-season home run record, and concluded:
To make the same comparison as the authors of the Times article, [Ruth's feat] is the equivalent of hitting 136 home runs in a Major League Baseball season.
I also compared Curry's record with Joe Dimaggio's 1941 hitting streak, Bob Beamon's world record long jump at the 1968 Olympic Games, and Takeru Kobayashi's decade-long domination of competitive hot dog eating. I analyzed these as being of two types: mere flukes, which were never repeated, and breakthroughs, in which the athlete discovered a new technique or approach that radically transformed the sport itself. DiMaggio and Beamon's feats, I said, were flukes, but Ruth's and Kobayashi's were breakthroughs.
At the end I asked the obvious question: was Steph Curry's new three-point field goal record a fluke, or a breakthrough? I guessed that it would turn out to have been a breakthrough.
I predicted:
Unless the league tinkers with the rules to prevent it, we might expect the next generation of players to regularly lead the league with 300 or 400 three-point shots in a season. … I think it's likely that we'll see basketball enter a new era of higher offense with more three-point shots, and that future sport historians will look back on this season as a watershed.
I've remarked more than once that I don't like trying to predict the future:
I don't think I'm good at it and I don't think anyone else is. Most people who try don't seem to revisit their old predictions to see if they were correct, or to learn from their past errors, and the people who listen to them never do this.
I don't know much about basketball, but having made a clear prediction, I owe it to myself and my Gentle Readers to revisit the prediction to see if I was correct.
The data
I went to Basketball Reference and pulled their list of the 250 player-seasons with the largest number of three-pointers, then asked Claude to turn it into a chart:
Each dot is one player in one season. Hovering on a dot shows you the player to whom it belongs. The !!x!!-axis shows the year in which each season ended, the !!y!!-axis the number of three-pointers the owner recorded in that season. The blue diamonds are Curry's, gray dots are everyone else's. The vertical blue hairline at the 2015–16 season intersects Curry's all-time record of 402 three-pointers, aftyer which I wrote the original article.
You can see a surprising jump in three-pointers in the three seasons of 1994–95 through 1996–97. In those seasons the league moved the three-point line closer to the basket, moving it back again in 1997–98. In the rest of this article I will ignore these.
The verdict
Was I right when I said the Curry's 402 would turn out to have been a breakthrough? I think yes.
Looking at the dots on the chart, it's quite clear that something changed. Up to 2015, the total of 250 was exceeded just six times: four times by Curry and once each by Ray Allen and Klay Thompson. (Remember we're ignoring 1995–7 when the rules were changed.) But after 2015, that total was achieved 34 times in 10 seasons, by 19 different players.
I got some details wrong. I guessed:
we might expect the next generation of players to regularly lead the league with 300 or 400 three-point shots in a season.
This hasn't happened. Last season Anthony Edwards led the league with 320, but this season's record, 273 by Kon Knueppel, is much more typical. Only Curry himself has regularly exceeded 300.
On the other hand, regarding Ruth, I pointed out:
Ruth's innovation was promptly imitated. In 1920, the #2 hitter hit 19 home runs and the #10 hitter hit 11, typical numbers for the nineteen-teens. By 1929, the #10 hitter hit 31 home runs, which would have been record-setting in 1919.
And something like this has happened. This season, the #10 players each hit 224 three-pointers. These would have led the league in all but two years prior to 2012–13. Before Curry, the all-time record was 269 (Ray Allen, 2005–06); two players exceeded that this year and three last year.
Was it “a different game”?
Regarding the decade following the watershed 1920 baseball season, I said:
It was a different game.
And it really seems like this hasn't happened in baskeball. Players are certainly attempting and making more three-point shots, but they haven't taken over the league the way sluggers did in the 1920s.
| Season | Attempts | Success | Success % | 3P points | Total points | 3P fraction |
|---|---|---|---|---|---|---|
| 2015–16 | 59,241 | 20,953 | 35.4 % | 62,859 | 252,572 | 24.9 % |
| 2025–26 | 90,970 | 32,717 | 36.0 % | 98,151 | 284,395 | 34.5 % |
| (comparison) | +54 % | +56 % | +56 % | +12.6 % |
(Source: Basketball Reference 2015–16 season 2025–26 season)
Total 3PFG attempts are up by 31,729, of which 11,765 succeeded, producing 35,295 points. Total points were up by less than this, 32,823 — the three-pointers are cannibalizing some of the other scoring opportunities.
In 2016 I observed:
Curry didn't get lucky this year; he had 40% more field goals because he made almost 40% more attempts.
I concluded from this that Curry could continue to shoot more three-pointers just by making more attempts, and that other players might similarly shoot more three-pointers by making more attempts. This turned out to be correct. Success rates haven't increased, attempts have. Just looking at attempts is misleading because players seem to be playing fewer games than they were in 2015–16. But the league leaders in three-pointers per game are generally up over 2015–16. In that season, three players averaged over three three-pointers per game (with Curry running away with 5.1). This season, there were 13, and Luka Dončić hit 4.0.
On the other hand
I ended the previous article by saying:
I think it's likely that we'll see basketball enter a new era of higher offense with more three-point shots, and that future sport historians will look back on this season as a watershed.
The reasons I gave still seem solid, and I think this was basically right. Over the last ten years I've read several articles complaining about how reliance on the three-point shot is ruining basketball:
(It's fun to compare this with the similar complaints from the past hundred years about home runs. There was a batch in the 1920s, and then another crop in the years following 1998 when Sosa and McGwire both broke the single-season home-run record.)
And Wikipedia has an article on the three-point revolution with links to recent news articles with titles like “Three-point shooting in the NBA is more extreme than ever” and “The NBA's 3-point craze is only getting crazier”.
Addendum 20260915
Dan Luu points out a major aspect of all this that I completely missed. I said:
Success rates haven't increased, attempts have.
The obvious explanation for this is that defense has adapted.
I think missed this for two reasons. First, I don't actually watch basketball games, I only look at statistics. And second, I was too attached to the home runs analogy. But a home run in baseball is a very unusual thing, perhaps unique in sport: it cannot be defended against.
[Other articles in category /games] permanent link
Sun, 19 Jul 2026
The road to epsilon-zero: Nim always ends, even with infinite ordinals
Previously:
[Yesterday][prev-2] I talked about the game of Nim, which involves two players taking beans from several piles, and an extension that includes green tokens that behave a bit like infinite piles:
When there's a pile with one or more green tokens, it's legal for a player to remove any or all of them, and then to add any number of beans to the pile.
At first it might seem that Nim with !!ω!!-tokens could go on forever. Not so!
If someone gives you a Nim position where all the piles contain beans, you can say ahead of time how long the game might last. A game starting with nim-heaps of size !!\{1, 3, 4, 8\}!! simply can't last more than 16 turns, because each turn removes at least one bean from a pile, and the game ends when someone takes the last bean.
If the game starts with nim-heaps of size !!\{1, 3, 4, 8, \omega\}!!, you can't know how long it might last. If you guess it will be over in !!1,\!000!! turns, the first player might prove you wrong by replacing the !!\omega!!-token with a pile of !!10,\!000!! beans, and then the game might last up to !!10,\!016!! more turns.
If you guessed at the start that the game would last no more than !!10,\!016!! turns, one of the players might replace the token with a pile of !!1,\!000,\!000,\!000,\!000,\!000,\!000!! beans, or even more. Before the first move, there is no bound that can be placed on how long the game will take to finish.
But what you can say about !!\{1, 3, 4, 8, \omega\}!! is that after at most !!17!! moves, someone will have removed the !!ω!!-token and replaced it with some finite number of beans. And that that point you'll be able to say when the game will end.
!!ω·2!!
Similarly, suppose there is are piles !!\{1, 3, 4, 8, \omega·2\}!!. Remember that !!\omega·2!! is simply a stack of two green tokens. What's the longest this game could last?
As before, we can't say. But we can say that after at most !!17!! turns, at least one of the !!ω!! tokens will have been removed, and there will be at most one !!ω!! token and a possibly very large number of beans, say !!b_1!!. And then after at most !!b_1+1!! more moves, the last !!ω!! token will have been taken if it wasn't before, and only beans will be left, possibly a very large number of beans, say !!b_2!!.
And at that point we will be certain that the game can't last more than !!b_2!! more moves.
So with !!\{1, 3, 4, 8, \omega·2\}!! we can't say how long the game will take to finish.
And we can't say when we will be able to say how long the game will take to finish.
But we can say that in at most !!17!! moves, we will be able to say, not how long the game will take to finish, but how long it will be before we can say how long the game will take to finish.
Estimating programming tasks
This reminds me of a story I once heard from another programmer. He told me his boss had come to him to ask him if he could fix a certain bug. He had replied that he could, and the boss had asked him how long he thought it would take.
He said “I don't know, I have to think about it.”
His boss, being a reasonable woman, asked him when he would be able to tell her.
Again he said “I don't know, I have to think about it.”
The boss, having dealt with this guy before, did not lose her temper. Instead, she asked how long it would take him to figure that out.
“Not more than two days,” he said at once.
“Okay,” she said. “Just to make sure there is no miscommunication, are you telling me that in two days you may not be able to estimate the task, but you will be able to tell me when the estimate will be ready?”
“That's right.”
And they parted amicably, both parties satsified, at least for the time. Communication between management and engineering doesn't always turn out so well!
My friend was apaprently playing the game !!ω·2+1!!. There was only one bean, so one of the !!ω!! tokens would have to have gone by the second day. At that point there would remain !!ω + n!! for some finite number !!n!!, and although my friend wouldn't be able to say at that point how long the game would last, he would know that he would be able to deliver the estimate after at most !!n+1!! more days.
The game must end!
With !!ω·2+1!! we don't know when the game will end, or how long it will be before we know when the game will end.
But we do know that in at most two moves we will know how long it will be before we know how long it will be before the game ends, and that means that we do know that that game will end even though we're quite far away from saying when that will happen.
The argument is always the same: there are only a finite number of beans, and even if both players try to avoid the tokens, the beans will eventually run out and someone will be forced to replace a green token with more beans. Then those beans will run out and someone will be forced to take another token, and so on, until all the tokens are gone, and then when the beans run out the game is over.
Of course, both tokens and beans might go faster than that. But go they will, however slowly and even if only one at a time.
And this is true no matter how many green !!ω!! tokens there are to begin with.
And the same holds true if there are any square !!ω^2!! tokens. Even if the players avoid the square tokens, at some point all the beans and green !!ω!! tokens will be used up and someone will have to replace at least one square !!ω^2!! token with more beans and green tokens, and then those will be used up… and eventually the last square !!ω^2!! token will be gone, and then we're back to the !!ω·n+m!! case of the previous paragraph and the game must end.
But at that point we have defeated English descriptions. We have piled up an infinite sequence of “how long before we can say”s into “We can't say how long before we can say … how long before the game ends”.
Bizarre! And yet we know that even these games must end, although English isn't powerful enough to say how long it will take, or even how long before we will be able to say how long it will take.
Ordinals are well-founded
An ordinal is a set of smaller ordinals. Every move in Nim makes an ordinal smaller. If you keep making numbers smaller you eventually reach 0, and then the game is over.
This property of ordinals is called well-foundedness. We say that ordinals are well-founded.
Note that this that this is a special property of ordinals, not shared by all types of numbers. For example, the positive rational numbers do not have this property. From !!1!! you can go down to the smaller !!\frac12!!, then to the smaller !!\frac13!!, and so on, downward, always downward to smaller and smaller numbers, but never reaching zero. A game of Nim where the beans can be divided into infinitely small crumbs might never end. But a game of Nim with ordinals always ends, because the ordinals are well-founded. You can go up and up forever to crazier and crazier infinite ordinals, but no matter how far up you go, you can't go down and down forever, you must bottom out at zero after a finite time.
Well-founded orderings are the the theoretical backbone of recursive programs. When we write a recursive function, we want to be certain that it will terminate. And that means that if a function calls itself with a different argument, the new argument must smaller than it was. Maybe “smaller” mans numerically less. But it could mean many other things. If the function is processing a directory tree, “smaller” could mean “fewer levels deep”. If the function is sorting a list, “smaller” could mean “fewer items are out of order”. The essence of recursion is that the shrinking cannot continue forever. The function will eventually reach the number zero, or the directory that contains only files, or the list with no unsorted elements, and then it will be done.
In the next article we will see a way to understand infinite nim-heaps in a more uniform way than as a hodgepodge of variously shaped and colored tokens.
Coming next:
And then:
- Coin-moving games without the coins
- Productive programs and well-founded orders
- Shortlex order also orders sequences of numbers
[Other articles in category /math/ordinals] permanent link
Sat, 18 Jul 2026
The road to epsilon-zero: ordinals as nim-heaps
Previously:
We're going to get to !!{\epsilon_0}!! in a long and roundabout way. First I want to talk about the game of Nim.
Nim
Nim is a very simple game for two players. There are some piles of beans, which are called nim-heaps. When it's your turn, you are allowed to remove as many beans as you like, as long as they are all in the same pile. Whoever takes the last bean wins.
Nim with only one pile of beans is trivial, because whoever goes first can simply take all the beans from the one pile and win. And with two piles it's very simple. But with three or more piles it starts to be a little interesting. Consider the case where there are three nim-heaps, with 1, 2, and 3 beans respectively. The first player can't prevent the second player from taking the last bean.
For a slightly less simple example, consider a game that starts with nim-heaps of size 1, 3, 4, and 8 beans. Here the first player can win, if they might the right opening move. But there's only one winning move! If the first player does anything else, the second player can win.
(Hover for spoiler: The unique winning move is to take two beans from the pile of 8, leaving 6.)
Nim lies at the heart of an important part of the theory of mathematical games. In many games, the two players have different legal moves. For example, in chess the White player is only allowed to move the white pieces, and the Black player is only allowed to move the black pieces. If someone shows you a chessboard and asks you to make a legal move, you can't do it until they tell you whether you're allowed to move the white or the black pieces.
Nim isn't like this. When it's one player's turn, they have exactly the same legal moves as the other player would if it were their turn: take as many beans as they like from one pile.
It transpires that any game where the two players always have exactly the same legal moves can be understood as a disguised version of Nim. We don't have time to explore this surprising fact though, we're hunting !!{\epsilon_0}!!.

Ordinals are nim-heaps
Ordinals can be understood as nim-heaps, and vice versa. Instead of several piles of beans on a table, we have a list of ordinal numbers, one number for each pile. The finite ordinals are simple: !!0!! is an empty heap, which we can ignore. !!1!! is a heap with only one bean, and !!53!! is a heap of !!53!! beans.
Whe a Nim situation is understood as a list of ordinal numbers, the rule that says you can remove beans from any single heap now says you can reduce any single ordinal to a smaller ordinal. Reducing the ordinal !!53!! to !!21!! is analogous to taking enough beans from a pile of !!53!! to leave !!21!!. You're allowed to take all the beans in a single pile. In ordinal number language that says you can reduce any single ordinal to the smaller ordinal !!0!!.
With this understanding, we can interpret infinite ordinals as nim-heaps also. If !!ω!! one of the ordinals, you can reduce it to a smaller ordinal, which must be a finite number because !!ω!! is the smallest infinite ordinal. But it could be any finite number because every finite number is smaller than !!ω!!.
Don't imagine !!ω!! as an infinite heap of beans. That's not right, because if you take 17 beans from an infinite heap, the heap is still infinite, and !!ω!! doesn't work that way. The ordinals less than !!ω!! are all finite, so to reduce the !!ω!! heap, you have to replace it with a finite pile of beans. Picture !!ω!! as a special green token on the table, which can be replaced with a single pile of any number of beans.
Nim still makes sense with green tokens
The game still makes sense even with these crazy green tokens! Imagine playing the game with five heaps, say of sizes !!1, 3, 4, 8,!! and !!ω!!. It turns out that, like before, there is exactly one good move that will allow the first player to win, and if they make any other move, the second player can force the win instead.
Spoiler:
- The first player should replace the !!ω!! with exactly 14 beans.
- If the first player replaces it with more than 14, the second player can win easily by reducing the number to 14, leaving the situation the way the first player should have.
- If they replace it with fewer, or if they remove beans from any of the finite piles, the second player can still win, but it's not so simple.
If you find this sort of thing fun, analyzing a few games of Nim-with-tokens will be fun. There are all sorts of interesting patterns. For example: If there are any number of piles of beans, and a single !!ω!! token in a separate pile, the first player can always win, and their winning move will always be to replace the !!ω!! token with the correct number of beans, as in the example. But if there is more than one !!ω!! token, the first player might not have a winning move, and if they do, it might not involve the !!ω!! token. For example, consider the position !!\{1, ω, ω\}!!. Here the first player can win by removing the lone bean from its pile. Do you see why?
Bigger ordinals
Now we have a way to imagine !!ω·2!!: it's just a heap with two green tokens. To make a legal move in this heap, one can replace one of the tokens with any number !!n!! of beans, reducing the ordinal !!ω·2!! to the smaller ordinal !!ω+n!!. Or one can remove a token entirely (that is, replace it with zero beans), reducing the ordinal !!ω·2!! to the smaller ordinal !!ω!!. Or one can remove both tokens, replacing them with any number of beans, even zero, reducing the ordinal to a finite one.
!!ω·3+5!! is a heap with three green tokens and five beans:
When it's your turn, if you want to move in this heap, you may remove up to three green tokens and up to five beans — any or all. And also, if you remove any green tokens, you may replace them with as many beans as you like, none or five or five billion.
Green tokens and beans are enough to take us almost to !!ω^2!!, but not quite. For !!ω^2!! we need something new. It's a different kind of token, say a square token. When there is a square token in a heap, a player may remove it and replace it with any number of green tokens and beans.
Then we could imagine a cubical token for !!\omega^3!!, which can be removed and replaced with any number of square tokens, green tokens, and beans, and so on, and that gets us almost to !!ω^ω!!.
But there's a simpler way to think about !!ω^ω!!, which I hope to reach in the coming days.
Coming next: Every game of Nim, even with the wildest craziest infinite tokens, must end after a finite number of moves!
And after that:
- Infinite Nim as a coin-moving game
- Coin-moving games without the coins
- Productive programs and well-founded orders
- Shortlex order also orders sequences of numbers
[Other articles in category /math/ordinals] permanent link








