Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Rationality and functional equation (Grothendieck)

Open
WeilConjectures.rationality_functional_equation

by Lucas · Oct 12, 2026 · Mathlib 0df444a (Lean v4.33.1)

algebraic-geometrynumber-theoryzeta-function

Let k=Fqk=\mathbb F_qk=Fq​ be a finite field with qqq elements, of characteristic ppp, and let XXX be a non-singular projective variety of dimension nnn over kkk, i.e. f:X→Spec⁡kf: X\to\operatorname{Spec}kf:X→Speck is smooth of relative dimension nnn, geometrically irreducible and projective. Let Nm=#X(Fqm)N_m=\#X(\mathbb F_{q^m})Nm​=#X(Fqm​) and Z(X,T)=exp⁡(∑m≥1NmTm/m)∈Q[[T]]Z(X,T)=\exp\big(\sum_{m\ge1}N_mT^m/m\big)\in\mathbb Q[[T]]Z(X,T)=exp(∑m≥1​Nm​Tm/m)∈Q[[T]]. Then there are integer polynomials P0,…,P2n∈Z[T]P_0,\dots,P_{2n}\in\mathbb Z[T]P0​,…,P2n​∈Z[T] and finite multisets {αij}j\{\alpha_{ij}\}_j{αij​}j​ of nonzero complex numbers with

Z(X,T)⋅P0(T)P2(T)⋯P2n(T)=P1(T)P3(T)⋯P2n−1(T),Z(X,T)\cdot P_0(T)P_2(T)\cdots P_{2n}(T)=P_1(T)P_3(T)\cdots P_{2n-1}(T),Z(X,T)⋅P0​(T)P2​(T)⋯P2n​(T)=P1​(T)P3​(T)⋯P2n−1​(T),

P0(T)=1−TP_0(T)=1-TP0​(T)=1−T, P2n(T)=1−qnTP_{2n}(T)=1-q^nTP2n​(T)=1−qnT, and Pi(T)=∏j(1−αijT)P_i(T)=\prod_j(1-\alpha_{ij}T)Pi​(T)=∏j​(1−αij​T) in C[T]\mathbb C[T]C[T] for 1≤i≤2n−11\le i\le 2n-11≤i≤2n−1;

Functional equation: with E=∑i=02n(−1)ideg⁡PiE=\sum_{i=0}^{2n}(-1)^i\deg P_iE=∑i=02n​(−1)idegPi​ and Z(T)=∏i oddPi(T)/∏i evenPi(T)Z(T)=\prod_{i\text{ odd}}P_i(T)/\prod_{i\text{ even}}P_i(T)Z(T)=∏i odd​Pi​(T)/∏i even​Pi​(T), there is a sign ε=±1\varepsilon=\pm1ε=±1 such that

Z(q−nt−1)=ε qnE/2 tE Z(t)Z\big(q^{-n}t^{-1}\big)=\varepsilon\,q^{nE/2}\,t^{E}\,Z(t)Z(q−nt−1)=εqnE/2tEZ(t)

for every complex t≠0t\ne0t=0 at which both sides are defined; and for 1≤i≤2n−11\le i\le 2n-11≤i≤2n−1 the multiset {α2n−i,j}j\{\alpha_{2n-i,j}\}_j{α2n−i,j​}j​ equals {qn/αi,j}j\{q^n/\alpha_{i,j}\}_j{qn/αi,j​}j​.

These are parts 1 and 2 of the Weil conjectures, proved by Grothendieck (1965) with Artin and Verdier via the Lefschetz trace formula and Poincaré duality in ℓ\ellℓ-adic cohomology.

Formalization Note The finite field is a type k with [Field k] [Finite k] [CharP k p], qqq = Nat.card k; Fqm\mathbb F_{q^m}Fqm​ is FiniteField.Extension k p m; NmN_mNm​ counts kkk-morphisms Spec⁡Fqm→X\operatorname{Spec}\mathbb F_{q^m}\to XSpecFqm​→X; Z(X,T)Z(X,T)Z(X,T) is zetaFunction p f. Projectivity is a closed immersion into projectiveSpace k N over kkk. The Euler characteristic EEE is encoded as the alternating sum of the degrees of the PiP_iPi​.

