Documentation

Complexitylib.Algebraic.LowerBound.Fusion.Arithmetic.BoundedFailure

Bounded-failure arithmetic fusion #

For multiplicative-complexity lower bounds, additions and constants are free. Consequently an arithmetic fusion model only needs three local facts:

FailureRules packages exactly this interface and compiles it to the generic finite-witness counting framework. Concrete applications can use degree thresholds, derivative directions, rank increments, monomial cuts, or other observations without rebuilding the cover-counting proof.

structure Algebraic.Fusion.Arithmetic.FailureRules {K : Type u} {R : Type v} [Add R] [Mul R] {constant : K → R} {problem : Problem R} (model : Model Arithmetic.multiplicationCost (Arithmetic.interpretation constant) problem) [Fintype model.Witness] :

Local arithmetic rules sufficient for a bounded-failure fusion argument.

Instances For
    noncomputable def Algebraic.Fusion.Arithmetic.FailureRules.failureBound {K : Type u} {R : Type v} [Add R] [Mul R] {constant : K → R} {problem : Problem R} {model : Model Arithmetic.multiplicationCost (Arithmetic.interpretation constant) problem} [Fintype model.Witness] (rules : FailureRules model) :

    Arithmetic local rules compile to a generic weighted failure bound.

    Equations
    Instances For
      theorem Algebraic.Fusion.Arithmetic.FailureRules.cover_lowerBound {K : Type u} {R : Type v} [Add R] [Mul R] {constant : K → R} {problem : Problem R} {model : Model Arithmetic.multiplicationCost (Arithmetic.interpretation constant) problem} [Fintype model.Witness] (rules : FailureRules model) (positive : 0 < rules.capacity) (cover : Cover model) :

      A positive arithmetic failure capacity lower-bounds every fusion cover.

      theorem Algebraic.Fusion.Arithmetic.FailureRules.circuit_lowerBound {K : Type u} {R : Type v} [Add R] [Mul R] {constant : K → R} {problem : Problem R} {model : Model Arithmetic.multiplicationCost (Arithmetic.interpretation constant) problem} [Fintype model.Witness] (rules : FailureRules model) (positive : 0 < rules.capacity) (circuit : Circuit (Arithmetic.signature K) problem.inputCount 1) (constructs : problem.Constructs circuit (Arithmetic.interpretation constant)) :

      The bounded-failure arithmetic argument transferred to a circuit.