Fixed-choice bounded acceptance circuits #
This module fixes the choices-first prefix of a canonical bounded acceptance circuit, leaving only the positive-length data input live. It is the reusable single-run analogue of amplified-seed hardwiring.
Main definitions and results #
fixedChoicesAcceptanceCircuit: hardwire one complete choice string.fixedChoicesAcceptanceCircuit_eval: exact bounded-acceptance semantics.fixedChoicesAcceptanceCircuit_size: exact size preservation.fixedChoicesAcceptanceCircuit_size_le: inherited cubic size bound.
noncomputable def
Complexity.CircuitUnrolling.fixedChoicesAcceptanceCircuit
{k : ℕ}
(tm : NTM k)
(T n : ℕ)
[NeZero n]
(choices : BitString T)
:
Circuit Basis.andOr2 n 1 (List.length (acceptanceRawCircuit tm T n (T + n) (prefixInputWires T n)) - 1)
Fix every choice input of a canonical bounded acceptance circuit while leaving its positive-length data suffix live.