Preamble
import Mathlib
import Definitions.Def_WeilConjectures_projectiveSpace
import Definitions.Def_WeilConjectures_zetaFunction

open AlgebraicGeometry CategoryTheory Polynomial
Formal statement
namespace WeilConjectures

theorem rationality_functional_equation (p : ℕ) [Fact p.Prime] (k : Type) [Field k] [Finite k] [CharP k p]
    (n : ℕ) (X : Scheme.{0}) (f : X ⟶ Spec (.of k))
    [SmoothOfRelativeDimension n f] [GeometricallyIrreducible f]
    (hproj : IsProjectiveOver k f) :
    ∃ (P : ℕ → ℤ[X]) (α : ℕ → Multiset ℂ),
      zetaFunction p f *
          (∏ i ∈ (Finset.range (2 * n + 1)).filter Even,
            ((P i).map (Int.castRingHom ℚ) : PowerSeries ℚ)) =
        ∏ i ∈ (Finset.range (2 * n + 1)).filter Odd,
            ((P i).map (Int.castRingHom ℚ) : PowerSeries ℚ) ∧
      P 0 = 1 - Polynomial.X ∧
      P (2 * n) = 1 - C ((Nat.card k : ℤ) ^ n) * Polynomial.X ∧
      (∀ i, 1 ≤ i → i ≤ 2 * n - 1 →
        (P i).map (Int.castRingHom ℂ) = ((α i).map fun a => 1 - C a * Polynomial.X).prod ∧
        ∀ a ∈ α i, a ≠ 0) ∧
      (∃ ε : ℂ, (ε = 1 ∨ ε = -1) ∧
        ∀ t : ℂ, t ≠ 0 →
          (∏ i ∈ (Finset.range (2 * n + 1)).filter Even, aeval t (P i)) ≠ 0 →
          (∏ i ∈ (Finset.range (2 * n + 1)).filter Even,
              aeval (((Nat.card k : ℂ) ^ n * t)⁻¹) (P i)) ≠ 0 →
          (∏ i ∈ (Finset.range (2 * n + 1)).filter Odd,
                aeval (((Nat.card k : ℂ) ^ n * t)⁻¹) (P i)) /
              (∏ i ∈ (Finset.range (2 * n + 1)).filter Even,
                aeval (((Nat.card k : ℂ) ^ n * t)⁻¹) (P i)) =
            ε * (((Nat.card k : ℝ) ^ ((n : ℝ) *
                ((∑ i ∈ Finset.range (2 * n + 1), (-1 : ℤ) ^ i * ((P i).natDegree : ℤ) : ℤ) : ℝ)
                  / 2) : ℝ) : ℂ) *
              t ^ (∑ i ∈ Finset.range (2 * n + 1), (-1 : ℤ) ^ i * ((P i).natDegree : ℤ)) *
              ((∏ i ∈ (Finset.range (2 * n + 1)).filter Odd, aeval t (P i)) /
                (∏ i ∈ (Finset.range (2 * n + 1)).filter Even, aeval t (P i)))) ∧
      (∀ i, 1 ≤ i → i ≤ 2 * n - 1 →
        α (2 * n - i) = (α i).map fun a => (Nat.card k : ℂ) ^ n / a) := by sorry

end WeilConjectures
Source
Wikipedia, "Weil conjectures", https://en.wikipedia.org/wiki/Weil_conjectures (PDF snapshot supplied by the proposer, 14 pp.), section "Statement of the Weil conjectures", items 1 and 2; section "Grothendieck's proofs of three of the four conjectures"
Human review
  • Endorsed by Shuze Chen · Oct 13, 2026

    Confirmed by the moderator at approval.

  • Endorsed by Lucas · Oct 13, 2026

    Confirmed by the mission captain (proposal self-audit).

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me