Definitions/Def_ModularCurve_ShimuraSubgroup.lean
μ-type subgroups and Shimura subgroups of JZero
Two predicates on additive subgroups of the Jacobian JZero N, the degree-zero divisor class group of the base change to \overline{\mathbb{Q}} of the modular function field of level N, carrying the Galois action induced coefficientwise on Laurent series. First, IsMuTypeJZeroSubgroup N S is a structure with two fields: galoisStable, saying that \sigma \cdot x \in S for every \mathbb{Q}-algebra automorphism \sigma of \overline{\mathbb{Q}} and every x \in S; and galoisActsCyclotomic, saying that for every natural number n, every x \in S with n x = 0, every \sigma and every natural number k such that \sigma \zeta = \zeta^{k} for all \zeta \in \overline{\mathbb{Q}} with \zeta^{n} = 1, one has \sigma \cdot x = k x. Thus S is Galois-stable and, on each n-torsion layer, Galois acts through the mod-n cyclotomic character; the clause is imposed for all n, not only prime n. (For n = 0 the hypothesis on \sigma and k forces k = 1 and \sigma = \mathrm{id}, so nothing is required there.)
Second, for a prime p, IsShimuraSubgroup p S is a structure with three fields: S is of \mu-type in the above sense; for every prime \ell and every x \in S, \bar{T}_\ell x = e_N(\ell)\, x where e_N(\ell) is the Eisenstein system, equal to 1 if \ell \mid p and to 1 + \ell otherwise; and \operatorname{card} S = (p-1)/\gcd(p-1,12), the Eisenstein numerator. Since that numerator is at least 1, the cardinality clause forces S to be finite of exactly that order. Two accompanying lemmas record that the trivial subgroup is of \mu-type, and that it is a Shimura subgroup whenever the Eisenstein numerator equals 1, as happens for p = 13.
Relation to Mathlib
Mathlib has no notion of the Shimura subgroup or of a subgroup of multiplicative type in a modular Jacobian; both predicates are the project's own, phrased on JZero with the Hecke operators heckeOperatorBar and the Eisenstein eigenvalue system eisensteinSystem.
Where it is used
These predicates axiomatise the properties of the Shimura subgroup \Sigma \subset J_0(p), the kernel of the map J_0(p) \to J_1(p): it is of multiplicative type, the Hecke operators act on it through the Eisenstein eigenvalues, and its order is the numerator of (p-1)/12. Statements in the level-lowering part of the argument take an arbitrary subgroup satisfying the predicate rather than a distinguished global object.
References
- B. Mazur, Rational isogenies of prime degree, Inventiones Mathematicae 44 (1978), 129–162, §11
- B. Mazur, Modular curves and the Eisenstein ideal, Publications Mathématiques de l'IHÉS 47 (1977), 33–186
- K. A. Ribet, On modular representations of \mathrm{Gal}(\overline{\mathbb{Q}}/\mathbb{Q}) arising from modular forms, Inventiones Mathematicae 100 (1990), 431–476
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 58 lines
- 9 declarations
- used in the statements of 0 theorems and imported by 0 proofs
- imports 2 definition modules
Source file: Definitions/Def_ModularCurve_ShimuraSubgroup.lean
Declarations
- structure
ModularCurve.IsMuTypeJZeroSubgroup - field
ModularCurve.IsMuTypeJZeroSubgroup.galoisStable - field
ModularCurve.IsMuTypeJZeroSubgroup.galoisActsCyclotomic - theorem
ModularCurve.isMuTypeJZeroSubgroup_bot - structure
ModularCurve.IsShimuraSubgroup - field
ModularCurve.IsShimuraSubgroup.isMuType - field
ModularCurve.IsShimuraSubgroup.hecke_eq - field
ModularCurve.IsShimuraSubgroup.card_eq - theorem
ModularCurve.isShimuraSubgroup_bot_of_eisensteinNumerator_eq_one
Source
import Definitions.Def_ModularCurve_HeckeModule import Definitions.Def_ModularCurve_ModularUnit set_option autoImplicit false noncomputable section namespace ModularCurve section MuType variable (N : ℕ) structure IsMuTypeJZeroSubgroup (S : AddSubgroup (JZero N)) : Prop where galoisStable : ∀ (σ : AlgebraicClosure ℚ ≃ₐ[ℚ] AlgebraicClosure ℚ), ∀ x ∈ S, σ • x ∈ S galoisActsCyclotomic : ∀ (n : ℕ), ∀ x ∈ S, (n : ℤ) • x = 0 → ∀ (σ : AlgebraicClosure ℚ ≃ₐ[ℚ] AlgebraicClosure ℚ) (k : ℕ), (∀ ζ : AlgebraicClosure ℚ, ζ ^ n = 1 → σ ζ = ζ ^ k) → σ • x = (k : ℤ) • x theorem isMuTypeJZeroSubgroup_bot : IsMuTypeJZeroSubgroup N ⊥ where galoisStable := fun σ x hx => by obtain rfl : x = 0 := AddSubgroup.mem_bot.mp hx exact AddSubgroup.mem_bot.mpr (@smul_zero _ (JZero N) _ _ σ) galoisActsCyclotomic := fun n x hx _ σ k _ => by obtain rfl : x = 0 := AddSubgroup.mem_bot.mp hx exact (@smul_zero _ (JZero N) _ _ σ).trans (smul_zero (k : ℤ)).symm end MuType section Shimura variable (p : ℕ) [Fact p.Prime] structure IsShimuraSubgroup (S : AddSubgroup (JZero p)) : Prop where isMuType : IsMuTypeJZeroSubgroup p S hecke_eq : ∀ ℓ : Nat.Primes, ∀ x ∈ S, heckeOperatorBar p ℓ x = eisensteinSystem p ℓ • x card_eq : Nat.card ↥S = eisensteinNumerator p theorem isShimuraSubgroup_bot_of_eisensteinNumerator_eq_one (hp : eisensteinNumerator p = 1) : IsShimuraSubgroup p ⊥ where isMuType := isMuTypeJZeroSubgroup_bot p hecke_eq := fun ℓ x hx => by rw [AddSubgroup.mem_bot] at hx rw [hx, map_zero, smul_zero] card_eq := by rw [hp, AddSubgroup.card_bot] example : @IsShimuraSubgroup 13 ⟨by decide⟩ ⊥ := @isShimuraSubgroup_bot_of_eisensteinNumerator_eq_one 13 ⟨by decide⟩ (by decide) end Shimura end ModularCurve
Statements phrased using this module (0)
No statement module imports it directly (it is used through other definition modules or by proofs).