Multiplicative-shadow lower bounds for arithmetic circuits #
An additive interaction certificate linearizes addition and charges the new directions created by multiplication. This module records the operation-dual principle. Suppose a feature of a product always belongs to the span of the two operand features. Free inputs and named constants start with zero feature. A multiplication gate then creates no new feature direction, while one addition gate can create at most the direction of its result.
Consequently, the common span of the requested output features has dimension at most the number of addition gates. The argument permits arbitrary constants, cancellation, zero intermediate values, and sharing between all outputs. It deliberately asks for no rule governing the feature of a sum.
The motivating specialization sends a nonzero rational function to its factor-exponent, divisor, or valuation vector modulo the free inputs and constants. Multiplication is addition in that vector space, whereas an addition can introduce at most one new divisor direction.
This is a machine-checked feature-span presentation of the classical addition-rank viewpoint, not a claim that addition rank is new. See:
- D. G. Kirkpatrick and Z. M. Kedem, Addition Requirements for Rational Functions (1977), https://doi.org/10.1137/0206015.
- C. P. Schnorr and J. P. Van de Wiele, On the Additive Complexity of Polynomials (1980), https://doi.org/10.1016/0304-3975(80)90068-7.
A feature for which multiplication creates no direction outside the span of the operand features.
- feature : U → Q
Feature used to obstruct the requested outputs.
Free inputs have zero feature.
Named constants have zero feature.
- feature_mul (left right : U) : ∃ (leftScalar : K) (rightScalar : K), self.feature (left * right) = leftScalar • self.feature left + rightScalar • self.feature right
A product feature belongs to the span of its two operand features.
Instances For
Pull a multiplicative-shadow certificate back along a multiplication-preserving semantic map. The map need not preserve addition: addition results are retained as fresh shadow generators anyway.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Retain the feature of an addition result and discard multiplication and constant atoms.
Equations
- One or more equations did not get rendered due to their size.
- Algebraic.Fusion.Arithmetic.MultiplicativeShadow.Atom.additionShadow? certificate { op := Algebraic.Arithmetic.Op.mul, arguments := arguments } = none
- Algebraic.Fusion.Arithmetic.MultiplicativeShadow.Atom.additionShadow? certificate { op := Algebraic.Arithmetic.Op.constant value, arguments := arguments } = none
Instances For
Addition-result shadows extracted from a list of arithmetic atoms.
Equations
- Algebraic.Fusion.Arithmetic.MultiplicativeShadow.additionShadows certificate atoms = List.filterMap (Algebraic.Fusion.Arithmetic.MultiplicativeShadow.Atom.additionShadow? certificate) atoms
Instances For
The number of retained shadows is exactly the addition cost.
Submodule generated by the shadows of all addition results in an atom list.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The shadow of an addition atom in the list belongs to the generated submodule.
Every wire feature lies in the span of addition-result shadows from any atom list containing the whole program.
Every output feature lies in the common span of the circuit's addition result shadows.
Every requested output feature belongs to the common addition-shadow span of a constructing circuit.
The dimension of the requested output-shadow span is at most the number of addition gates.
Linearly independent output shadows force one addition gate per output.