Definitions/Def_ModularCurve_HeckeModule.lean
Hecke algebra action on , guarded by commutation
For N\ge 1 (a NeZero N fence, so level 0 is unstatable) this module turns the project's individual Hecke operators on JZero N into a module structure over the project's Hecke algebra HeckeAlg. First, heckeOperatorBar N ℓ : Module.End ℤ (JZero N) is, for a prime \ell, the total operator heckeOperatorAlong (AlgebraicClosure ℚ) N ℓ of the imported module (so: the operator taken along \overline{\mathbb{Q}}, with the NeZero instance for \ell supplied from primality) read as a \mathbb{Z}-linear endomorphism; heckeOperatorBar_apply records that this is definitionally the same map. Second, HeckeOperatorsCommuteBar N is the proposition that these endomorphisms commute pairwise, for all pairs of primes; it is only defined here, never proved here. Third, from such a hypothesis h, isMulCommutative_adjoin_heckeOperatorBar gives that the \mathbb{Z}-subalgebra of Module.End ℤ (JZero N) generated by the range of heckeOperatorBar N is commutative, whence heckeEvalBarAux h is the MvPolynomial.aeval map into that subalgebra sending the variable at \ell to heckeOperatorBar N ℓ, and heckeEvalBar h : HeckeAlg →+* Module.End ℤ (JZero N) is its composite with the inclusion; heckeEvalBar_heckeGen and heckeEvalBar_C record the values on generators and on integer constants. (The use of MvPolynomial.aeval, MvPolynomial.C and MvPolynomial.constantCoeff on HeckeAlg exhibits it as the polynomial ring over \mathbb{Z} on the primes, with heckeGen ℓ the variable at \ell.) Finally heckeModuleBar N : Module HeckeAlg (JZero N) is a total definition by cases on the decidable-by-classical-choice proposition HeckeOperatorsCommuteBar N: if it holds, the action is Module.compHom along heckeEvalBar h; otherwise it is the junk action through t \mapsto its constant term, under which every heckeGen ℓ acts by 0. The remaining lemmas are the normal forms for computing with this dite: t \bullet x = heckeEvalBar h t x and heckeGen ℓ • x = heckeOperatorBar N ℓ x under h, the two junk-branch analogues, and heckeModuleBar_C_smul, which holds in both branches. Note that heckeModuleBar is a plain def (marked @[implicit_reducible]), not an instance.
Relation to Mathlib
Mathlib has no Hecke algebra or Hecke action on Jacobians of modular curves; HeckeAlg, heckeGen, JZero and heckeOperatorAlong are the project's own, imported from other definition modules. The construction itself is assembled from Mathlib's MvPolynomial.aeval, Algebra.adjoin, IsMulCommutative and Module.compHom.
Where it is used
This is the form in which the Hecke action on J_0(N) is fed to the later parts of the argument: statements about the Eisenstein ideal, the cuspidal class and specialisation are phrased against an explicit Module HeckeAlg (JZero N) binder and instantiated at heckeModuleBar N. Since nothing about commutation is proved here, consumers of the non-junk normal forms must carry HeckeOperatorsCommuteBar N as a hypothesis.
References
- B. Mazur, Modular curves and the Eisenstein ideal, Publications Mathématiques de l'IHÉS 47 (1977), 33–186
- H. Darmon, F. Diamond and R. Taylor, Fermat's Last Theorem, in: Current Developments in Mathematics 1995, International Press, 1995, 1–154
- G. Shimura, Introduction to the Arithmetic Theory of Automorphic Functions, Princeton University Press, 1971
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 123 lines
- 16 declarations
- used in the statements of 372 theorems and imported by 404 proofs
- imports 2 definition modules
Source file: Definitions/Def_ModularCurve_HeckeModule.lean
Imported by
Def_FreyPackage_MazurAttachmentApparatusDef_FreyPackage_MazurEichlerShimuraFamilyDef_ModularCurve_HeckeSeamDef_ModularCurve_JZeroGoodReductionV2Def_ModularCurve_JZeroGoodReductionV3Def_ModularCurve_JZeroNeronDataDef_ModularCurve_JZeroNeronDataPrimeDef_ModularCurve_JZeroNeronIdentityComponentGoodDef_ModularCurve_JZeroTorsionHopfOrderDef_ModularCurve_ShimuraSubgroupDef_ModularCurve_StepThreeDoorPredicates
Declarations
- def
ModularCurve.heckeOperatorBar - theorem
ModularCurve.heckeOperatorBar_apply - def
ModularCurve.HeckeOperatorsCommuteBar - theorem
ModularCurve.isMulCommutative_adjoin_heckeOperatorBar - def
ModularCurve.heckeEvalBarAux - def
ModularCurve.heckeEvalBar - theorem
ModularCurve.heckeEvalBar_apply - theorem
ModularCurve.heckeEvalBarAux_heckeGen - theorem
ModularCurve.heckeEvalBar_heckeGen - theorem
ModularCurve.heckeEvalBar_C - def
ModularCurve.heckeModuleBar - theorem
ModularCurve.heckeModuleBar_smul_def - theorem
ModularCurve.heckeModuleBar_heckeGen_smul - theorem
ModularCurve.heckeModuleBar_smul_of_not - theorem
ModularCurve.heckeModuleBar_heckeGen_smul_of_not - theorem
ModularCurve.heckeModuleBar_C_smul
Source
import Definitions.Def_ModularCurve_HeckeOperatorTotal import Definitions.Def_HeckeGalois_EichlerShimura set_option autoImplicit false noncomputable section namespace ModularCurve open AlgebraicCurve section Operators variable (N : ℕ) [NeZero N] def heckeOperatorBar (ℓ : Nat.Primes) : Module.End ℤ (JZero N) := haveI : NeZero (ℓ : ℕ) := ⟨ℓ.2.ne_zero⟩ (heckeOperatorAlong (AlgebraicClosure ℚ) N ℓ).toIntLinearMap theorem heckeOperatorBar_apply (ℓ : Nat.Primes) (x : JZero N) : heckeOperatorBar N ℓ x = (haveI : NeZero (ℓ : ℕ) := ⟨ℓ.2.ne_zero⟩; heckeOperatorAlong (AlgebraicClosure ℚ) N ℓ x) := rfl def HeckeOperatorsCommuteBar : Prop := ∀ ℓ ℓ' : Nat.Primes, heckeOperatorBar N ℓ * heckeOperatorBar N ℓ' = heckeOperatorBar N ℓ' * heckeOperatorBar N ℓ end Operators section Eval variable {N : ℕ} [NeZero N] theorem isMulCommutative_adjoin_heckeOperatorBar (h : HeckeOperatorsCommuteBar N) : IsMulCommutative (Algebra.adjoin ℤ (Set.range (heckeOperatorBar N))) := Algebra.isMulCommutative_adjoin ℤ (by rintro _ ⟨ℓ, rfl⟩ _ ⟨ℓ', rfl⟩ exact h ℓ ℓ') open scoped IsMulCommutative in def heckeEvalBarAux (h : HeckeOperatorsCommuteBar N) : HeckeAlg →ₐ[ℤ] (Algebra.adjoin ℤ (Set.range (heckeOperatorBar N)) : Subalgebra ℤ (Module.End ℤ (JZero N))) := haveI := isMulCommutative_adjoin_heckeOperatorBar h MvPolynomial.aeval fun ℓ => (⟨heckeOperatorBar N ℓ, Algebra.subset_adjoin (Set.mem_range_self ℓ)⟩ : Algebra.adjoin ℤ (Set.range (heckeOperatorBar N))) def heckeEvalBar (h : HeckeOperatorsCommuteBar N) : HeckeAlg →+* Module.End ℤ (JZero N) := ((Algebra.adjoin ℤ (Set.range (heckeOperatorBar N))).val.comp (heckeEvalBarAux h)).toRingHom theorem heckeEvalBar_apply (h : HeckeOperatorsCommuteBar N) (t : HeckeAlg) : heckeEvalBar h t = (heckeEvalBarAux h t : Module.End ℤ (JZero N)) := rfl open scoped IsMulCommutative in theorem heckeEvalBarAux_heckeGen (h : HeckeOperatorsCommuteBar N) (ℓ : Nat.Primes) : heckeEvalBarAux h (heckeGen ℓ) = ⟨heckeOperatorBar N ℓ, Algebra.subset_adjoin (Set.mem_range_self ℓ)⟩ := haveI := isMulCommutative_adjoin_heckeOperatorBar h MvPolynomial.aeval_X _ ℓ theorem heckeEvalBar_heckeGen (h : HeckeOperatorsCommuteBar N) (ℓ : Nat.Primes) : heckeEvalBar h (heckeGen ℓ) = heckeOperatorBar N ℓ := by rw [heckeEvalBar_apply, heckeEvalBarAux_heckeGen] theorem heckeEvalBar_C (h : HeckeOperatorsCommuteBar N) (a : ℤ) : heckeEvalBar h (MvPolynomial.C a) = (a : Module.End ℤ (JZero N)) := by rw [← MvPolynomial.algebraMap_eq, eq_intCast, map_intCast] end Eval section TheModule variable (N : ℕ) [NeZero N] open Classical in @[implicit_reducible] def heckeModuleBar : Module HeckeAlg (JZero N) := if h : HeckeOperatorsCommuteBar N then Module.compHom (JZero N) (heckeEvalBar h) else Module.compHom (JZero N) (MvPolynomial.eval₂Hom (Int.castRingHom ℤ) (0 : Nat.Primes → ℤ)) variable {N} theorem heckeModuleBar_smul_def (h : HeckeOperatorsCommuteBar N) (t : HeckeAlg) (x : JZero N) : (letI := heckeModuleBar N; t • x) = heckeEvalBar h t x := by have e : heckeModuleBar N = Module.compHom (JZero N) (heckeEvalBar h) := dif_pos h rw [e] rfl theorem heckeModuleBar_heckeGen_smul (h : HeckeOperatorsCommuteBar N) (ℓ : Nat.Primes) (x : JZero N) : (letI := heckeModuleBar N; heckeGen ℓ • x) = heckeOperatorBar N ℓ x := by rw [heckeModuleBar_smul_def h, heckeEvalBar_heckeGen] theorem heckeModuleBar_smul_of_not (h : ¬ HeckeOperatorsCommuteBar N) (t : HeckeAlg) (x : JZero N) : (letI := heckeModuleBar N; t • x) = MvPolynomial.constantCoeff t • x := by have e : heckeModuleBar N = Module.compHom (JZero N) (MvPolynomial.eval₂Hom (Int.castRingHom ℤ) (0 : Nat.Primes → ℤ)) := dif_neg h rw [e] show (MvPolynomial.eval₂Hom (Int.castRingHom ℤ) (0 : Nat.Primes → ℤ) t) • x = _ rw [MvPolynomial.eval₂Hom_zero_apply, eq_intCast, Int.cast_id] theorem heckeModuleBar_heckeGen_smul_of_not (h : ¬ HeckeOperatorsCommuteBar N) (ℓ : Nat.Primes) (x : JZero N) : (letI := heckeModuleBar N; heckeGen ℓ • x) = 0 := by rw [heckeModuleBar_smul_of_not h, heckeGen, MvPolynomial.constantCoeff_X, zero_zsmul] theorem heckeModuleBar_C_smul (a : ℤ) (x : JZero N) : (letI := heckeModuleBar N; (MvPolynomial.C a : HeckeAlg) • x) = a • x := by by_cases h : HeckeOperatorsCommuteBar N · rw [heckeModuleBar_smul_def h, heckeEvalBar_C, Module.End.intCast_apply] · rw [heckeModuleBar_smul_of_not h, MvPolynomial.constantCoeff_C] end TheModule end ModularCurve end
Statements phrased using this module (372)
- landmark Finiteness of the Galois invariants of the Eisenstein quotient of J₀(p)
ModularCurve.eisensteinQuotientInvariantsFiniteAt_heckeModuleBar5,128 below · depth 7 - landmark Specialisation of the Eisenstein quotient away from p
ModularCurve.mazurQuotientSpecialization_heckeModuleBar2,179 below · depth 7 - Cuspidal class survives in the Eisenstein quotient
ModularCurve.cuspidalClassSurvives_heckeModuleBar498 below · depth 7 - Hecke operators on J₀(N) commute (all levels)
ModularCurve.heckeOperatorsCommuteBar224 below · depth 7 - Field-coefficient residual realizations at every level M
FreyPackage.eigenformRealizationSupplyFieldAtFamily1,103 below · depth 8 - Residual attachment from realisation supply at level M
FreyPackage.eigenformResidualAttachmentAt_of_realizationSupplyFieldAt1 below · depth 8 - Reduction of cuspidal class survival to three inputs
ModularCurve.cuspidalClassSurvives_heckeModuleBar_of_inputs0 below · depth 8 - Nonvanishing of the cuspidal class at prime level
ModularCurve.cuspidalClass_ne_zero450 below · depth 8 - The Eisenstein ideal annihilates the cuspidal class
ModularCurve.eisensteinIdeal_smul_cuspidalClass_heckeModuleBar229 below · depth 8 - Eisenstein-ideal torsion meets the Eisenstein kernel trivially
ModularCurve.eisensteinKernelSubmodule_disjoint_eisensteinTorsion_heckeModuleBar0 below · depth 8 - Finitely generated plus torsion gives the Eisenstein finiteness at p
ModularCurve.eisensteinQuotientInvariantsFiniteAt_heckeModuleBar_of_fg_of_isTorsion0 below · depth 8 - Finite generation of the rational part of the Eisenstein quotient
ModularCurve.eisensteinQuotientRational_closure_fg_heckeModuleBar791 below · depth 8 - Rational part of the Eisenstein quotient is torsion
ModularCurve.eisensteinQuotientRational_isTorsion_heckeModuleBar5,126 below · depth 8 - Toric data and 𝔪-dichotomy for J₀(Nq) at q
ModularCurve.exists_toricDichotomyData_jZero3,554 below · depth 8 - Eichler–Shimura relation on p-power torsion of J₀(N)
ModularCurve.frobeniusQuadratic_JZero994 below · depth 8 - Commutativity of Hecke operators from the exchange identity
ModularCurve.heckeOperatorsCommuteBar_of_heckeExchangeAt66 below · depth 8 - Peeling a prime qnot≡ 1mod p off the level
ModularCurve.isResiduallyModularOfLevel_div_of_mazurFamilies639 below · depth 8 - Residual modularity at level N from lower-level torsion
ModularCurve.isResiduallyModularOfLevel_of_hasLowerLevelTorsion_of_isGoodPrimeFor1,424 below · depth 8 - Realising the irreducible mod p representation inside J₀(Nq)[𝔪]
ModularCurve.mazurRealizationFamily_of_modRepIsIrreducible_of_isUnramifiedAt1,286 below · depth 8 - Galois and Hecke actions on J₀(N) commute
ModularCurve.smulCommClass_JZero_of_heckeOperatorsCommuteBar15 below · depth 8 - Triviality of J₀(p) for primes p<5
ModularCurve.subsingleton_jZero_of_lt_five460 below · depth 8 - Residual modularity from a mod p Hecke eigenvector in J₀(N₀)
WeierstrassCurve.isResiduallyModularOfLevel_of_heckeEigenvector_jZero862 below · depth 8 - Finite flat model of Eisenstein quotient torsion along `spPic0`
ModularCurve.CharPModel.FibreModel.exists_le_finiteFlat_model_eisensteinQuotient_torsion_spPic0_of_ne_two2,013 below · depth 9 - Eigenform ideals above p lie in the support of J₀(N)
ModularCurve.eigenformSupportAt_jZero861 below · depth 9 - 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 - Toric dichotomy data from a semistable specialisation at q
ModularCurve.existsToricDichotomyData_of_jZeroSemistableSpecialization237 below · depth 9 - Eichler–Shimura: Galois representations from Hecke characters on VₚJ₀(N)
ModularCurve.exists_galoisRepAdic_charpoly_frobenius_of_heckeChar1,238 below · depth 9 - Divisorial Hecke ring of J₀(N) embeds in End_ℂS₂(Γ₀(N))
ModularCurve.exists_injective_ringHom_adjoin_heckeOperatorBar_cuspForm842 below · depth 9 - Eigenform ideal in J₀(M) from a maximal Hecke ideal
ModularCurve.exists_isEigenformIdeal_heckeTorsion_jZero_ne_bot_of_isMaximal_heckeAlgebra_two891 below · depth 9 - Transfer of Hecke characters from S₂(Γ₀(N)) to VₚJ₀(N)
ModularCurve.exists_ringHom_rationalHeckeAlgebra_extends_heckeChar1,004 below · depth 9 - Commutativity of T_ℓ and T_{ℓ'} on J₀(N)(ℚ̄)
ModularCurve.heckeOperatorBar_comm_of_heckeExchangeAt65 below · depth 9 - Prime level: Uₚ + w = 0 on J₀(p)
ModularCurve.heckeOperatorBar_self_add_frickeInvolutionBar_smul248 below · depth 9 - Finite generation of the Hecke subalgebra of End J₀(N)
ModularCurve.heckeSubalgebraBar_fg715 below · depth 9 - Finiteness of the 𝔪-torsion of J₀(M)
ModularCurve.heckeTorsion_jZero_finite_of_natCast_mem714 below · depth 9 - Galois action on 𝔪-torsion of J₀(M) factors through a finite level
ModularCurve.mTorsionGaloisRep_jZero_galoisFactorsThroughFiniteLevel79 below · depth 9 - Existence of a semistable specialisation datum for J₀(Nq)
ModularCurve.nonempty_jZeroSemistableSpecialization3,551 below · depth 9 - Raynaud clause from finite flat models of Eisenstein quotient torsion
ModularCurve.raynaudFor_of_le_finiteFlat_model_eisensteinQuotient11 below · depth 9 - Eichler–Shimura congruence for the reduction map on J₀(N)
ModularCurve.reductionModL_heckeOperatorBar767 below · depth 9 - Residual realization attached to an occurring Hecke eigensystem
ModularCurve.residualRealization_of_occurs999 below · depth 9 - Eichler–Shimura specialisation for J₀(N) at good primes
ModularCurve.specializationExists_JZero998 below · depth 9 - Triviality of J₀(3)
ModularCurve.subsingleton_jZero_three446 below · depth 9 - Triviality of J₀(2)
ModularCurve.subsingleton_jZero_two457 below · depth 9 - Interchange step of Ribet level lowering on J₀(Nq')
WeierstrassCurve.exists_hasLowerLevelTorsion_jZero_of_twoNewEigenformCongruence_sqf_five12,239 below · depth 9 - Newform eigenplane in the Tate module of J₀(M), with Steinberg lines
CuspForm.IsNewform.exists_eigenPlane_torLine_tateModule_jZero3,797 below · depth 10 - Hecke descent along the fibre specialisation, Eichler–Shimura at ℓ
ModularCurve.CharPModel.FibreModel.exists_heckeDescentFamily_spPic0_and_match_of_prime1,032 below · depth 10 - Hecke relations on J₀(N) hold on S₂(Γ₀(N))
ModularCurve.aeval_heckeAlgebra_eq_zero_of_forall_smul_jZero_eq_zero714 below · depth 10 - Primes of residue characteristic p lie in the support of J₀(N)[p]
ModularCurve.annihilator_torsionBy_jZero_le_of_isPrime711 below · depth 10 - No p-power torsion in the Eichler–Shimura specialisation kernel
ModularCurve.eq_zero_of_torsion_of_mem_specializationKernel_jZero995 below · depth 10 - Two-exponent finite flat model of Eisenstein quotient torsion
ModularCurve.exists_le_finiteFlat_model_eisensteinQuotient_torsion_reductionModL_of_ne_two2,005 below · depth 10 - Eisenstein ideal element acting as n(p) on J₀(p)
ModularCurve.exists_mem_eisensteinIdeal_smul_eq_eisensteinNumerator_zsmul1,071 below · depth 10 - A prime other than q annihilates 𝔪-torsion in J₀(M)
ModularCurve.exists_prime_torsion_of_isMaximal716 below · depth 10 - Weight-two Hecke algebra acts on J₀(N)
ModularCurve.exists_ringHom_heckeAlgebra_heckeOperatorBar713 below · depth 10 - Widths, component map and glued specialisation for J₀(Nq) at q
ModularCurve.exists_width_comp_sp3,537 below · depth 10 - Hecke polynomials killing regular differentials kill J₀(N)
ModularCurve.freeAlgebra_lift_heckeOperatorBar_eq_zero_of_lift_heckeDiffBar_eq_zero798 below · depth 10 - Eichler–Shimura relation on the p-adic Tate module of J₀(N)
ModularCurve.frobeniusQuadratic_tateModule_jZero993 below · depth 10 - Hecke relations on S₂(Γ₀(N)) hold on J₀(N)
ModularCurve.heckeRelations_jZero843 below · depth 10 - ℚₚ-independence of Hecke operators on the rational Tate module
ModularCurve.linearIndependent_rationalHeckeRep_of_linearIndependent712 below · depth 10 - Toric torsion inequality at a q'-new eigenform, q' not≡ 1
ModularCurve.natCard_toricTorsion_le_of_not_exists_hasLowerLevelTorsion_of_attachedOddBlr_sqf_five_of_six_mul_dvd_of_neZero12,128 below · depth 10 - Rationalised Eichler–Shimura: VₚJ₀(M) free of rank two
ModularCurve.rationalRankTwoCyclotomic_family993 below · depth 10 - Galois and Hecke actions commute on Tₚ J₀(N)
ModularCurve.rep_tateModule_jZero_comm16 below · depth 10 - Inertia at ℓ ∤ Np acts trivially on Tₚ J₀(N)
ModularCurve.rep_tateModule_jZero_eq_self_of_mem_inertiaSubgroupIn979 below · depth 10 - Toric dichotomy for J₀(Nq) at the monodromy toric part
ModularCurve.toricDichotomy_toricMonodromyPart_jZero3,554 below · depth 10 - Frobenius acts as q T_q on the monodromy toric part of J₀(Nq)
ModularCurve.toricFrobeniusHecke_toricMonodromyPart_jZero5,206 below · depth 10 - Frob_q² = q² on the monodromy toric part of J₀(Nq)
ModularCurve.toricFrobeniusSq_toricMonodromyPart_jZero3,553 below · depth 10 - Eichler–Shimura congruence on p-power torsion of J₀(M)
W54.jZeroPPowTorsion_frobeniusQuadratic1,034 below · depth 10 - p-power torsion of J₀(M) is unramified outside Mp
W54.jZeroPPowTorsion_unramifiedOutside1,034 below · depth 10 - λ-adic eigenplane of a weight-two newform in T_λ(J₀(M))
CuspForm.IsNewform.exists_eigenPlane_tateModule_jZero1,290 below · depth 11 - Hecke-pinned λ-adic eigenplane in the Tate module of J₀(M)
CuspForm.IsNewform.exists_heckePinnedEigenPlane_tateModule_jZero1,327 below · depth 11 - Ordinary line in the eigenplane at a multiplicative prime
CuspForm.IsNewform.exists_ordLine_eigenPlane_tateModule_jZero_of_dvd4,787 below · depth 11 - Eigenplanes in T_λ J₀(M): eigen off the level, determinant q
CuspForm.IsNewform.killedOffLevel_cyclotomicDet_of_eigenPlane_tateModule_jZero1,102 below · depth 11 - Specialisation of J₀(N) intertwines T_q with the special-fibre operator
ModularCurve.CharPModel.FibreModel.heckePic0Fibre_spPic0_eq_spPic0_heckeGen_smul963 below · depth 11 - Uₚ acts as an involution on toric points
ModularCurve.JZeroNeronObjectAtP.heckeGen_smul_heckeGen_smul_eq_self_of_mem_toricPts481 below · depth 11 - Decomposition-group stability of the kernel of the component map
ModularCurve.PlaceSpecialization.componentMap_decomposition_smul_eq_zero_of_eq_zero88 below · depth 11 - Frobenius stability of the kernel of the component map
ModularCurve.PlaceSpecialization.componentMap_frobenius_smul_eq_zero_of_eq_zero4 below · depth 11 - Hecke stability of the kernel of the component map at q
ModularCurve.PlaceSpecialization.componentMap_heckeAlg_smul_eq_zero_of_eq_zero_of_isModel965 below · depth 11 - T_ℓ acts as ℓ+1 through the component map
ModularCurve.PlaceSpecialization.componentMap_heckeGen_smul_eq_add_one_smul_of_isModel2,484 below · depth 11 - Injectivity of `spPic0` on prime-to-q torsion
ModularCurve.PlaceSpecialization.eq_zero_of_primeToTorsion_of_spPic0_eq_zero995 below · depth 11 - Hecke-equivariant component map and toric monodromy detection
ModularCurve.PlaceSpecialization.exists_heckeModule_componentGroup_toricMonodromyPart_mem_of_isModel2,736 below · depth 11 - Hecke-equivariance of the Pic⁰ specialisation map
ModularCurve.PlaceSpecialization.exists_heckeModule_pic0_spPic0_heckeAlg_smul999 below · depth 11 - Prime-to-q torsion classes lift along `spPic0`
ModularCurve.PlaceSpecialization.exists_primeToTorsion_spPic0_eq_of_primeToTorsion1,772 below · depth 11 - Lifting m-torsion from the component group to inertia invariants
ModularCurve.PlaceSpecialization.exists_torsion_preimage_componentMap_of_isModel1,311 below · depth 11 - Lifting m-torsion through the glued specialization at q
ModularCurve.PlaceSpecialization.exists_torsion_preimage_gluedSpecialization_of_isModel1,137 below · depth 11 - Widths, component map and glued specialisation over a place above q
ModularCurve.PlaceSpecialization.exists_widths_componentMap_gluedSpecialization_placeWidthChar_of_isModel1,892 below · depth 11 - Injectivity on prime-to-q torsion of component and glued specialization maps
ModularCurve.PlaceSpecialization.gluedSpecialization_componentMap_injective_primeToTorsion_of_isModel1,053 below · depth 11 - Frobenius law for the glued specialization
ModularCurve.PlaceSpecialization.gluedSpecialization_frobenius_smul_eq_glueMap4 below · depth 11 - Hecke action at q on node units of the glued specialisation
ModularCurve.PlaceSpecialization.gluedSpecialization_nodeUnit_heckeGen_eq_nodePerm_symm_comp526 below · depth 11 - Inertia differences on prime-to-q torsion are toric
ModularCurve.PlaceSpecialization.inertia_smul_sub_self_componentMap_eq_zero_toPic0Pair_eq_zero_of_isModel1,962 below · depth 11 - Eichler–Shimura relation: sp^{Pic^0} intertwines T_ℓ with the geometric Hecke correspondence
ModularCurve.PlaceSpecialization.spPic0_heckeGen_ell_eq_heckeFibreGeom209 below · depth 11 - Decomposition-group equivariance of the glued specialization's Pic⁰-pair
ModularCurve.PlaceSpecialization.toPic0Pair_gluedSpecialization_decomposition_smul_eq_spPic0_smul158 below · depth 11 - Decomposition-group stability of the vanishing Pic⁰-pair
ModularCurve.PlaceSpecialization.toPic0Pair_gluedSpecialization_decomposition_smul_eq_zero_of_eq_zero88 below · depth 11 - Hecke stability of the toric kernel of the glued specialization
ModularCurve.PlaceSpecialization.toPic0Pair_gluedSpecialization_heckeAlg_smul_eq_zero_of_eq_zero_of_isModel1,199 below · depth 11 - Hecke equivariance of the projected glued specialization at q
ModularCurve.PlaceSpecialization.toPic0Pair_gluedSpecialization_heckeGen_equivariant_of_isModel957 below · depth 11 - Hecke law for the glued specialization on Pic⁰ pairs
ModularCurve.PlaceSpecialization.toPic0Pair_gluedSpecialization_heckeGen_smul_eq_heckePic0Fibre_of_isModel1,173 below · depth 11 - Admissibility of the Eisenstein-primary torsion of J₀(p)
ModularCurve.eisensteinPrimaryTorsion_isMazurAdmissible_heckeModuleBar1,059 below · depth 11 - Rational Tate module of J₀(N) free of rank two
ModularCurve.exists_heckeEquivariant_linearEquiv_rationalTateModule_jZero_fun_two744 below · depth 11 - Hecke-equivariant comparison TₚJ₀(N)≅mathbb Zₚ⊗ H₁
ModularCurve.exists_heckeEquivariant_linearEquiv_tateModule_jZero_padicInt_tensor_periodLattice711 below · depth 11 - Hecke-equivariant Abel–Jacobi map for J₀(N)(ℚ̄)
ModularCurve.exists_injective_heckeEquivariant_addMonoidHom_jZero_quotient_periodLattice710 below · depth 11 - Comparison of the H=top and Igusa integral models
ModularCurve.exists_iso_xHDRLevel_top_drLevel_epsInf_pointEquivPlace191 below · depth 11 - Néron object of J₀(N₀p) at p with its bridges
ModularCurve.exists_jZeroNeronObjectAtP_and_bridge4,509 below · depth 11 - Prime-to-q monodromy lies in the toric locus
ModularCurve.exists_jZeroSemistableSpecialization_monodromy_mem_toricLocus3,551 below · depth 11 - Toric 𝔪-torsion of J₀(Nq) lies in monodromy part
ModularCurve.exists_jZeroSemistableSpecialization_toricLocus_heckeTorsion_le_toricMonodromyPart3,551 below · depth 11 - Lifting ℓ-power torsion in the Eisenstein kernel through reduction
ModularCurve.exists_le_mem_eisensteinKernelSubmodule_torsionBy_reductionModL_eq1,884 below · depth 11 - Lifting m-torsion along the Eisenstein quotient map
ModularCurve.exists_mem_torsionBy_eisensteinQuotientMk_eq414 below · depth 11 - Reduction of J₀(N) modulo ℓ∤ N
ModularCurve.exists_reductionModL_jZero_jZeroC993 below · depth 11 - Hecke relations on S₂(Γ₀(N)) descend to J₀(N)
ModularCurve.freeAlgebra_lift_heckeOperatorBar_eq_zero_of_lift_cuspForm_eq_zero712 below · depth 11 - Determinant ℓ of Frobenius in any rank-two Hecke basis on VₚJ₀(N)
ModularCurve.frobenius_coordDet_eq_of_basis_rationalTateModule_jZero915 below · depth 11 - Divisible subgroup killed by the good eigenideal lowers the level
ModularCurve.goodEigensystemOccursAt_of_divisible787 below · depth 11 - Mazur's principle at p for J₀(N₀p)
ModularCurve.hasLowerLevelTorsion_jZero_of_isPeuRamifieeAt5,914 below · depth 11 - Mazur's principle at p for J₀(N₀p), p ≥ 5
ModularCurve.hasLowerLevelTorsion_jZero_of_isPeuRamifieeAt_of_five_le5,915 below · depth 11 - Scalar transport: elements projecting to integers act by multiplication
ModularCurve.heckeModuleBar_smul_eq_zsmul_of_heckeProj_eq744 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 - Finite and toric parts transport from Jₜop(N₀p) to J₀(N₀p)
ModularCurve.map_finPts_jHNeronObjectAtP_top_eq_and_map_toricPts_eq_of_pic0Congr_of_bridge136 below · depth 11 - Interchange inequality for toric parts of the 𝔪-torsion
ModularCurve.natCard_toricTorsion_le_of_not_exists_hasLowerLevelTorsion_of_isMaximal_of_attachedOddBlr_sqf_five_of_six_mul_dvd_of_neZero12,127 below · depth 11 - Semistable specialisation datum for J₀(Nq) with Néron clauses
ModularCurve.nonempty_jZeroSemistableSpecialization_neronClauses3,550 below · depth 11 - Finite-level Galois triviality transfers to the p-adic Tate module
W54.tateModule_adicContinuity0 below · depth 11 - Eichler–Shimura relation on the Tate module of J₀(M)
W54.tateModule_frobeniusQuadratic0 below · depth 11 - Unramifiedness passes from p-power torsion to the Tate module
W54.tateModule_unramified0 below · depth 11 - Rank-two Hecke eigenspace in the λ-adic Tate module of J₀(M)
CuspForm.IsNewform.exists_heckeEigenspace_tateModule_jZero_finrank_eq_two841 below · depth 12 - Eigenplane monodromy span at λ ‖ M has dimension ≤ 1
CuspForm.IsNewform.finrank_monodromySpan_eigenPlane_tateModule_jZero_le_one_of_dvd4,786 below · depth 12 - Frobenius trace a_ℓ(g) on a newform eigenplane
CuspForm.IsNewform.frobeniusTrace_of_eigenPlane_tateModule_jZero1,305 below · depth 12 - U_λ-eigenvalue on Hecke eigenvectors in the Tate module
CuspForm.IsNewform.heckeU_smul_of_mem_heckeEigenspace_tateModule_jZero886 below · depth 12 - Weight-two eigenform: eigencharacter into a characteristic-zero DVR
CuspForm.IsNormalizedEigenform.exists_isDiscreteValuationRing_heckeChar_rationalHeckeAlgebra_jZero1,021 below · depth 12 - Hecke eigenplane in the Tate module of J₀(N)
CuspForm.exists_eigenPlane_tateModule_jZero_of_point1,289 below · depth 12 - Néron object of J₀(N₀p) at p from a level model
ModularCurve.DRModelPackageLevel.exists_jZeroNeronObjectAtP_and_bridge_representsRelSubPic_abqFibre_of_levelModel4,507 below · depth 12 - Hecke action on the fppf points sheaf of J⁰
ModularCurve.JZeroNeronIdentityComponent.exists_ringHom_heckeAlg_end_of_sectionsEquiv2 below · depth 12 - Hecke descent family away from ℓ on the special fibre
ModularCurve.PlaceSpecialization.exists_heckeDescent_family_qne_ell965 below · depth 12 - Glued classes killed by `toPic0Pair` lift to toric monodromy
ModularCurve.PlaceSpecialization.exists_mem_toricMonodromyPart_sp_eq_of_toPic0Pair_eq_zero_of_isModel2,694 below · depth 12 - Widths, component map, glued specialisation and Hecke matrices
ModularCurve.PlaceSpecialization.exists_widths_componentMap_gluedSpecialization_placeWidthChar_correspondence_heckeComponentAction_agree_of_isModel2,483 below · depth 12 - Hecke equivariance of spPic⁰ at primes q≠ℓ
ModularCurve.PlaceSpecialization.heckePic0Fibre_spPic0_eq_spPic0_heckeGen_smul_of_ne_ell956 below · depth 12 - Hecke propagation of glued vanishing away from q
ModularCurve.PlaceSpecialization.toPic0Pair_gluedSpecialization_heckeGen_dvd_smul_eq_zero_of_eq_zero_of_isModel1,171 below · depth 12 - Base change of J₀(N) from ℚ̄ to ℂ
ModularCurve.exists_injective_heckeEquivariant_addMonoidHom_jZero_pic0_complex697 below · depth 12 - Upper transfer bound for I^m-torsion of J₀(N)
ModularCurve.exists_natCard_torsionBySet_jZero_le_sq_natCard_torsionBySet_heckeLatticeAlgebra_quotient_mul_pow776 below · depth 12 - Relative Jacobian of X₀(p) over ℤ_{(ℓ)}
ModularCurve.exists_relJacobian_jZero1,823 below · depth 12 - Interchange inequality for toric monodromy at q and q'
ModularCurve.exists_submodule_finrank_span_toricMonodromyPart_le_of_not_exists_hasLowerLevelTorsion_of_attachedOddBlr_sqf_five_of_six_mul_dvd_of_neZero12,125 below · depth 12 - Finiteness of Eisenstein P^m-torsion on J₀(p)
ModularCurve.finite_torsionBySet_eisensteinMaximalIdeal_pow714 below · depth 12 - Determinant ℓ of Frobenius on Vₚ J₀(N) for ℓ ≠ p
ModularCurve.frobenius_coordDet_eq_of_basis_rationalTateModule_jZero_of_ne914 below · depth 12 - Hecke action on J₀(N)_{ℚ̄} is Galois-equivariant
ModularCurve.heckeGen_smul_galois_smul237 below · depth 12 - Uₚ + wₚ = β^*α_* on J₀(N₀p)
ModularCurve.heckeOperatorBar_self_add_atkinLehner_smul225 below · depth 12 - Pull-back along φ⁻¹ intertwines the two Abel–Jacobi dictionaries
ModularCurve.jZeroNeronObjectAtP_pts_pic0Congr_eq_pts_comp_pullbackHom_of_modelIso_levelData66 below · depth 12 - Equal kernels: Hecke algebras on S₂(Γ₀(p)) and on J₀(p)
ModularCurve.ker_heckeEvalForms_latticeRestrict_eq_ker_heckeEvalBar845 below · depth 12 - Reduction mod ℓ commutes with T_q for q≠ℓ
ModularCurve.reductionModL_heckeOperatorBar_of_ne938 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 - Determinant of a Frobenius-normalised stable plane is integrally cyclotomic
eigenPlane_det_congruent_cyclotomic_of_frobenius_det486 below · depth 12 - Frobenius determinant equals ℓ on a Hecke eigenplane
eigenPlane_det_frobenius_eq_prime1,037 below · depth 12 - Residual eigensystem of g occurs in the Tate-module Hecke algebra
CuspForm.IsNormalizedEigenform.exists_ringHom_adjoin_tateHeckeRep_jZero_eq_residual1,020 below · depth 13 - Strict points reduce to reduceFst and reduceSnd
ModularCurve.DRModelPackageLevel.compat_reduceFst_reduceSnd_of_sp_eq_spPlace1,848 below · depth 13 - Special-fibre torus, abelian quotient and pins at level N₀p
ModularCurve.DRModelPackageLevel.exists_torusFibre_abqFibre_degeneracy_specialFibre_pins_of_levelModel1,857 below · depth 13 - Extension to an A-point of relative Pic⁰ versus good classes
ModularCurve.DRModelPackageLevel.extendsToPlace_pts_iff_isGoodClass3,053 below · depth 13
… and 222 more statements (search for the module name to find them).