Documentation

CompPoly.Bivariate.GuruswamiSudan.Interpolation.LeeOSullivan.Correctness.Common

Lee-O'Sullivan Correctness Common Helpers #

Basic facts shared by Lee-O'Sullivan soundness and completeness proofs.

Executable distinct-x check agrees with the semantic predicate.

theorem CompPoly.GuruswamiSudan.LeeOSullivan.leeCoefficientForm_eval_point {F : Type u_1} [Field F] [BEq F] [LawfulBEq F] [DecidableEq F] (V : CPolynomial.VanishingPolynomialContext F) (E : CPolynomial.BatchEvalContext F) {points : Array (F × F)} (hdistinct : DistinctXCoordinates points) {point : F × F} (hpoint : point points.toList) :

The coefficient-form R used by Lee evaluates to the packed values at distinct nodes.

theorem CompPoly.GuruswamiSudan.LeeOSullivan.leeVanishing_eval_point {F : Type u_1} [Field F] [BEq F] [LawfulBEq F] (V : CPolynomial.VanishingPolynomialContext F) {points : Array (F × F)} {point : F × F} (hpoint : point points.toList) :
CPolynomial.eval point.1 (V.vanishingPolynomial (Array.map (fun (p : F × F) => p.1) points)) = 0

The vanishing G used by Lee vanishes on every listed x.

Lee basis rows have exactly ell + 1 rows.

Lee basis rows built from fixed R and G are rectangular.

The executable Lee basis matrix has width ell + 1.

Lee basis rows built from packed points are rectangular.

The Lee basis as bivariate polynomials, parallel to the executable row matrix.

Instances For

    The bivariate Lee basis has the same length as the row basis.

    In-bounds reads from the bivariate Lee basis return the corresponding basis polynomial.

    In-bounds row entries of the executable Lee basis are the Y coefficients of the corresponding bivariate basis polynomial.