Adapted from Charlie Dorsey’s Apache-2.0 Weil Bounds Toolkit for Lean Pool’s module system, Mathlib version, quality requirements and compilation performance.
Hasse derivatives and multiplicities #
Proves the Hasse-derivative root criterion, multiplicity bounds, and degree control for auxiliary-polynomial derivatives. Reference: Harcos (2015), §4, equations (14)–(15) and Lemmas 8–10; Stepanov (1972).
A point has multiplicity at least l exactly when its first l Hasse
derivatives vanish. This is Stepanov's Hasse-derivative criterion.
If every point in S is a root of multiplicity at least l of a
nonzero polynomial, then l * #S is at most its degree. This is the exact
counting step in Stepanov inequality (14).
The kth Hasse derivative of g * f^n retains at least n-k
factors of f. This is the divisibility part of Stepanov's Lemma 10.
Cancellation-safe form of the degree conclusion in Stepanov's Lemma 10.
The displayed inequality is equivalent to
deg u ≤ deg g + k * deg f - k.
Canonical quotient after removing the guaranteed factor f^(n-k) from
the Hasse derivative.
Equations
Instances For
Exact factorization defining hassePowerQuotient.
For fixed f, n, and k, the quotient in Stepanov's Lemma 10 depends
linearly on g.
Equations
- KloostermanWeil.Stepanov.hassePowerQuotientLinearMap f hf hk = { toFun := KloostermanWeil.Stepanov.hassePowerQuotient f hk, map_add' := ⋯, map_smul' := ⋯ }
Instances For
Degree bound for the canonical quotient, in the cancellation-safe form of Stepanov's inequality (16).
Below the prime-power block size, Hasse differentiation acts only on
the coefficient polynomial in g * X^(j*q). This is the exact identity
used to pass from equation (18) to equation (20).