Documentation

Complexitylib.Algebraic.LowerBound.Cutwidth.MultiOutput.Polynomial.Internal

Formal linearization of polynomial gate computations #

The derivative-at-zero vector of a substitution lies in the span of the substituted polynomials' vectors. Polynomial induction proves this directly using the product rule.

theorem Algebraic.Cutwidth.MultiOutput.Polynomial.Internal.linearPart_aeval_mem_span {F : Type u_1} [Field F] {n arity : ℕ} (args : Fin arity → MvPolynomial (Fin n) F) (q : MvPolynomial (Fin arity) F) :
linearPart ((MvPolynomial.aeval args) q) ∈ Submodule.span F (Set.range fun (i : Fin arity) => linearPart (args i))
theorem Algebraic.Cutwidth.MultiOutput.Polynomial.Internal.gatePolynomial_eval {F : Type u_1} [Field F] {σ : Signature} {I : Interpretation σ F} (hI : IsPolynomial I) (op : σ.Op) (x : Fin (σ.Arity op) → F) :

Evaluating formal wire polynomials commutes with every original gate operation.

Equations
Instances For
    theorem Algebraic.Cutwidth.MultiOutput.Polynomial.Internal.wirePolynomial_eval {F : Type u_1} [Field F] {σ : Signature} {n s : ℕ} {I : Interpretation σ F} (hI : IsPolynomial I) (p : Program σ n s) (x : Fin n → F) (w : Wire n s) :
    theorem Algebraic.Cutwidth.MultiOutput.Polynomial.Internal.wirePolynomial_output {F : Type u_1} [Field F] {σ : Signature} {n m : ℕ} [Infinite F] {I : Interpretation σ F} (hI : IsPolynomial I) (c : Circuit σ n m) (M : Matrix (Fin m) (Fin n) F) (hc : c.Computes I fun (x : Fin n → F) => M.mulVec x) (i : Fin m) :