Documentation

CompPoly.Bivariate.GuruswamiSudan.Root.Alekhnovich.Algorithm

Alekhnovich Bivariate Bounded Root Search #

Executable batched X-adic root lifting for the Guruswami-Sudan bivariate root phase. The public output is exactly filtered against Q(X, p(X)) = 0 and degree p < k, following Alekhnovich's lattice-based root-search approach [Ale05].

References #

structure CompPoly.GuruswamiSudan.RootPrefix (F : Type u_1) [Zero F] :
Type u_1

A prefix coset prefixPoly + X^precision * g(X).

Instances For
    @[instance_reducible]
    instance CompPoly.GuruswamiSudan.instBEqRootPrefix {F✝ : Type u_1} {inst✝ : Zero F✝} [BEq F✝] :
    def CompPoly.GuruswamiSudan.instBEqRootPrefix.beq {F✝ : Type u_1} {inst✝ : Zero F✝} [BEq F✝] :
    RootPrefix F✝RootPrefix F✝Bool
    Instances For
      def CompPoly.GuruswamiSudan.instDecidableEqRootPrefix.decEq {F✝ : Type u_1} {inst✝ : Zero F✝} [DecidableEq F✝] (x✝ x✝¹ : RootPrefix F✝) :
      Decidable (x✝ = x✝¹)
      Instances For
        @[instance_reducible]

        Precision requested by the Alekhnovich top-level root search.

        This asks for a small margin over the exactness bound; exact filtering remains the public soundness boundary.

        Instances For

          Normalized shifted residual and its stripped X-adic valuation.

          Instances For
            Instances For
              @[instance_reducible]
              instance CompPoly.GuruswamiSudan.instBEqAlekhnovichResidual {F✝ : Type u_1} {inst✝ : Zero F✝} [BEq F✝] :
              def CompPoly.GuruswamiSudan.instDecidableEqAlekhnovichResidual.decEq {F✝ : Type u_1} {inst✝ : Zero F✝} [DecidableEq F✝] (x✝ x✝¹ : AlekhnovichResidual F✝) :
              Decidable (x✝ = x✝¹)
              Instances For
                @[instance_reducible]

                Shift, truncate, strip the visible X-adic factor, and report the residual.

                Instances For

                  Compose an outer prefix with a suffix prefix returned by a residual call.

                  Instances For

                    Normalize a residual by stripping an initial common X factor only up to the requested precision. Returning none means the current equation is unconstrained modulo the requested precision.

                    Instances For

                      Alekhnovich root prefixes with explicit fuel.

                      Instances For

                        Alekhnovich root prefixes through the requested precision.

                        Instances For

                          Finish one Alekhnovich prefix with Alekhnovich-only recursive suffix completion. Prefixes already at precision k are simply truncated to the final degree bound.

                          Instances For

                            Materialize bounded-degree candidates from Alekhnovich prefixes.

                            Instances For

                              Finish one Alekhnovich prefix with Alekhnovich-only suffix completion.

                              Instances For

                                Materialize bounded-degree candidates from Alekhnovich prefixes.

                                Instances For

                                  Alekhnovich bounded-degree roots, with exact final filtering and deduplication. The zero bivariate input follows the finite-output convention used by the Roth backend and returns no roots.

                                  Instances For