Definitions for tiled bounded-trace circuits #
This definitions layer concatenates the initial-configuration fragment with
one packed transition fragment for every bounded choice. Every transition is
compiled at the original horizon T, reads the preceding packed configuration
block, and uses its corresponding primary choice wire.
The intermediate TraceBuild record exposes the current packed block and the
first unused wire. This makes the recursive layout available to later proofs
of topology, evaluation, and polynomial size without introducing dependent
casts into the circuit construction itself.
Accumulated circuit data while tiling a bounded machine trace.
- circuit : CircuitCode.RawCircuit
All initialization and transition gates emitted so far.
- configBase : ℕ
First wire of the most recently packed configuration block.
- available : ℕ
First unused absolute wire after the accumulated circuit.
- size : ℕ
Exact number of gates emitted after the original primary-wire prefix.
Instances For
Initialize a trace build after available primary wires.
Arguments after the machine are the horizon, input length, primary-wire count, and the locations of choices and input data in that primary prefix.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Append the transition selected by choice index i to an accumulated build.
The horizon remains the original T; only the incoming configuration base and
the first unused wire advance from one layer to the next.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Append a listed sequence of bounded transition layers to an existing build.
Indices are consumed from left to right. The list interface supports induction
over partial traces while keeping every index in the fixed type Fin T.
Equations
- Complexity.CircuitUnrolling.traceBuildFrom tm layout build indices = List.foldl (Complexity.CircuitUnrolling.traceBuildStep tm layout) build indices
Instances For
Partial trace build containing the first i canonical choice indices.
When i ≥ T, list take saturates and this is the complete build.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Complete bounded-trace build: initialization followed by choices
0, ..., T - 1 in order. At horizon zero this is just initialization.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Raw circuit for the complete bounded trace.
Equations
- Complexity.CircuitUnrolling.traceFragment tm T n available layout = (Complexity.CircuitUnrolling.traceBuild tm T n available layout).circuit
Instances For
First wire of the final packed configuration block.
Equations
- Complexity.CircuitUnrolling.traceOutputBase tm T n available layout = (Complexity.CircuitUnrolling.traceBuild tm T n available layout).configBase
Instances For
Exact recursively accumulated gate count of the complete trace fragment.
Equations
- Complexity.CircuitUnrolling.traceFragmentSize tm T n available layout = (Complexity.CircuitUnrolling.traceBuild tm T n available layout).size
Instances For
Machine-dependent coefficient in the cubic bounded-trace size bound.