Documentation

Complexitylib.Circuits.Unrolling.Acceptance.Hardwiring

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 #

noncomputable def Complexity.CircuitUnrolling.fixedChoicesAcceptanceCircuit {k : } (tm : NTM k) (T n : ) [NeZero n] (choices : BitString T) :

Fix every choice input of a canonical bounded acceptance circuit while leaving its positive-length data suffix live.

Equations
Instances For
    theorem Complexity.CircuitUnrolling.fixedChoicesAcceptanceCircuit_eval {k : } (tm : NTM k) (T n : ) [NeZero n] (choices : BitString T) (x : BitString n) :
    (fixedChoicesAcceptanceCircuit tm T n choices).eval x 0 = boundedAcceptanceBit tm T x choices

    Fixing the choice prefix preserves the exact bounded acceptance bit.

    @[simp]

    Fixing the choice prefix preserves the canonical circuit's exact size.

    A fixed-choice acceptance circuit inherits the canonical cubic bound.