Circuit unrolling for bounded Turing-machine traces #
This module exposes the auditable wire layout, initialization layer, packed one-step transition compiler, and complete bounded-trace tiling for nondeterministic Turing machines. The tiled fragment has exact evaluation and topology laws together with a machine-dependent cubic size bound. A final gate selects the exact halt-and-output acceptance predicate, and the resulting raw code reconstructs to a typed single-output circuit. Parallel copies can share the data input, consume disjoint choice blocks, and feed a strict-majority threshold with an explicit polynomial gate bound.
The canonical atom list has exactly one entry for every wire in a configuration block.
Looking up an atom at its explicit index in the canonical ordering recovers that atom.
Initialization emits exactly one raw gate per configuration atom.
Every gate of the initialization fragment refers to an existing input wire, hence the fragment is topologically well formed at its prefix.
Evaluating any list of one-gate initialization sources appends exactly their values, preserves the existing prefix, and records each emitted value at its consecutive output wire.
Initialization appends one atom wire per configuration proposition, preserves the complete existing prefix, and encodes the machine's initial configuration. Choice wires may occur in the prefix but are not inspected.