Native control for binary-choice query passes #
An initializer runs once, followed by one or more passes. At each pass boundary one native binary choice selects a deterministic pass routine. A blank continuation tape selects the finalizer; a nonblank one starts another pass. All routing steps preserve every tape and head.
The finite native control contains only the control states of the initializer, the two pass routines and the finalizer, together with two routing states. In particular, neither the abstract query state nor the history of choices is put in native control.
Main definitions #
Turing.NondeterministicQueryMachine.Native.State: native finite control.Turing.NondeterministicQueryMachine.Native.table: a binary-choice native transition table.Turing.NondeterministicQueryMachine.Native.machine: its ordinary nondeterministic machine.
Main results #
Turing.NondeterministicQueryMachine.Native.exists_runPath_iff: all native run paths are exactly finite coin replays, including halted self-loops.
Native control for initialization, binary-choice passes, and finalization.
- init {SI : Type} {SP : Bool → Type} {SF : Type} (q : SI) : State SI SP SF
The initializer is running.
- choose {SI : Type} {SP : Bool → Type} {SF : Type} : State SI SP SF
Choose the next pass routine, without moving any head.
- pass {SI : Type} {SP : Bool → Type} {SF : Type} (choice : Bool) (q : SP choice) : State SI SP SF
The selected deterministic pass is running.
- check {SI : Type} {SP : Bool → Type} {SF : Type} : State SI SP SF
Read the continuation tape after a pass.
- finish {SI : Type} {SP : Bool → Type} {SF : Type} (q : SF) : State SI SP SF
The finalizer is running.
Instances For
Native instruction under one binary choice. Only choose depends on the choice.
Instances For
The native binary-choice transition table. Its oracle type is empty.
Instances For
The ordinary native nondeterministic machine.
Instances For
The finite native machine is never stuck, even away from its intended invariant.
A native step is selected by one binary choice.
Finite native paths are exactly finite coin replays. Coins are proof-level witnesses.
Applying a relabeled action agrees with relabeling the resulting configuration. The old
control state is never read by Action.apply.
The initializer is simulated step for step until its first halt.
A selected pass is deterministic until its first halt, regardless of subsequent coins.
The finalizer is simulated step for step, with its halt preserved.
The choice step selects a routine without storing any earlier choices or moving a head.
The continuation check changes only native control.
Every native successor inside a live pass is the same deterministic successor.
Every native successor inside the live initializer is its deterministic successor.
Every native successor inside the live finalizer is its deterministic successor.
Every native pass prefix is the deterministic pass prefix. This is the reverse direction needed for space bounds on all native computation paths, rather than only a selected replay. The endpoint is included; it is the native continuation-check state.
Every native initialization prefix is the deterministic initialization prefix.
Every native finalization prefix is the deterministic finalization prefix.
Every prefix that is still in one pass stays within the pass's original common window. No sum over time, repeated visits, or choices is taken.
Embed the running part of an initializer path into the native machine.
Instances For
Embed the running part of a selected pass, retaining every head position.
Instances For
Embed the running part of a finalizer, preserving its final halt.
Instances For
A deterministic pass specification gives a native round with one binary-choice step and one continuation check. Its heads stay in the same origin-centered window, independently of the number of preceding or following rounds.