I implemented a basic spin-out backwards reasoning check. It's a
little tricky, and there's more to do, but it works. In fact, I
believe that SB(3, 2) can be declared fully, no-hand-waving solved!
As for the name, there are a couple of reasons I think "spinning out" is good:
1. Getting stuck in one state moving one direction forever is a
degenerate behavior, and the name should evoke that. When this
behavior is detected, it is clear that although the machine might
still be running in some sense, the computation is unmistakably
finished. The image that always comes back to me is a turntable
reaching the end of a record. It will keep spinning forever, but
there's no more record to play.
2. Imagine a physically implemented Turing machine with the tape
spooled up on actual reels. A spin-out program run on such a device
really would cause the reels to spin out! (See
As for "chain recurrence", IIUC that's a more general kind of action.
It doesn't just apply to the edge block, it applies to skipping any
In your post you say: "Chain Recurrence is the easiest way to detect
quasihalting. All you need is a simulator that has Tape Compression
and performs Chain Steps." But in fact tape compression isn't required
to check for this behavior. A fully naive simulator with no tape
compression can be modified to check for spinning out.
The only conditions that need to be checked are: the current cell is
blank, and all cells to the left (or right) are blank, and the next
shift is left (or right), and the next state is the current state. And
these conditions can all be checked regardless of how the tape is