Random access: seeking the working cell to a target address #
The R-atoms of the EXPSPACE program read the tape at a computed address: the machine builds the address in its TARGET register, resets the working-cell marker to the empty address, and advances it – mirror in tow – until a file test says MIRROR = TARGET. This file is that loop.
DescriptiveComplexity.Draw.Prog.reaches_fileSeekTo is one theorem: from the
checkpoint at the empty address, the machine reaches the verdict configuration
on the target's cell.
The loop is stated at an arbitrary file
(DescriptiveComplexity.Draw.Prog.reachesIn_ixSeekTo), because a clocked program
has no register per element: the walked track's mark is then the address's bits
at the registers (DescriptiveComplexity.ixMark) rather than the address
itself, and what makes it the same proof is that the correspondence carries the
order (DescriptiveComplexity.Problems.Wide.IxAddr) – so the file test's
verdict, the two marks agreeing at every register, is again the equality of the
two addresses, as long as both are addresses the file can hold. The elementwise
statement is that one at the diagonal. Each round is a turnaround step off the marker, a
DescriptiveComplexity.Draw.Prog.reaches_fileRoundTrip around the file test
(DescriptiveComplexity.Draw.Prog.reaches_fileTestG at the walked mirror digit
agrees with the target digit), and – the test having failed below the
target – an DescriptiveComplexity.Draw.Prog.reaches_fileAdvance; the loop is
DescriptiveComplexity.reaches_of_wideRounds, and the mirror invariant –
the mirror track is the marker's address – holds by construction, the two
being the same predicate.
The nine phases and their rule families are exactly the call sites of the
loop; their disjointness at the program level is by the guards (wk set vs
clear, rl set vs clear, register vs working area), as everywhere in the
layer.
The seek at an arbitrary file #
Dependency graph
The seek loop, the budget forgotten.