Rationality and functional equation (Grothendieck)
OpenWeilConjectures.rationality_functional_equationLet 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 ;
Functional equation: with and , there is a sign such that
for every complex at which both sides are defined; and for the multiset equals .
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 -adic cohomology.
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 . The Euler characteristic is encoded as the alternating sum of the degrees of the .
import Mathlib import Definitions.Def_WeilConjectures_projectiveSpace import Definitions.Def_WeilConjectures_zetaFunction open AlgebraicGeometry CategoryTheory Polynomial
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
Confirmed by the mission captain (proposal self-audit).
Confirmed by the moderator at approval.