Parallel amplification circuits #
This module exposes a circuit that runs several independent bounded traces of one nondeterministic machine on shared input data and returns their strict majority verdict. The implementation serializes the copies in raw gate order, but every copy reads only its own choice block and the common data block.
The circuit layer deliberately stops at Fin.countP. Its interpretation as
the randomized layer's blockMajority is supplied by
Complexitylib.Classes.Randomized.CircuitAmplification.
Main results #
amplifiedAcceptanceRawCircuit_wellFormed: the raw circuit is valid.eval?_amplifiedAcceptanceRawCircuit: raw evaluation returns the threshold of the independent bounded acceptance bits.amplifiedAcceptanceCircuit_eval: typed reconstruction has the same semantics.canonicalAmplifiedAcceptanceCircuit_eval: choices-first canonical semantics.amplifiedAcceptanceCircuit_size_le: one cubic unrolling per run plus a quadratic threshold circuit.
Exact gate count: all acceptance copies followed by the threshold fragment.
Every reference in the amplified raw circuit points backward.
The amplified raw circuit is nonempty and topologically ordered.
Parallel amplification uses one cubic trace circuit per run and one quadratic threshold circuit.
Array-native evaluation appends the exact raw gate count, preserves the primary inputs, and records the threshold value at the designated output.
Raw single-output evaluation returns the strict-threshold predicate over the independent bounded acceptance bits.
Reconstruct a valid amplified raw circuit as a typed single-output circuit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Typed reconstruction preserves the exact amplified raw gate count.
The typed amplified circuit satisfies the same explicit polynomial bound.
Typed evaluation computes the threshold of the independent bounded runs.
Canonical choices-first, shared-data-second amplified circuit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Under the canonical layout, typed evaluation consumes the flat seed before the shared input and returns the threshold of the named acceptance-bit vector.