Documentation

MIPRE.Background.LIDT.MIPStarRE.LDT.Basic.LinePolynomials

One-variable line polynomials for the low individual degree test #

Polynomial answer types attached to axis-parallel and diagonal lines.

References #

def MIPStarRE.LDT.HasLowIndividualDegree (params : Parameters) [FieldModel params.q] (g : Point paramsFq params) :

A coded function has low individual degree when it is represented by an actual multivariate polynomial over the chosen field model whose degree in each variable is at most d.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    def MIPStarRE.LDT.HasUnivariateDegreeAtMost (params : Parameters) [FieldModel params.q] (bound : ) (f : Fq paramsFq params) :

    A coded univariate function has degree at most bound when it is represented by an actual polynomial over the chosen field model of degree at most bound.

    Equations
    Instances For

      Composing with the degree-one translation C a + X preserves natDegree bounds. Shared degree bookkeeping for the reparamAt reparametrizations below.

      structure MIPStarRE.LDT.AxisLinePolynomial (params : Parameters) [FieldModel params.q] :
      Type u_1

      Axis-parallel line answers are genuine univariate degree-d polynomials.

      Instances For
        @[instance_reducible]
        Equations
        noncomputable def MIPStarRE.LDT.AxisLinePolynomial.toFun {params : Parameters} [FieldModel params.q] (f : AxisLinePolynomial params) :
        Fq paramsFq params

        Evaluation of an axis-line answer on the line parameter.

        Equations
        Instances For

          A degree-zero axis-line answer is a constant univariate polynomial.

          Lean-only helper for the degree-zero branch of thm:ld-pasting; the source context is references/ldt-paper/ld-pasting.tex:12-55, where the boundary case d = 0 must be handled without adding 0 < d to the theorem.

          theorem MIPStarRE.LDT.AxisLinePolynomial.apply_eq_apply_of_degree_zero {params : Parameters} [FieldModel params.q] (f : AxisLinePolynomial params) (hd : params.d = 0) (t s : Fq params) :
          f.toFun t = f.toFun s

          A degree-zero axis-line answer has the same value at all line parameters.

          Lean-only helper for the degree-zero branch of thm:ld-pasting; this is the vertical-line analogue of Polynomial.apply_eq_apply_of_degree_zero.

          theorem MIPStarRE.LDT.AxisLinePolynomial.ext {params : Parameters} [FieldModel params.q] {f g : AxisLinePolynomial params} (hpoly : f.poly = g.poly) :
          f = g
          noncomputable def MIPStarRE.LDT.AxisLinePolynomial.reparamAt {params : Parameters} [FieldModel params.q] (f : AxisLinePolynomial params) (t : Fq params) :

          Reparametrize an axis-line answer by translating the line parameter.

          Equations
          Instances For
            @[simp]
            theorem MIPStarRE.LDT.AxisLinePolynomial.reparamAt_apply {params : Parameters} [FieldModel params.q] (f : AxisLinePolynomial params) (t s : Fq params) :
            (f.reparamAt t).toFun s = f.toFun (addCoord t s)
            noncomputable def MIPStarRE.LDT.AxisLinePolynomial.reparamAtEquiv {params : Parameters} [FieldModel params.q] (t : Fq params) :

            Reparametrization by translation is an equivalence on axis-line answers.

            Equations
            • One or more equations did not get rendered due to their size.
            Instances For

              The stored polynomial really witnesses the advertised degree bound.

              Extend an axis-line answer to the slice at height x.

              Equations
              Instances For
                @[simp]
                theorem MIPStarRE.LDT.AxisLinePolynomial.appendAtHeight_apply {params : Parameters} [FieldModel params.q] (f : AxisLinePolynomial params) (x t : Fq params) :
                (appendAtHeight params f x).toFun t = f.toFun t
                @[simp]
                theorem MIPStarRE.LDT.AxisLinePolynomial.appendAtHeight_reparamAt {params : Parameters} [FieldModel params.q] (f : AxisLinePolynomial params) (t x : Fq params) :
                appendAtHeight params (f.reparamAt t) x = (appendAtHeight params f x).reparamAt t

                Slice extension commutes with translating the line parameter on axis-line answers.

                @[simp]

                The inverse reparametrization equivalence commutes with slice extension on axis-line answers.

                Restrict an axis-line answer in m + 1 variables to the slice at height x.

                Equations
                Instances For

                  Diagonal-line answers are genuine univariate degree-md polynomials.

                  Instances For
                    @[instance_reducible]
                    Equations
                    noncomputable def MIPStarRE.LDT.DiagonalLinePolynomial.toFun {params : Parameters} [FieldModel params.q] (f : DiagonalLinePolynomial params) :
                    Fq paramsFq params

                    Evaluation of a diagonal-line answer on the line parameter.

                    Equations
                    Instances For
                      theorem MIPStarRE.LDT.DiagonalLinePolynomial.ext {params : Parameters} [FieldModel params.q] {f g : DiagonalLinePolynomial params} (hpoly : f.poly = g.poly) :
                      f = g
                      noncomputable def MIPStarRE.LDT.DiagonalLinePolynomial.reparamAt {params : Parameters} [FieldModel params.q] (f : DiagonalLinePolynomial params) (t : Fq params) :

                      Reparametrize a diagonal-line answer by translating the line parameter.

                      Concretely, the underlying univariate polynomial f.poly (over Scalar params in the chosen field model) is precomposed with X + C (decodeScalar t), i.e. the coefficients are shifted using genuine field addition on Scalar params — not the Fin q arithmetic on Fq params. Transporting back through encodeScalar gives the answer-level identity reparamAt f t s = f (addCoord t s) (see reparamAt_apply), where addCoord is field addition lifted through the coding FieldModel.equiv. Composition with a degree-one polynomial preserves the natDegree ≤ params.m * params.d bound.

                      This is the answer-level geometric fact behind rebasing a diagonal line at parameter t: the old parameter addCoord t s becomes the new parameter s.

                      Equations
                      Instances For
                        @[simp]

                        Reparametrization by translation is an equivalence on diagonal-line answers.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For

                          The stored polynomial really witnesses the advertised degree bound.

                          Extend a diagonal-line answer to the slice at height x.

                          Equations
                          Instances For
                            @[simp]

                            Slice extension commutes with translating the line parameter on diagonal-line answers.

                            @[simp]

                            The inverse reparametrization equivalence commutes with slice extension on diagonal-line answers.

                            Restrict a diagonal-line answer in m + 1 variables to the slice at height x. This interface now makes the stronger slice-wise degree requirement explicit.

                            Equations
                            Instances For

                              Paper-level diagonal-line answers #

                              @[reducible, inline]

                              Paper-level diagonal-line answers as functions on the line parameter.

                              The existing DiagonalLinePolynomial alphabet records a degree bound on the univariate line polynomial. For the slice restriction in inductive_step.tex, lines 436--455, the paper uses the underlying line function: restricting a slice-preserving ambient line is total at the function level, while it is not total on the current degree-bounded polynomial subtype.

                              Equations
                              Instances For

                                Reparametrize a paper-level diagonal-line answer by translating the line parameter.

                                Equations
                                Instances For
                                  @[simp]
                                  theorem MIPStarRE.LDT.DiagonalLineAnswer.reparamAt_apply {params : Parameters} [FieldModel params.q] (f : DiagonalLineAnswer params) (t s : Fq params) :
                                  f.reparamAt t s = f (addCoord t s)

                                  Reparametrization by translation is an equivalence on paper-level line answers.

                                  Equations
                                  • One or more equations did not get rendered due to their size.
                                  Instances For

                                    Extend a paper-level diagonal-line answer to the slice at height x.

                                    Equations
                                    Instances For

                                      Restrict a paper-level ambient diagonal-line answer to the slice at height x.

                                      Equations
                                      Instances For
                                        @[simp]
                                        theorem MIPStarRE.LDT.DiagonalLineAnswer.appendAtHeight_apply (params : Parameters) (f : DiagonalLineAnswer params) (x : Fq params) (t : Fq params.next) :
                                        appendAtHeight params f x t = f t
                                        @[simp]
                                        theorem MIPStarRE.LDT.DiagonalLineAnswer.restrictAtHeight_apply (params : Parameters) (f : DiagonalLineAnswer params.next) (x t : Fq params) :
                                        restrictAtHeight params f x t = f t
                                        @[simp]
                                        theorem MIPStarRE.LDT.DiagonalLineAnswer.appendAtHeight_reparamAt {params : Parameters} [FieldModel params.q] (f : DiagonalLineAnswer params) (t x : Fq params) :
                                        appendAtHeight params (f.reparamAt t) x = (appendAtHeight params f x).reparamAt t

                                        Forget the degree witness and view a diagonal-line polynomial as its paper-level line answer function.

                                        Equations
                                        Instances For
                                          @[simp]