Circuit fragments for affine Boolean forms -- definitions #
This module compiles affine Boolean forms over existing circuit wires. Each row uses one shared AND gate per coefficient/input pair followed by the linear-size parity fragment. The multi-row builder appends a linear threshold test deciding whether every affine output bit is zero.
One product gate per coefficient/input coordinate.
Equations
- One or more equations did not get rendered due to their size.
- Complexity.PairwiseIndependentHash.AffineCircuit.productGates 0 x_3 x_4 = []
Instances For
Wire emitted for one coefficient/input product.
Equations
- Complexity.PairwiseIndependentHash.AffineCircuit.productWire available coordinate = available + ↑coordinate
Instances For
Inputs to the parity stage: all product wires followed by the constant coefficient.
Equations
- Complexity.PairwiseIndependentHash.AffineCircuit.parityRefs available constantRef i = Fin.lastCases constantRef (Complexity.PairwiseIndependentHash.AffineCircuit.productWire available) i
Instances For
Exact gate count of one compiled affine Boolean form.
Equations
Instances For
Absolute wire carrying the compiled affine-form value.
Equations
- Complexity.PairwiseIndependentHash.AffineCircuit.outputWire available width = Complexity.CircuitCode.Parity.outputWire (available + width) (width + 1)
Instances For
Compile one affine Boolean form over existing coefficient, input, and constant wires.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Wire count available before compiling the selected affine row.
Equations
- Complexity.PairwiseIndependentHash.AffineCircuit.rowAvailable available width row = available + row * Complexity.PairwiseIndependentHash.AffineCircuit.linearGateCount width
Instances For
Compile every row of an affine Boolean matrix, retaining one output wire per row.
Equations
- One or more equations did not get rendered due to their size.
- Complexity.PairwiseIndependentHash.AffineCircuit.compileRowsRaw available width 0 x_3 x✝ = []
Instances For
Boolean value asserting that every coordinate of a fixed-width output is zero.
Equations
- Complexity.PairwiseIndependentHash.AffineCircuit.zeroValue output = !decide (1 ≤ Fin.countP output)
Instances For
Wire count available after all affine rows have been compiled.
Equations
- Complexity.PairwiseIndependentHash.AffineCircuit.rowsAvailable available width rowCount = available + rowCount * Complexity.PairwiseIndependentHash.AffineCircuit.linearGateCount width
Instances For
Exact gate count of the full affine-zero fragment.
Equations
- Complexity.PairwiseIndependentHash.AffineCircuit.zeroGateCount width rowCount = rowCount * Complexity.PairwiseIndependentHash.AffineCircuit.linearGateCount width + (4 + 2 * rowCount)
Instances For
Absolute wire carrying the full affine-zero decision.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Compile all affine rows and return true exactly when every row is zero.
Equations
- One or more equations did not get rendered due to their size.