Definitions/Def_ModularCurve_HeckeNamedInputs.lean
Named degeneracy identities: diagonal case and beta-exchange
Throughout, L is a field equipped with a \mathbb{Q}-algebra structure, and for a nonzero level N the relevant curve is presented by the intermediate field L-generated inside \mathrm{LaurentSeries}(L) by the coefficientwise image of \mathrm{modularFunctionFieldFull}(N), the subfield of \mathrm{LaurentSeries}(\mathbb{Q}) generated by the q-expansions j(q^{d}) for d \mid N. Two degeneracy embeddings into level N\ell are available: heckeAlphaBar, the inclusion of the level-N field into the level-N\ell field, and heckeBetaBar, induced by the substitution q \mapsto q^{\ell} (qExpand L ℓ); towerSubstBar L N ℓ h is the latter followed by the inclusion into a larger level M with N\ell \mid M. Divisors are transported by Divisor.pullbackAlong and Divisor.pushforwardAlong along such an algebra map together with a witness that it is integral, and heckeDivBar is the induced correspondence on divisors, pullback along \beta followed by pushforward along \alpha.
HeckeDiagonalIdentity L N p is the proposition, universally quantified over two HasPrincipalDivisors instances (at levels Np and Np^{2}), over integrality witnesses for \alpha,\beta at (N,p) and at (Np,p), over an L-algebra automorphism \sigma of the level-Np field with heckeBetaBar L N p followed by \sigma equal to heckeAlphaBar L N p, over integrality of \sigma, and over a divisor D on the level-Np field, that the pullback along \beta_{N,p} of the pushforward along \alpha_{N,p} of D equals heckeDivBar at the level pair (Np,p) applied to D plus the pushforward of D along \sigma. Classically this is the one-prime double-coset decomposition, the extra term being the graph of the Atkin–Lehner involution.
HeckeBetaExchangeAt L N ℓ ℓ' M hM, for M = N\ell\ell', asserts under the corresponding instances, integrality witnesses for \beta_{N,\ell}, \beta_{N,\ell'} and the two substitution maps to level M, and for every divisor D on the level-N\ell' field, that pullback along \beta_{N,\ell} of pushforward along \beta_{N,\ell'} of D equals the pushforward along towerSubstBar L (N * ℓ) ℓ' of the pullback along towerSubstBar L (N * ℓ') ℓ of D. The helper dvd_of_eq_roof_beta supplies the two divisibilities N\ell\ell' \mid M and N\ell'\ell \mid M needed to name those substitution maps.
Relation to Mathlib
Mathlib has no modular function fields, degeneracy maps or divisor correspondences on them; these predicates are stated entirely in the project's own framework, built on Mathlib's Laurent series, intermediate fields and Finsupp-valued divisors.
Where it is used
These propositions are the named inputs for the commutation rules between Hecke and degeneracy operators on the divisor groups of the base-changed modular function fields, from which the Hecke action on \mathrm{Pic}^{0} (the Jacobian J_0(N)) and its torsion Galois representations are obtained; consumers take them as explicit hypotheses.
References
- A. O. L. Atkin and J. Lehner, Hecke operators on \Gamma_0(m), Mathematische Annalen 185 (1970), 134–160
- G. Shimura, Introduction to the Arithmetic Theory of Automorphic Functions, Princeton University Press, 1971
- 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.
- 59 lines
- 3 declarations
- used in the statements of 3 theorems and imported by 5 proofs
- imports 2 definition modules
Source file: Definitions/Def_ModularCurve_HeckeNamedInputs.lean
Imported by
- no other definition module
Declarations
- def
ModularCurve.HeckeDiagonalIdentity - theorem
ModularCurve.dvd_of_eq_roof_beta - def
ModularCurve.HeckeBetaExchangeAt
Source
import Definitions.Def_ModularCurve_HeckeOperator import Definitions.Def_ModularCurve_DegeneracyTower set_option autoImplicit false namespace ModularCurve open AlgebraicCurve section Diagonal variable (L : Type*) [Field L] [Algebra ℚ L] (N p : ℕ) [NeZero N] [NeZero p] def HeckeDiagonalIdentity : Prop := ∀ [HasPrincipalDivisors L (laurentBaseChange L (modularFunctionFieldFull (N * p)))] [HasPrincipalDivisors L (laurentBaseChange L (modularFunctionFieldFull (N * p * p)))] (hα : HeckeAlphaBarIntegral L N p) (hβ : HeckeBetaBarIntegral L N p) (hα₂ : HeckeAlphaBarIntegral L (N * p) p) (hβ₂ : HeckeBetaBarIntegral L (N * p) p) (σ : laurentBaseChange L (modularFunctionFieldFull (N * p)) ≃ₐ[L] laurentBaseChange L (modularFunctionFieldFull (N * p))) (_ : σ.toAlgHom.comp (heckeBetaBar L N p) = heckeAlphaBar L N p) (hσi : σ.toAlgHom.toRingHom.IsIntegral) (D : Divisor L (laurentBaseChange L (modularFunctionFieldFull (N * p)))), Divisor.pullbackAlong (heckeBetaBar L N p) hβ (Divisor.pushforwardAlong (heckeAlphaBar L N p) hα D) = heckeDivBar (N := N * p) (ℓ := p) hα₂ hβ₂ D + Divisor.pushforwardAlong σ.toAlgHom hσi D end Diagonal section BetaExchange variable (L : Type*) [Field L] [Algebra ℚ L] (N ℓ ℓ' M : ℕ) [NeZero N] [NeZero ℓ] [NeZero ℓ'] [NeZero M] omit [NeZero N] [NeZero ℓ] [NeZero ℓ'] [NeZero M] in theorem dvd_of_eq_roof_beta (hM : M = N * ℓ * ℓ') : N * ℓ * ℓ' ∣ M ∧ N * ℓ' * ℓ ∣ M := ⟨⟨1, by rw [hM, mul_one]⟩, ⟨1, by rw [hM]; ring⟩⟩ def HeckeBetaExchangeAt (hM : M = N * ℓ * ℓ') : Prop := ∀ [HasPrincipalDivisors L (laurentBaseChange L (modularFunctionFieldFull (N * ℓ)))] [HasPrincipalDivisors L (laurentBaseChange L (modularFunctionFieldFull M))] (hβ : (heckeBetaBar L N ℓ).toRingHom.IsIntegral) (hβ' : (heckeBetaBar L N ℓ').toRingHom.IsIntegral) (hu : (towerSubstBar L (N * ℓ) ℓ' (dvd_of_eq_roof_beta N ℓ ℓ' M hM).1).toRingHom.IsIntegral) (hu' : (towerSubstBar L (N * ℓ') ℓ (dvd_of_eq_roof_beta N ℓ ℓ' M hM).2).toRingHom.IsIntegral) (D : Divisor L (laurentBaseChange L (modularFunctionFieldFull (N * ℓ')))), Divisor.pullbackAlong (heckeBetaBar L N ℓ) hβ (Divisor.pushforwardAlong (heckeBetaBar L N ℓ') hβ' D) = Divisor.pushforwardAlong (towerSubstBar L (N * ℓ) ℓ' (dvd_of_eq_roof_beta N ℓ ℓ' M hM).1) hu (Divisor.pullbackAlong (towerSubstBar L (N * ℓ') ℓ (dvd_of_eq_roof_beta N ℓ ℓ' M hM).2) hu' D) end BetaExchange end ModularCurve
Statements phrased using this module (3)
- Divisor exchange identity for β_ℓ, β_{ℓ'} at distinct primes
ModularCurve.heckeBetaExchangeAt_of_primes_of_ne194 below · depth 13 - Two β-substitutions generate the roof field at Nℓℓ'
ModularCurve.heckeBetaRoof_adjoin_range_union_eq_top90 below · depth 14 - Diagonal identity β̄^*ᾱ_* = Uₚ + σ_* for p ∤ N
ModularCurve.heckeDiagonalIdentity_of_prime_of_not_dvd187 below · depth 14