Definitions/Def_ModularCurve_Eisenstein.lean
Named Eisenstein-ideal and cuspidal-class hypotheses on
Four predicates (def … : Prop) in namespace ModularCurve that instantiate the generic Eisenstein/Hecke calculus of the project's HeckeGalois_EichlerShimura layer at the concrete carriers JZero p, eisensteinIdeal p, heckePic0Bar and cuspidalClass p. Each takes p : ℕ with only [NeZero p] (primality and size conditions are left to consuming theorems), and the first, second and fourth take an explicit binder inst : Module HeckeAlg (JZero p), installed locally by letI, since no ambient Hecke-module structure on JZero p is assumed at this point. EisensteinQuotientInvariantsFiniteAt p inst is the project's generic predicate EisensteinQuotientInvariantsFinite applied with group G the automorphism group \bar{\mathbb Q}\simeq_{\mathbb Q}\bar{\mathbb Q}, module JZero p and ideal eisensteinIdeal p; its intended reading is finiteness of the Galois invariants of the Eisenstein quotient, but what the Prop asserts is exactly the unfolding of that project notion, and no commutation of the Hecke action with G is required by the binders. SpecializationSlot p q inst is the project's SpecializationExists at K=\mathbb Q, L=\bar{\mathbb Q}, the pair (p,q) and the module JZero p. HeckeKillsCuspidalClass p ℓ hα hβ hFI hfin hN carries, in order, the inputs demanded by heckePic0Bar: integrality hypotheses HeckeAlphaBarIntegral/HeckeBetaBarIntegral for the two Hecke correspondence maps at level p\ell, a HasPrincipalDivisors instance for modularFunctionFieldBar (p * ℓ), a fundamental identity FundamentalIdentityAlong, finiteness FiniteAlong and a norm formula NormFormulaAlong; its conclusion is the pointwise equation \mathrm{heckePic0Bar}(\text{cuspidalClass } p) - (1+\ell)\cdot\text{cuspidalClass } p = 0, i.e. T_\ell acts on the cuspidal class by 1+\ell, written as a subtraction rather than as an operator T_\ell-(1+\ell). EisensteinKernelKillsCuspidalClass p inst says every t in eisensteinKernel (JZero p) (eisensteinIdeal p) satisfies t\cdot\text{cuspidalClass } p = 0. None of the four is a theorem here: the module proves nothing about X_0(N) and states nothing about the order of the cuspidal class.
Relation to Mathlib
Mathlib has no Eisenstein ideal, cuspidal class or Hecke action on J_0(p); all notions named here, including JZero, eisensteinIdeal, eisensteinKernel, heckePic0Bar, cuspidalClass and the generic EisensteinQuotientInvariantsFinite/SpecializationExists predicates, are the project's own.
Where it is used
These named hypotheses form the interface through which the Mazur-style input on J_0(p) — finiteness of the Galois invariants of the Eisenstein quotient, specialisation of J_0(p) at an auxiliary prime, and the annihilation of the cuspidal class by T_\ell-(1+\ell) and by the Eisenstein kernel — is supplied to the statement modules that depend on it; eleven downstream modules import them.
References
- B. Mazur, Modular curves and the Eisenstein ideal, Publications Mathématiques de l'IHÉS 47 (1977), 33–186
- A. P. Ogg, Rational points on certain elliptic modular curves, Proceedings of Symposia in Pure Mathematics 24 (1973), 221–231
- H. Darmon, F. Diamond and R. Taylor, Fermat's Last Theorem, in: Current Developments in Mathematics 1995, International Press, 1995, 1–154
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 40 lines
- 4 declarations
- used in the statements of 4 theorems and imported by 7 proofs
- imports 3 definition modules
Source file: Definitions/Def_ModularCurve_Eisenstein.lean
Imported by
Declarations
- def
ModularCurve.EisensteinQuotientInvariantsFiniteAt - def
ModularCurve.SpecializationSlot - def
ModularCurve.HeckeKillsCuspidalClass - def
ModularCurve.EisensteinKernelKillsCuspidalClass
Source
import Definitions.Def_HeckeGalois_EichlerShimura import Definitions.Def_ModularCurve_HeckeOperator import Definitions.Def_ModularCurve_CuspidalClass set_option autoImplicit false noncomputable section namespace ModularCurve open AlgebraicCurve def EisensteinQuotientInvariantsFiniteAt (p : ℕ) [NeZero p] (inst : Module HeckeAlg (JZero p)) : Prop := letI := inst EisensteinQuotientInvariantsFinite (G := AlgebraicClosure ℚ ≃ₐ[ℚ] AlgebraicClosure ℚ) (JZero p) (eisensteinIdeal p) def SpecializationSlot (p q : ℕ) [NeZero p] (inst : Module HeckeAlg (JZero p)) : Prop := letI := inst SpecializationExists (K := ℚ) (L := AlgebraicClosure ℚ) p q (JZero p) def HeckeKillsCuspidalClass (p ℓ : ℕ) [NeZero p] [NeZero ℓ] (hα : HeckeAlphaBarIntegral (AlgebraicClosure ℚ) p ℓ) (hβ : HeckeBetaBarIntegral (AlgebraicClosure ℚ) p ℓ) [HasPrincipalDivisors (AlgebraicClosure ℚ) (modularFunctionFieldBar (p * ℓ))] (hFI : FundamentalIdentityAlong (AlgebraicClosure ℚ) (heckeBetaBar (AlgebraicClosure ℚ) p ℓ) hβ) (hfin : FiniteAlong (AlgebraicClosure ℚ) (heckeAlphaBar (AlgebraicClosure ℚ) p ℓ)) (hN : NormFormulaAlong (AlgebraicClosure ℚ) (heckeAlphaBar (AlgebraicClosure ℚ) p ℓ) hfin) : Prop := heckePic0Bar hα hβ hFI hfin hN (cuspidalClass p) - (1 + ℓ : ℤ) • cuspidalClass p = 0 def EisensteinKernelKillsCuspidalClass (p : ℕ) [NeZero p] (inst : Module HeckeAlg (JZero p)) : Prop := letI := inst ∀ t ∈ eisensteinKernel (JZero p) (eisensteinIdeal p), t • cuspidalClass p = 0 end ModularCurve
Statements phrased using this module (4)
- landmark Finiteness of the Galois invariants of the Eisenstein quotient of J₀(p)
ModularCurve.eisensteinQuotientInvariantsFiniteAt_heckeModuleBar5,128 below · depth 7 - Eisenstein ideal element acting as n(p) on J₀(p)
ModularCurve.exists_mem_eisensteinIdeal_smul_eq_eisensteinNumerator_zsmul1,071 below · depth 10 - The Eisenstein ideal annihilates the cuspidal class
ModularCurve.eisensteinIdeal_smul_cuspidalClass266 below · depth 14 - Eisenstein kernel annihilates the cuspidal class on J₀(p)
ModularCurve.eisensteinKernelKillsCuspidalClass_heckeModuleBar0 below · depth 16