Finite Lupanov circuit #
This module recombines the two pattern banks into the finite Lupanov
block-table circuit. It gives an explicit cost ledger and proves exact
evaluation and ComputesWith theorems for every positive block size.
Recombination and the complete finite circuit #
Number of flattened (block, pattern) flags in either bank.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Program-gate count of both flattened pattern banks.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Compute the left and right pattern banks side by side.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Coordinate of a left-bank flag in the combined pattern state.
Equations
- Algebraic.MassProduction.LupanovSynthesis.leftPatternInput index = Fin.castAdd (Algebraic.MassProduction.LupanovSynthesis.bankWidth addressWidth blockSize) index
Instances For
Coordinate of the corresponding right-bank flag.
Equations
- Algebraic.MassProduction.LupanovSynthesis.rightPatternInput index = Fin.natAdd (Algebraic.MassProduction.LupanovSynthesis.bankWidth addressWidth blockSize) index
Instances For
Conjoin corresponding flags in the two pattern banks.
Equations
- One or more equations did not get rendered due to their size.
Instances For
OR all matching block-pattern conjunctions.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Program-gate count of all three stages of finite Lupanov synthesis.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The finite Lupanov block-table circuit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Explicit finite cost ledger.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Exact semantics #
The address-side block expression, fed by the shared minterm table, is true exactly when one of its literal rows is the selected address and the corresponding pattern bit is true.
The data-side sparse expression, fed by the shared minterm table, is the indicator of the selected data column having the requested block pattern.
The finite block-table circuit computes the supplied Boolean function exactly.