Documentation

LeanPool.KloostermanWeil.Stepanov.SpecializedCurve

Adapted from Charlie Dorsey’s Apache-2.0 Weil Bounds Toolkit for Lean Pool’s module system, Mathlib version, quality requirements and compilation performance.

The Artin–Schreier Kloosterman curve #

Specializes the point-count argument to y² = (x^p-x)²-4c over finite extensions, following Harcos (2015), equation (3).

The additive Artin–Schreier polynomial X^p-X.

Equations
Instances For

    The affine curve polynomial occurring in Harcos equation (3).

    Equations
    Instances For

      The Artin–Schreier polynomial has derivative -1.

      Harcos's curve polynomial has degree exactly 2p.

      theorem KloostermanWeil.Stepanov.map_four_mul_ne_zero (p n : ℕ) [Fact (Nat.Prime p)] (hpodd : Odd p) (c : ZMod p) (hc : c ≠ 0) :
      (algebraMap (ZMod p) (GaloisField p n)) (4 * c) ≠ 0

      In odd prime characteristic, the scalar 4c stays nonzero in every finite extension whenever c is nonzero.

      The constant coefficient needed by the Stepanov construction is nonzero.

      The curve polynomial is separable.

      The separable positive-degree curve polynomial is not a scalar square, which is the exact nondegeneracy hypothesis in Stepanov's theorem.

      theorem KloostermanWeil.Stepanov.kloostermanCurve_defect_high_extension (p n : ℕ) [Fact (Nat.Prime p)] (hpodd : Odd p) (c : ZMod p) (hc : c ≠ 0) (hn : n ≠ 0) (hlarge : 100 * (2 * p + 1) * ((p ^ n).sqrt + 1) < p ^ n) :
      |↑(hyperellipticAffinePointFinset (kloostermanCurvePolynomial p n c)).card - ↑(p ^ n)| < ↑(80 * (2 * p + 1) * ((p ^ n).sqrt + 1) + 1)

      Uniform high-extension estimate for the exact curve in Harcos equation (3). The constant depends on p but not on the extension degree n.