Polynomial overhead bounds for the finite Uhlig layer #
This module bounds the routing and decoding overhead of the complete finite Uhlig layer. The result is an explicit polynomial bound used by the quantitative recursion; no asymptotic claim is hidden in this module.
Polynomial overhead bounds for the shared layer #
theorem
Algebraic.MassProduction.UhligCircuit.sourceIndicatorExpression_standardCost_le
{prefixWidth suffixWidth : ℕ}
(side : Fin 2)
(source : Fin (prefixLast prefixWidth + 1))
:
Prefix-equality testing costs at most two gates per tested bit.
theorem
Algebraic.MassProduction.UhligCircuit.stateSourceIndicatorExpression_standardCost_le
{pairs prefixWidth suffixWidth : ℕ}
(pair : Fin pairs)
(side : Fin 2)
(source : Fin (prefixLast prefixWidth + 1))
:
@[simp]
theorem
Algebraic.MassProduction.UhligCircuit.fixedRoutedSuffixExpression_standardCost
{prefixWidth suffixWidth : ℕ}
(first second : Fin (prefixLast prefixWidth + 1))
(resource : Fin (prefixLast prefixWidth + 2))
(bit : Fin suffixWidth)
:
@[simp]
theorem
Algebraic.MassProduction.UhligCircuit.resourceRouterCircuit_cost
{prefixWidth suffixWidth : ℕ}
(resource : Fin (prefixLast prefixWidth + 2))
:
(resourceRouterCircuit resource).cost DeMorgan.standardCost = ∑ bit : Fin suffixWidth, (routedSuffixExpression resource bit).standardCost
A direct polynomial bound for one routed suffix bit.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Algebraic.MassProduction.UhligCircuit.routedSuffixExpression_standardCost_le
{prefixWidth suffixWidth : ℕ}
(resource : Fin (prefixLast prefixWidth + 2))
(bit : Fin suffixWidth)
:
theorem
Algebraic.MassProduction.UhligCircuit.resourceRouterCircuit_cost_le
{prefixWidth suffixWidth : ℕ}
(resource : Fin (prefixLast prefixWidth + 2))
:
(resourceRouterCircuit resource).cost DeMorgan.standardCost ≤ suffixWidth * routedSuffixCostBound prefixWidth
Uniform charged cost bound for one hardwired source-pair candidate.
Equations
- Algebraic.MassProduction.UhligCircuit.candidateDecodedCostBound prefixWidth = 4 * prefixWidth + 4 * (Algebraic.MassProduction.UhligCircuit.prefixLast prefixWidth + 2) + 2
Instances For
theorem
Algebraic.MassProduction.UhligCircuit.candidateDecodedCircuit_cost_le
{pairs prefixWidth suffixWidth : ℕ}
(pair : Fin pairs)
(side : Fin 2)
(first second : Fin (prefixLast prefixWidth + 1))
:
(candidateDecodedCircuit pair side first second).cost DeMorgan.standardCost ≤ candidateDecodedCostBound prefixWidth
Uniform row cost after OR-ing over the second source.
Equations
- One or more equations did not get rendered due to their size.
Instances For
theorem
Algebraic.MassProduction.UhligCircuit.candidateRowCircuit_cost_le
{pairs prefixWidth suffixWidth : ℕ}
(pair : Fin pairs)
(side : Fin 2)
(first : Fin (prefixLast prefixWidth + 1))
:
(candidateRowCircuit pair side first).cost DeMorgan.standardCost ≤ candidateRowCostBound prefixWidth
theorem
Algebraic.MassProduction.UhligCircuit.resourceRoutingBankCost_le
(prefixWidth suffixWidth pairs : ℕ)
:
∑ resource : Fin (prefixLast prefixWidth + 2),
∑ _pair : Fin pairs, (resourceRouterCircuit resource).cost DeMorgan.standardCost ≤ (prefixLast prefixWidth + 2) * (pairs * (suffixWidth * routedSuffixCostBound prefixWidth))
Uniform routing cost across all resources and request pairs.