Documentation

MIPRE.Foundations.LowDegree.FiniteVariables

Restricting polynomials to an embedded set of variables #

Setting all other variables to zero preserves every individual-degree bound. This lets circuit polynomials be written with natural-number input and gate indices, then restricted to the exact finite variable count used by the PCP.

noncomputable def MIPRE.LowDegree.extendZero {σ : Type u_1} {τ : Type u_2} {F : Type u_3} [CommRing F] {f : σ → τ} (hf : Function.Injective f) (x : σ → F) (j : τ) :
F

Extend values by zero outside an embedded set of coordinates.

Equations
Instances For
    @[simp]
    theorem MIPRE.LowDegree.extendZero_apply {σ : Type u_1} {τ : Type u_2} {F : Type u_3} [CommRing F] {f : σ → τ} (hf : Function.Injective f) (x : σ → F) (i : σ) :
    extendZero hf x (f i) = x i
    theorem MIPRE.LowDegree.eval_killCompl {σ : Type u_1} {τ : Type u_2} {F : Type u_3} [CommRing F] {f : σ → τ} (hf : Function.Injective f) (p : MvPolynomial τ F) (x : σ → F) :

    Evaluation after restriction equals evaluation at the zero extension.

    theorem MIPRE.LowDegree.eval_killCompl_eq {σ : Type u_1} {τ : Type u_2} {F : Type u_3} [CommRing F] {f : σ → τ} (hf : Function.Injective f) (p : MvPolynomial τ F) (x : σ → F) (y : τ → F) (hxy : ∀ (i : σ), y (f i) = x i) (hy : ∀ j ∉ Set.range f, y j = 0) :

    A useful form of restriction correctness: any zero extension agrees.

    theorem MIPRE.LowDegree.degreeOf_killCompl_le {σ : Type u_1} {τ : Type u_2} {F : Type u_3} [CommRing F] {f : σ → τ} (hf : Function.Injective f) (p : MvPolynomial τ F) (i : σ) :

    Restriction cannot increase the degree of any retained coordinate.