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).
noncomputable def
KloostermanWeil.Stepanov.kloostermanArtinSchreier
(p n : ℕ)
[Fact (Nat.Prime p)]
:
Polynomial (GaloisField p n)
The additive Artin–Schreier polynomial X^p-X.
Equations
Instances For
noncomputable def
KloostermanWeil.Stepanov.kloostermanCurvePolynomial
(p n : ℕ)
[Fact (Nat.Prime p)]
(c : ZMod p)
:
Polynomial (GaloisField p n)
The affine curve polynomial occurring in Harcos equation (3).
Equations
- KloostermanWeil.Stepanov.kloostermanCurvePolynomial p n c = KloostermanWeil.Stepanov.kloostermanArtinSchreier p n ^ 2 - Polynomial.C ((algebraMap (ZMod p) (GaloisField p n)) (4 * c))
Instances For
theorem
KloostermanWeil.Stepanov.derivative_kloostermanArtinSchreier
(p n : ℕ)
[Fact (Nat.Prime p)]
:
The Artin–Schreier polynomial has derivative -1.
theorem
KloostermanWeil.Stepanov.natDegree_kloostermanArtinSchreier
(p n : ℕ)
[Fact (Nat.Prime p)]
:
The exact degree of X^p-X.
theorem
KloostermanWeil.Stepanov.natDegree_kloostermanCurvePolynomial
(p n : ℕ)
[Fact (Nat.Prime p)]
(c : ZMod p)
:
Harcos's curve polynomial has degree exactly 2p.
theorem
KloostermanWeil.Stepanov.separable_kloostermanCurvePolynomial
(p n : ℕ)
[Fact (Nat.Prime p)]
(hpodd : Odd p)
(c : ZMod p)
(hc : c ≠ 0)
:
(kloostermanCurvePolynomial p n c).Separable
The curve polynomial is separable.
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)
:
Uniform high-extension estimate for the exact curve in Harcos equation
(3). The constant depends on p but not on the extension degree n.