Riemann hypothesis for varieties over finite fields (Deligne)
OpenWeilConjectures.riemann_hypothesisLet be a finite field with elements, of characteristic , and let be a non-singular projective variety of dimension over , i.e. is smooth of relative dimension , geometrically irreducible and projective. Let and . Then there are integer polynomials and finite multisets of nonzero complex numbers with
, , and in for ;
and moreover Riemann hypothesis: for all and all .
This is part 3 of the Weil conjectures, proved by Deligne (1974). It implies that the zeros of lie on the line .
Formalization Note The finite field is a type k with [Field k] [Finite k] [CharP k p], = Nat.card k; is FiniteField.Extension k p m; counts -morphisms ; is zetaFunction p f. Projectivity is a closed immersion into projectiveSpace k N over .
import Mathlib import Definitions.Def_WeilConjectures_projectiveSpace import Definitions.Def_WeilConjectures_zetaFunction open AlgebraicGeometry CategoryTheory Polynomial
namespace WeilConjectures
theorem riemann_hypothesis (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) ∧
(∀ i, 1 ≤ i → i ≤ 2 * n - 1 → ∀ a ∈ α i,
‖a‖ = (Nat.card k : ℝ) ^ ((i : ℝ) / 2)) := by sorry
end WeilConjectures
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.