Halting and every-prefix storage of the complement query machine #
Fix a round J₀ whose radix is closed on the input, as a space bound of the source provides.
The radix moves to the next round only after a certified overflow, so every reachable state is in
a round at most J₀ (Turing.InductiveCounting.round_le). Each round's controller halts within
the instruction budget of round J₀, so every branch halts within a common clock
(Turing.InductiveCounting.queryMachine_haltsWithin). Every controller register is below a power
of two linear in J₀ and the binary length of the input, so every prefix, including rejecting
and dishonest ones, has short encoded state (Turing.InductiveCounting.length_run_le).
Main definitions #
Turing.InductiveCounting.roundBudget: the instruction budget of roundJ₀.Turing.InductiveCounting.abstractTime: a clock for every branch.Turing.InductiveCounting.storageBound: a bound on every encoded state.
Main results #
Turing.InductiveCounting.queryMachine_haltsWithin: every branch halts within the clock.Turing.InductiveCounting.length_run_le: storage on every choice prefix.
References #
Larger radices have larger ambient graphs.
Rounds stop at a closed one: a state's round has only unclosed rounds before it.
On a checked radix, every branch halts within the controller's progress measure.
Every branch halts within the same input-dependent clock, given a closed round.
Storage #
Every state allowed by the invariant has a short encoding, given a closed round.
The encoded state bound holds on every computation prefix, including rejecting branches.