Native controller routines for inductive counting #
The certificates charge the full encoded arguments and apply to every state, including malformed
register contents. Width is supplied in unary: writing the binary register bound 2 ^ width
then takes only linear space in that argument.
Unary conversion and fixed-list dispatch adapt the corresponding native tidy-calculus proofs.
Main results #
Turing.InductiveCounting.instruction_budget: the local controller instruction.Turing.InductiveCounting.advance_budget: the instruction with storage and rank checks.Turing.InductiveCounting.advance_inSpace: the complete routine on its encoded input tuple.Turing.InductiveCounting.query_budget: the explicit edge or bad-vertex request.
References #
Converting a unary counter to binary needs only linear space.
Binary powers of two from unary exponents, without an exponential unary intermediate.
Reading the encoded product underlying a controller state.
Reading the finite instruction label as its fixed natural code.
Reading the ten binary registers.
Reading the predicate flag.
Reading the final-scan flag.
A fixed register projection preserves the common budget.
Case distinction on the finite phase, retaining an arbitrary common budget.
Constructing a state from its finite label, ten binary registers and two flags.
Reading the round register preserves the common budget.
Reading the count register preserves the common budget.
Reading the target register preserves the common budget.
Reading the nextCount register preserves the common budget.
Reading the candidate register preserves the common budget.
Reading the selected register preserves the common budget.
Reading the remaining register preserves the common budget.
Reading the current register preserves the common budget.
Reading the guess register preserves the common budget.
Reading the bits register preserves the common budget.
Halt detection reads only the finite phase.
Acceptance detection reads only the finite phase.
A unary width can also be used as a binary register in the same budget.
The complete register bound, with unary width, uses linear space on all inputs.
A native certificate for the underlying local instruction, with no validity assumption.
The candidate cost is a fixed arithmetic expression in the supplied parameters.
The target cost uses a fixed number of binary arithmetic operations.
The round cost uses a fixed number of binary arithmetic operations.
The full progress measure is computed in the common budget on arbitrary states.
All ten storage checks are executable within the budget, including on malformed states.
One checked controller step: this certificate includes both the complete storage test and the comparison of the old and new ranks. Width is unary, so the bound remains linear on all arguments, without any register-validity hypothesis.
Initializing the controller includes its source-range check.
Tagged binary data for one edge or bad-vertex request.
Instances For
An oracle request stores its tag and at most two binary vertices.
Instances For
The explicit request, including the finite-phase and final-scan selection.
An unconditional native linear-space certificate for the complete checked routine.