Definitions/Def_ModularCurve_EisensteinIdeal.lean
Eisenstein eigensystem evaluation, Eisenstein maximal ideal, Eisenstein congruence
The ambient Hecke algebra is the project's abstract model \mathbb{T} = HeckeAlg, the polynomial ring \mathbb{Z}[X_\ell] on one generator heckeGen ℓ for each prime \ell, and the Eisenstein system at level N is the family eisensteinSystem N sending a prime \ell to 1 when \ell \mid N and to 1 + \ell otherwise. Four things are defined on top of this. First, eisensteinEval N is the \mathbb{Z}-algebra homomorphism \mathbb{T} \to \mathbb{Z} obtained by evaluating at this family, so that the generator attached to \ell is sent to 1 for \ell \mid N and to 1+\ell for \ell \nmid N. Second, eisensteinMaximalIdeal N p, for natural numbers N and p, is the ideal of \mathbb{T} defined as the preimage under eisensteinEval N of the principal ideal (p) \subseteq \mathbb{Z}; equivalently, by the membership lemma, t lies in it exactly when p \mid eisensteinEval N t, and in particular the image of p in \mathbb{T} lies in it. No primality assumption on p is imposed and no maximality is asserted here: the name records the intended use, while the definition is the comap just described. Third, IsEisensteinCongruent m N a is a predicate on a family of integers a indexed by the primes: for every prime \ell whose underlying natural number is different from N, one has a_\ell \equiv \ell + 1 in \mathbb{Z}/m\mathbb{Z}. Note that the excluded primes are those equal to N, not those dividing N, and that this is a congruence condition on a system of integer eigenvalues, not a statement about ideals. Fourth, modSystem m a is the reduction \ell \mapsto a_\ell \bmod m of such a family to a family of elements of \mathbb{Z}/m\mathbb{Z}. Two further lemmas record the value of eisensteinEval N on a generator and the defining value of modSystem.
Relation to Mathlib
Mathlib has no Hecke algebra or Eisenstein ideal; both the model \mathbb{T} = MvPolynomial Nat.Primes ℤ and the notions here are the project's own, built from Mathlib's multivariate polynomial evaluation and Ideal.comap.
Where it is used
Together with the Eisenstein ideal eisensteinIdeal N (the kernel of the same evaluation), these definitions supply the maximal ideal and the congruence condition at which the project's Eichler–Shimura and multiplicity-one data for Hecke modules are formulated, for instance in the statements about nonvanishing of \mathfrak{m}-torsion and about eigenform ideals containing the residue characteristic.
References
- B. Mazur, Modular curves and the Eisenstein ideal, Publications Mathématiques de l'IHÉS 47 (1977), 33–186
- F. Diamond and J. Shurman, A First Course in Modular Forms, Graduate Texts in Mathematics 228, Springer, 2005
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 38 lines
- 8 declarations
- used in the statements of 12 theorems and imported by 12 proofs
- imports 1 definition modules
Source file: Definitions/Def_ModularCurve_EisensteinIdeal.lean
Declarations
- def
ModularCurve.eisensteinEval - lemma
ModularCurve.eisensteinEval_heckeGen - def
ModularCurve.eisensteinMaximalIdeal - lemma
ModularCurve.mem_eisensteinMaximalIdeal_iff - lemma
ModularCurve.natCast_mem_eisensteinMaximalIdeal - def
ModularCurve.IsEisensteinCongruent - def
ModularCurve.modSystem - lemma
ModularCurve.modSystem_apply
Source
import Mathlib import Definitions.Def_HeckeGalois_EichlerShimura set_option autoImplicit false noncomputable section namespace ModularCurve def eisensteinEval (N : ℕ) : HeckeAlg →ₐ[ℤ] ℤ := MvPolynomial.aeval (eisensteinSystem N) @[simp] lemma eisensteinEval_heckeGen (N : ℕ) (ℓ : Nat.Primes) : eisensteinEval N (heckeGen ℓ) = eisensteinSystem N ℓ := by simp [eisensteinEval, heckeGen] def eisensteinMaximalIdeal (N p : ℕ) : Ideal HeckeAlg := Ideal.comap (eisensteinEval N) (Ideal.span {(p : ℤ)}) lemma mem_eisensteinMaximalIdeal_iff (N p : ℕ) (t : HeckeAlg) : t ∈ eisensteinMaximalIdeal N p ↔ (p : ℤ) ∣ eisensteinEval N t := by rw [eisensteinMaximalIdeal, Ideal.mem_comap, Ideal.mem_span_singleton] lemma natCast_mem_eisensteinMaximalIdeal (N p : ℕ) : (p : HeckeAlg) ∈ eisensteinMaximalIdeal N p := by rw [mem_eisensteinMaximalIdeal_iff, map_natCast] def IsEisensteinCongruent (m : ℕ) (N : ℕ) (a : Nat.Primes → ℤ) : Prop := ∀ ℓ : Nat.Primes, (ℓ : ℕ) ≠ N → ((a ℓ : ZMod m)) = ((ℓ : ℕ) : ZMod m) + 1 def modSystem (m : ℕ) (a : Nat.Primes → ℤ) : Nat.Primes → ZMod m := fun ℓ => (a ℓ : ZMod m) @[simp] lemma modSystem_apply (m : ℕ) (a : Nat.Primes → ℤ) (ℓ : Nat.Primes) : modSystem m a ℓ = (a ℓ : ZMod m) := rfl end ModularCurve
Statements phrased using this module (12)
- An Eisenstein ideal element acting by num((p-1)/12) on J₀(p)
ModularCurve.eisensteinIdeal_image_cokernel_dvd_num_heckeModuleBar1,072 below · depth 9 - Locally torsion at Eisenstein maximal ideals implies torsion
ModularCurve.eisensteinQuotientRational_closure_locallyTorsion_isTorsion_heckeModuleBar1 below · depth 9 - Rational points of the Eisenstein quotient are torsion
ModularCurve.eisensteinQuotientRational_isTorsion_heckeModuleBar_of_perPrimeFinite16 below · depth 9 - Admissibility of the Eisenstein-primary torsion of J₀(p)
ModularCurve.eisensteinPrimaryTorsion_isMazurAdmissible_heckeModuleBar1,059 below · depth 11 - Vanishing of mathfrak P_q^M-torsion in J₀(p) when q ∤ n(p)
ModularCurve.heckeTorsion_eisensteinMaximalIdeal_pow_eq_bot_of_not_dvd_eisensteinNumerator1,237 below · depth 11 - Finiteness of Eisenstein P^m-torsion on J₀(p)
ModularCurve.finite_torsionBySet_eisensteinMaximalIdeal_pow714 below · depth 12 - Quadratic Galois relation on Eisenstein torsion of J₀(p)
ModularCurve.smul_smul_sub_smul_add_eq_zero_of_mem_torsionBySet_eisensteinMaximalIdeal1,054 below · depth 12 - Rational points versus Eisenstein quotient: kernel and cokernel torsion
ModularCurve.rationalPoints_eisensteinQuotient_ker_and_coker_torsion_primeCompl_unconditional239 below · depth 13 - Maximal multiplicative-type submodule of Eisenstein torsion absorbs inertia displacements
ModularCurve.exists_submodule_multiplicativeTypeNat_maximal_heckeTorsion_span_sup_inertiaSubgroupIn1,977 below · depth 14 - Inertia at q acts by n on the reduction kernel
ModularCurve.inertia_smul_eq_nsmul_of_mem_heckeTorsion_span_sup_of_reductionModL_eq_zero1,977 below · depth 15 - Cyclic generator for the reduced Eisenstein socle at q
ModularCurve.exists_nsmul_generator_heckeTorsion_span_sup_of_reductionModL_eisensteinMaximalIdeal_smul_eq_zero1,051 below · depth 17 - Galois-equivariant pairing on stable Eisenstein torsion of J₀(p)
ModularCurve.exists_pairing_heckeTorsion_span_sup_galois_of_stable950 below · depth 19