Definitions/Def_ModularCurve_XHHeckeOperator.lean
Hecke correspondence on the Jacobian of
Throughout, L is a field of characteristic zero (an algebra over \mathbb{Q}), M a natural number, H a subgroup of (\mathbb{Z}/M)^\times, and \ell a nonzero natural number. The bottom field is \bar{F}_H = laurentBaseChange L (xHFunctionField M H), the subfield of L((q)) generated over L by the q-expansions of ratios of modular forms for \Gamma_H(M) with integral q-coefficients; the top field is the corresponding base change of xHTopFunctionFieldC ℚ M H (M * ℓ), built from \Gamma_H(M) \cap \Gamma_0(M\ell). Two L-algebra maps from bottom to top are defined. First, heckeAlphaHBar is the inclusion, available because the field attached to a smaller congruence subgroup is larger. Second, the substitution q \mapsto q^{\ell}: the predicate HeckeBetaHDefined asserts that qExpand ℚ ℓ carries xHFunctionField M H into xHTopFunctionFieldC ℚ M H (M * ℓ); under that hypothesis heckeBetaHBarOf is the induced L-algebra map on the base-changed fields, and heckeBetaHBar is the total term equal to it when the predicate holds and to heckeAlphaHBar otherwise. The predicates HeckeAlphaHBarIntegral, HeckeBetaHBarIntegral say the respective ring maps are integral. Given these, heckeDivHBar is the divisor correspondence: pull back along \beta, then push forward along \alpha; heckeDivHBarTranspose is the opposite composite. On degree-zero divisor classes, heckePic0HBar is the induced endomorphism of \mathrm{Pic}^0, requiring in addition the fundamental identity along \beta and finiteness plus the pushforward norm formula along \alpha, with heckePic0HBarTranspose the symmetric construction. Finally HeckeInputsHAlong bundles the seven inputs into one proposition and heckeOperatorHAlong is the total endomorphism of \mathrm{Pic}^0 equal to heckePic0HBar when a witness exists and to 0 otherwise; over \overline{\mathbb{Q}} it is an additive endomorphism of JH M H. Auxiliary lemmas record that q \mapsto q^{\ell} commutes with coefficient base change and preserves membership in base-changed subfields, and that laurentBaseChange is monotone.
Relation to Mathlib
Mathlib has no Hecke correspondence on Jacobians of modular curves presented through q-expansion function fields; these are the project's own definitions, built on the project's divisor pullback/pushforward and Pic0.correspondence.
Where it is used
These are the Hecke operators at level \Gamma_H(M) acting on J_H(M), used together with the Galois action on torsion to produce the Eichler–Shimura relation and hence the Galois representations attached to modular forms that enter level lowering and modularity lifting.
References
- F. Diamond and J. Shurman, A First Course in Modular Forms, Graduate Texts in Mathematics 228, Springer, 2005, Sections 5.2, 5.6, 7.9
- 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.
- 250 lines
- 27 declarations
- used in the statements of 62 theorems and imported by 72 proofs
- imports 2 definition modules
Source file: Definitions/Def_ModularCurve_XHHeckeOperator.lean
Imported by
Declarations
- theorem
ModularCurve.coeffMap_qExpandH - theorem
ModularCurve.coeffEmb_qExpandH - theorem
ModularCurve.laurentBaseChange_monoH - theorem
ModularCurve.qExpand_mem_laurentBaseChangeH - def
ModularCurve.heckeAlphaHBar - theorem
ModularCurve.coe_heckeAlphaHBar - theorem
ModularCurve.heckeAlphaHBar_eq_inclusion - def
ModularCurve.HeckeBetaHDefined - def
ModularCurve.heckeBetaHBarRingHomOf - def
ModularCurve.heckeBetaHBarOf - theorem
ModularCurve.coe_heckeBetaHBarOf - def
ModularCurve.heckeBetaHBar - theorem
ModularCurve.heckeBetaHBar_eq - theorem
ModularCurve.heckeBetaHBar_of_not - theorem
ModularCurve.coe_heckeBetaHBar - def
ModularCurve.HeckeAlphaHBarIntegral - def
ModularCurve.HeckeBetaHBarIntegral - def
ModularCurve.heckeDivHBar - def
ModularCurve.heckePic0HBar - def
ModularCurve.heckeDivHBarTranspose - def
ModularCurve.heckePic0HBarTranspose - def
ModularCurve.HeckeInputsHAlong - def
ModularCurve.heckeOperatorHAlong - theorem
ModularCurve.heckeInputsHAlong_intro - theorem
ModularCurve.HeckeInputsHAlong.betaHDefined - theorem
ModularCurve.heckeOperatorHAlong_eq - theorem
ModularCurve.heckeOperatorHAlong_of_not
Source
import Definitions.Def_AlgebraicCurve_Correspondence import Definitions.Def_ModularCurve_XH set_option autoImplicit false noncomputable section open IsDedekindDomain namespace ModularCurve open AlgebraicCurve IntermediateField HahnSeries section PrivateSupply variable {L : Type*} [Field L] [Algebra ℚ L] private theorem coeffMap_qExpandH {R S : Type*} [CommRing R] [CommRing S] (f : R →+* S) (n : ℕ) [NeZero n] (x : LaurentSeries R) : coeffMap f (qExpand R n x) = qExpand S n (coeffMap f x) := by ext k by_cases hk : (n : ℤ) ∣ k · obtain ⟨m, rfl⟩ := hk rw [coeffMap_coeff, qExpand_coeff_mul, qExpand_coeff_mul, coeffMap_coeff] · rw [coeffMap_coeff, qExpand_coeff_of_not_dvd n _ hk, qExpand_coeff_of_not_dvd n _ hk, map_zero] private theorem coeffEmb_qExpandH (L : Type*) [Field L] [Algebra ℚ L] (n : ℕ) [NeZero n] (x : LaurentSeries ℚ) : coeffEmb L (qExpand ℚ n x) = qExpand L n (coeffEmb L x) := coeffMap_qExpandH _ n x variable (L) in private theorem laurentBaseChange_monoH {F₀ F₁ : IntermediateField ℚ (LaurentSeries ℚ)} (h : F₀ ≤ F₁) : laurentBaseChange L F₀ ≤ laurentBaseChange L F₁ := by rw [laurentBaseChange, IntermediateField.adjoin_le_iff] rintro _ ⟨y, hy, rfl⟩ exact coeffEmb_mem_laurentBaseChange L (h hy) private theorem qExpand_mem_laurentBaseChangeH {F₀ : IntermediateField ℚ (LaurentSeries ℚ)} (n : ℕ) [NeZero n] {F₁ : IntermediateField ℚ (LaurentSeries ℚ)} (hF : ∀ y ∈ F₀, qExpand ℚ n y ∈ F₁) {x : LaurentSeries L} (hx : x ∈ laurentBaseChange L F₀) : qExpand L n x ∈ laurentBaseChange L F₁ := by rw [mem_laurentBaseChange_iff] at hx induction hx using Subfield.closure_induction with | mem y hy => rcases hy with ⟨a, rfl⟩ | ⟨z, hz, rfl⟩ · rw [algebraMap_laurentSeries_eq_single, qExpand_single, mul_zero, ← algebraMap_laurentSeries_eq_single] exact (laurentBaseChange L F₁).algebraMap_mem _ · rw [← coeffEmb_qExpandH] exact coeffEmb_mem_laurentBaseChange L (hF z hz) | one => simp | add x y _ _ hx hy => simpa using add_mem hx hy | neg x _ hx => simpa using neg_mem hx | inv x _ hx => simpa using inv_mem hx | mul x y _ _ hx hy => simpa using mul_mem hx hy end PrivateSupply variable {L : Type*} [Field L] [Algebra ℚ L] variable (M : ℕ) (H : Subgroup (ZMod M)ˣ) (ℓ : ℕ) [NeZero ℓ] section DegeneracyMaps variable (L) in def heckeAlphaHBar : laurentBaseChange L (xHFunctionField M H) →ₐ[L] laurentBaseChange L (xHTopFunctionFieldC ℚ M H (M * ℓ)) := IntermediateField.inclusion (laurentBaseChange_monoH L (xHFunctionFieldC_le_top ℚ M H (M * ℓ))) omit [NeZero ℓ] in @[simp] theorem coe_heckeAlphaHBar (x : laurentBaseChange L (xHFunctionField M H)) : (heckeAlphaHBar L M H ℓ x : LaurentSeries L) = (x : LaurentSeries L) := IntermediateField.coe_inclusion _ x omit [NeZero ℓ] in theorem heckeAlphaHBar_eq_inclusion (h : laurentBaseChange L (xHFunctionField M H) ≤ laurentBaseChange L (xHTopFunctionFieldC ℚ M H (M * ℓ))) : heckeAlphaHBar L M H ℓ = IntermediateField.inclusion h := rfl def HeckeBetaHDefined : Prop := ∀ y ∈ xHFunctionField M H, qExpand ℚ ℓ y ∈ xHTopFunctionFieldC ℚ M H (M * ℓ) variable (L) in def heckeBetaHBarRingHomOf (h : HeckeBetaHDefined M H ℓ) : laurentBaseChange L (xHFunctionField M H) →+* laurentBaseChange L (xHTopFunctionFieldC ℚ M H (M * ℓ)) where toFun x := ⟨qExpand L ℓ (x : LaurentSeries L), qExpand_mem_laurentBaseChangeH ℓ h x.2⟩ map_one' := Subtype.ext (map_one (qExpand L ℓ)) map_mul' _ _ := Subtype.ext (map_mul (qExpand L ℓ) _ _) map_zero' := Subtype.ext (map_zero (qExpand L ℓ)) map_add' _ _ := Subtype.ext (map_add (qExpand L ℓ) _ _) variable (L) in def heckeBetaHBarOf (h : HeckeBetaHDefined M H ℓ) : laurentBaseChange L (xHFunctionField M H) →ₐ[L] laurentBaseChange L (xHTopFunctionFieldC ℚ M H (M * ℓ)) := { heckeBetaHBarRingHomOf L M H ℓ h with commutes' := fun a => Subtype.ext <| by show qExpand L ℓ (algebraMap L (LaurentSeries L) a) = algebraMap L (LaurentSeries L) a rw [algebraMap_laurentSeries_eq_single, qExpand_single, mul_zero] } @[simp] theorem coe_heckeBetaHBarOf (h : HeckeBetaHDefined M H ℓ) (x : laurentBaseChange L (xHFunctionField M H)) : (heckeBetaHBarOf L M H ℓ h x : LaurentSeries L) = qExpand L ℓ (x : LaurentSeries L) := rfl open Classical in variable (L) in def heckeBetaHBar : laurentBaseChange L (xHFunctionField M H) →ₐ[L] laurentBaseChange L (xHTopFunctionFieldC ℚ M H (M * ℓ)) := if h : HeckeBetaHDefined M H ℓ then heckeBetaHBarOf L M H ℓ h else heckeAlphaHBar L M H ℓ theorem heckeBetaHBar_eq (h : HeckeBetaHDefined M H ℓ) : (heckeBetaHBar L M H ℓ) = heckeBetaHBarOf L M H ℓ h := by rw [heckeBetaHBar, dif_pos h] theorem heckeBetaHBar_of_not (h : ¬ HeckeBetaHDefined M H ℓ) : (heckeBetaHBar L M H ℓ) = heckeAlphaHBar L M H ℓ := by rw [heckeBetaHBar, dif_neg h] theorem coe_heckeBetaHBar (h : HeckeBetaHDefined M H ℓ) (x : laurentBaseChange L (xHFunctionField M H)) : (heckeBetaHBar L M H ℓ x : LaurentSeries L) = qExpand L ℓ (x : LaurentSeries L) := by rw [heckeBetaHBar_eq M H ℓ h, coe_heckeBetaHBarOf] end DegeneracyMaps section HeckePic0HBar variable (L) in def HeckeAlphaHBarIntegral : Prop := (heckeAlphaHBar L M H ℓ).toRingHom.IsIntegral variable (L) in def HeckeBetaHBarIntegral : Prop := (heckeBetaHBar L M H ℓ).toRingHom.IsIntegral variable {M H ℓ} variable (hα : HeckeAlphaHBarIntegral L M H ℓ) (hβ : HeckeBetaHBarIntegral L M H ℓ) variable [HasPrincipalDivisors L (laurentBaseChange L (xHTopFunctionFieldC ℚ M H (M * ℓ)))] def heckeDivHBar : Divisor L (laurentBaseChange L (xHFunctionField M H)) →+ Divisor L (laurentBaseChange L (xHFunctionField M H)) := Divisor.correspondence (heckeBetaHBar L M H ℓ) (heckeAlphaHBar L M H ℓ) hβ hα def heckePic0HBar (hFI : FundamentalIdentityAlong L (heckeBetaHBar L M H ℓ) hβ) (hfin : FiniteAlong L (heckeAlphaHBar L M H ℓ)) (hN : NormFormulaAlong L (heckeAlphaHBar L M H ℓ) hfin) : Pic0 L (laurentBaseChange L (xHFunctionField M H)) →+ Pic0 L (laurentBaseChange L (xHFunctionField M H)) := Pic0.correspondence (heckeBetaHBar L M H ℓ) (heckeAlphaHBar L M H ℓ) hβ hα hFI hfin hN def heckeDivHBarTranspose : Divisor L (laurentBaseChange L (xHFunctionField M H)) →+ Divisor L (laurentBaseChange L (xHFunctionField M H)) := Divisor.correspondence (heckeAlphaHBar L M H ℓ) (heckeBetaHBar L M H ℓ) hα hβ def heckePic0HBarTranspose (hFI : FundamentalIdentityAlong L (heckeAlphaHBar L M H ℓ) hα) (hfin : FiniteAlong L (heckeBetaHBar L M H ℓ)) (hN : NormFormulaAlong L (heckeBetaHBar L M H ℓ) hfin) : Pic0 L (laurentBaseChange L (xHFunctionField M H)) →+ Pic0 L (laurentBaseChange L (xHFunctionField M H)) := Pic0.correspondence (heckeAlphaHBar L M H ℓ) (heckeBetaHBar L M H ℓ) hα hβ hFI hfin hN end HeckePic0HBar section Total variable (L) def HeckeInputsHAlong : Prop := ∃ (_ : HeckeBetaHDefined M H ℓ) (_ : HeckeAlphaHBarIntegral L M H ℓ) (hβ : HeckeBetaHBarIntegral L M H ℓ) (_ : HasPrincipalDivisors L (laurentBaseChange L (xHTopFunctionFieldC ℚ M H (M * ℓ)))) (hfin : FiniteAlong L (heckeAlphaHBar L M H ℓ)), FundamentalIdentityAlong L (heckeBetaHBar L M H ℓ) hβ ∧ NormFormulaAlong L (heckeAlphaHBar L M H ℓ) hfin open Classical in def heckeOperatorHAlong : Pic0 L (laurentBaseChange L (xHFunctionField M H)) →+ Pic0 L (laurentBaseChange L (xHFunctionField M H)) := if h : HeckeInputsHAlong L M H ℓ then haveI := h.snd.snd.snd.fst heckePic0HBar h.snd.fst h.snd.snd.fst h.snd.snd.snd.snd.snd.1 h.snd.snd.snd.snd.fst h.snd.snd.snd.snd.snd.2 else 0 variable {L M H ℓ} theorem heckeInputsHAlong_intro (h0 : HeckeBetaHDefined M H ℓ) (hα : HeckeAlphaHBarIntegral L M H ℓ) (hβ : HeckeBetaHBarIntegral L M H ℓ) [hP : HasPrincipalDivisors L (laurentBaseChange L (xHTopFunctionFieldC ℚ M H (M * ℓ)))] (hFI : FundamentalIdentityAlong L (heckeBetaHBar L M H ℓ) hβ) (hfin : FiniteAlong L (heckeAlphaHBar L M H ℓ)) (hN : NormFormulaAlong L (heckeAlphaHBar L M H ℓ) hfin) : HeckeInputsHAlong L M H ℓ := ⟨h0, hα, hβ, hP, hfin, hFI, hN⟩ theorem HeckeInputsHAlong.betaHDefined (h : HeckeInputsHAlong L M H ℓ) : HeckeBetaHDefined M H ℓ := h.fst theorem heckeOperatorHAlong_eq (h0 : HeckeBetaHDefined M H ℓ) (hα : HeckeAlphaHBarIntegral L M H ℓ) (hβ : HeckeBetaHBarIntegral L M H ℓ) [HasPrincipalDivisors L (laurentBaseChange L (xHTopFunctionFieldC ℚ M H (M * ℓ)))] (hFI : FundamentalIdentityAlong L (heckeBetaHBar L M H ℓ) hβ) (hfin : FiniteAlong L (heckeAlphaHBar L M H ℓ)) (hN : NormFormulaAlong L (heckeAlphaHBar L M H ℓ) hfin) : heckeOperatorHAlong L M H ℓ = heckePic0HBar hα hβ hFI hfin hN := by have h : HeckeInputsHAlong L M H ℓ := heckeInputsHAlong_intro h0 hα hβ hFI hfin hN rw [heckeOperatorHAlong, dif_pos h] theorem heckeOperatorHAlong_of_not (h : ¬ HeckeInputsHAlong L M H ℓ) : heckeOperatorHAlong L M H ℓ = 0 := by rw [heckeOperatorHAlong, dif_neg h] end Total section ModularInstance variable (M : ℕ) (H : Subgroup (ZMod M)ˣ) (ℓ : ℕ) [NeZero ℓ] example : xHFunctionFieldBar M H →ₐ[AlgebraicClosure ℚ] laurentBaseChange (AlgebraicClosure ℚ) (xHTopFunctionFieldC ℚ M H (M * ℓ)) := heckeAlphaHBar (AlgebraicClosure ℚ) M H ℓ example : JH M H →+ JH M H := heckeOperatorHAlong (AlgebraicClosure ℚ) M H ℓ end ModularInstance end ModularCurve end
Statements phrased using this module (62)
- Degeneracy morphisms D → D₀ and Ribet's special-fibre formula
ModularCurve.XHDRModelAtP.exists_degeneracyHom_mul_pts_special1,698 below · depth 12 - Hecke degeneracy pair for the Γ_H model over ℤ₍ₚ₎
ModularCurve.XHDRModelAtP.exists_heckeDegeneracyPair_chartPin_flat283 below · depth 12 - Hecke operators at ℓ≠ p on a relative Pic⁰ of X_H(M)
ModularCurve.XHDRModelAtP.exists_hom_mul_and_pts_heckeOperatorHAlong_eq_comp_of_ne719 below · depth 12 - Uₚ at p ∥ M as a group endomorphism of Pic⁰
ModularCurve.XHDRModelAtP.exists_hom_mul_and_pts_heckeOperatorHAlong_self_eq_comp719 below · depth 12 - Degeneracy pull-backs match the point dictionaries
ModularCurve.XHDRModelAtP.pts_alphaPull_eq_pts_levelN_comp_degPull364 below · depth 12 - The seven Hecke inputs for X_H(M) over any base field
ModularCurve.heckeInputsHAlong36 below · depth 12 - Special-fibre formula for the degeneracy push-forwards at p ∥ M
ModularCurve.XHDRModelAtP.ptsSp_levelN_symm_schemeHomOverComp_degeneracyHom_eq_of_pts_levelN_degPts_eq_comp1,637 below · depth 13 - Degeneracy push-forwards as norm homomorphisms on ℚ̄-points
ModularCurve.XHDRModelAtP.pts_levelN_degPts_eq_comp_degeneracyHom_of_classifies_normModule230 below · depth 13 - Degree ℓ+1 of the degeneracy map α on function fields
ModularCurve.finrankAlong_heckeAlphaHBar206 below · depth 13 - Degree p of the forgetful degeneracy map when p ∣ M
ModularCurve.finrankAlong_heckeAlphaHBar_of_dvd215 below · depth 13 - Degree of the second degeneracy embedding β on X_H(M)
ModularCurve.finrankAlong_heckeBetaHBar249 below · depth 13 - Commutativity of the Hecke operators on J_H(M)
ModularCurve.heckeOperatorHAlong_comm259 below · depth 17 - Base change of J_H(M) to ℂ: injectivity, torsion, Hecke
ModularCurve.exists_injective_heckeEquivariant_addMonoidHom_jH_pic0_complex97 below · depth 20 - Divisor-level Hecke compatibility of the Abel–Jacobi map for X_H(M)
ModularCurve.ComplexPlaceDictionaryOf.exists_mapDomain_eq_heckeDivHBar_abelJacobi_sub_mem_periodLatticeOf287 below · depth 21 - Hecke correspondence on a point divisor of X_H(M)
ModularCurve.ComplexPlaceDictionaryOf.heckeDivHBar_single_pt266 below · depth 22 - Equivariant Abel–Jacobi bijection for X_H(M) over ℂ
ModularCurve.exists_bijective_heckeEquivariant_addMonoidHom_pic0_complex_xH_quotient_periodLatticeOf_slash490 below · depth 22 - Pull-back to X₁(M) intertwines U_q for q ∣ M
ModularCurve.pullbackAlongHom_heckeOperatorHAlong_eq_heckeOperatorOneBar_pullbackAlongHom271 below · depth 23 - Base-changed compositum for Γ₁(M) and Γ_H(M)∩Γ₀(Mq)
ModularCurve.laurentBaseChange_x1FunctionField_sup_xHTopFunctionFieldC177 below · depth 24 - Ordinary corner: reduction to identity iff inertia acts cyclotomically
ModularCurve.JHNeronObjectAtP.reducesToOne_iff_inertia_cyclotomic_of_mem_corner_of_mem_finPts_of_ordinary_of_abelJacobiPin_of_inertF_of_levelData_of_algEquiv3,537 below · depth 30 - Atkin–Lehner-twisted dlog on J_H(M)[p] into supersingular differentials
ModularCurve.exists_addMonoidHom_torsion_ssPolarDifferentials_dlog_finPts_of_abelJacobiPin_tauFree_raynaud_bridgePins_export_of_algEquiv3,097 below · depth 30 - Double-annihilator property of the twisted pairing on J_H(M)[n]
ModularCurve.exists_perfectPairing_nsmul_eq_zero_galois_heckeH_diamondH_forall_addSubgroup_eq_biannihilator514 below · depth 30 - Ordinary corner count against supersingular polar differentials
ModularCurve.pow_finrank_range_corner_ssPolarDifferentials_mul_ncard_reducesToOne_eq_of_abelJacobiPin_of_representsRelSubPicLevel_raynaud_bridgePins_noKTransport_bridgePins4_of_algEquiv3,519 below · depth 30 - Counting identity in the ordinary corner of J_H(M)[p]
ModularCurve.JHNeronObjectAtP.ncard_corner_finPts_mul_toricPts_eq_ncard_reducesToOne_mul_cyclotomic_of_abelJacobiPin_of_levelData_of_algEquiv3,191 below · depth 31 - Toric–finite splitting on the ordinary corner of J_H(M)[p]
ModularCurve.JHNeronObjectAtP.ncard_corner_inter_toricPts_mul_ncard_corner_inter_finPts_eq_of_abelJacobiPin_of_representsRelSubPicLevel_of_levelData_of_algEquiv3,169 below · depth 31 - Fricke-twisted Weil pairing on J_H(M)[n]
ModularCurve.exists_pairing_nsmul_eq_zero_galois_heckeH_diamondH476 below · depth 31 - Reduced p-th root functions detect the finite part of J_H(M)[p]
ModularCurve.exists_reducedRootFunction_torsion_mem_finPts_iff_forall_dvd_ord_of_abelJacobiPin_tauFree_of_algEquiv2,608 below · depth 31 - Vanishing of dlogΨ on ordinary corner finite-part classes
ModularCurve.inv_smul_D_reducedRootFunction_eq_zero_iff_exists_point_reducesToOne_of_mem_corner_of_mem_finPts_tauFree_raynaud_bridgePins1,448 below · depth 31 - Regular-differential half of the ordinary corner count at p
ModularCurve.pow_finrank_map_corner_regularDifferentials_mul_ncard_reducesToOne_eq_ncard_finPts_of_abelJacobiPin_of_representsRelSubPicLevel_raynaud_bridgePins_noKTransport_bridgePins4_of_algEquiv3,513 below · depth 31 - Ordinary corner: supersingular residues versus finite p-torsion
ModularCurve.pow_finrank_map_residue_range_corner_mul_ncard_finPts_eq_natCard_corner_of_abelJacobiPin_of_representsRelSubPicLevel_raynaud_bridgePins_noKTransport_bridgePins4_of_algEquiv3,518 below · depth 31 - Reduced root function of T_ℓ x and U_q x as a norm
ModularCurve.reducedRootFunction_genOpH_T_eq_smul_pow_mul_norm_heckeBetaModLH_of_abelJacobiPin_tauFree_of_algEquiv676 below · depth 31 - Frobenius twist of the reduced root function under Uₚ
ModularCurve.reducedRootFunction_genOpH_U_self_eq_smul_pow_mul_of_coe_eq_coeffMap_frobenius_of_abelJacobiPin_tauFree_of_mem_infSubgroup_of_algEquiv446 below · depth 31 - Reduced root function under the diamond operator ⟨ e⟩
ModularCurve.reducedRootFunction_genOpH_dia_eq_smul_pow_mul_diamondActionModL_of_abelJacobiPin_tauFree484 below · depth 31 - Pairing annihilator of identity-reducing corner points is inertia-cyclotomic
ModularCurve.JHNeronObjectAtP.adjointCorner_finPts_forall_reducesToOne_pairing_eq_one_iff_inertia_cyclotomic_of_pairing_of_abelJacobiPin2,803 below · depth 32 - Toric ⊆ identity-reducing ⊆ finite part; finiteness of J[p]^f
ModularCurve.JHNeronObjectAtP.corner_toricPts_subset_reducesToOne_subset_finPts_addSubgroup_cyclotomic_finPts_finite_of_abelJacobiPin2,789 below · depth 32 - Idempotent and μₚ-pairing between corner and adjoint corner
ModularCurve.JHNeronObjectAtP.exists_idempotent_pairing_corner_adjointCorner_perfect_galois_radical_ncard_toric_cyclotomic_eq_of_abelJacobiPin_of_levelData_of_algEquiv3,182 below · depth 32 - Membership in `finPts p` via supersingular orders of g
ModularCurve.JHNeronObjectAtP.mem_finPts_iff_forall_ssPlacesQExp_dvd_ord_of_rootFunction_smul_of_coe_eq_coeffMap_residue_of_abelJacobiPin_of_algEquiv2,604 below · depth 32 - Toric points in a Hecke corner and its Weil annihilator
ModularCurve.JHNeronObjectAtP.ncard_corner_inter_toricPts_eq_ncard_weilAnnihilator_inter_toricPts_of_abelJacobiPin_of_representsRelSubPicLevel_of_algEquiv840 below · depth 32 - Vanishing of the first glued component of the reduced w_*x
ModularCurve.JHNeronObjectAtP.toPic0Pair_ptsSp_symm_atkinLehner_fst_eq_zero_iff_exists_point_reducesToOne_of_mem_corner_of_mem_finPts_bridgePins1,324 below · depth 32 - Gauss residue of the Uₚ-pushed function is c·Frobenius
ModularCurve.XHDRModelAtP.exists_mem_integers_algebraMap_mul_smul_norm_heckeBetaHBar_and_coe_residue_eq_C_mul_coeffMap_frobenius_coe_residue_of_mem_integers_of_algEquiv332 below · depth 32 - Logarithmic supersingular polar differentials lie in the image of Theta₀
ModularCurve.exists_dlogReducedRoot_eq_of_eq_inv_smul_d_of_abelJacobiPin_of_representsRelSubPicLevel_raynaud_bridgePins_noKTransport_bridgePins42,411 below · depth 32 - Regular logarithmic supersingular-polar differentials lie in the image of Theta₀
ModularCurve.exists_mem_finPts_and_dlogReducedRoot_eq_of_mem_regularDifferentials_of_eq_inv_smul_d_of_abelJacobiPin_of_representsRelSubPicLevel_raynaud_bridgePins_noKTransport_bridgePins42,365 below · depth 32 - Reduction of a finite p-torsion class: pE is div(Ψ x)
ModularCurve.exists_section_toPic0Pair_reduction_eq_mk_and_mul_eq_ord_reducedRootFunction_of_mem_finPts_tauFree1,168 below · depth 32 - Order of J_H(M)[p] equals p^{h+toricRank}
ModularCurve.natCard_torsion_eq_pow_height_add_toricRank_of_abelJacobiPin_tauFree2,285 below · depth 32 - Weil pairing on J_H(M)[p]: bilinearity, perfectness, equivariance
ModularCurve.perfectPairing_nsmul_eq_zero_galois_heckeH_diamondH_forall_addSubgroup_eq_biannihilator_toric_orthogonal_fin_of_abelJacobiPin_of_divisorialWeilPairingData_of_degeneracyData3,127 below · depth 32 - p-divisibility of the reduced root function's divisor
ModularCurve.JHNeronObjectAtP.dvd_ord_of_mem_finPts_of_coe_eq_coeffMap_residue_tauFree524 below · depth 33 - Configured representative of a p-torsion class with Néron section
ModularCurve.JHNeronObjectAtP.exists_configured_rep_ord_mul_pow_eq_of_extendsToPlace_pts_of_smul_eq_zero1,151 below · depth 33 - Reduced Néron section of a finite p-torsion class
ModularCurve.JHNeronObjectAtP.exists_section_toPic0Pair_eq_mk_of_mem_finPts_of_forall_dvd_ord_tauFree1,164 below · depth 33 - Cyclotomic points of a Hecke corner and its Weil annihilator
ModularCurve.JHNeronObjectAtP.ncard_corner_inertiaCyclotomic_eq_ncard_weilAnnihilator_inertiaCyclotomic_of_abelJacobiPin_of_representsRelSubPicLevel520 below · depth 33 - Trivial reduction iff the level-one layer point reduces to the identity
ModularCurve.JHNeronObjectAtP.ptsSp_symm_section_eq_zero_iff_exists_point_reducesToOne_of_mem_finPts_of_closedImmersion3 below · depth 33 - Second coordinate detects vanishing of reductions on the ordinary corner
ModularCurve.JHNeronObjectAtP.ptsSp_symm_section_eq_zero_of_toPic0Pair_snd_eq_zero_of_mem_corner_of_mem_finPts_bridgePins63 below · depth 33 - Atkin–Lehner swaps the two component coordinates of reduction
ModularCurve.JHNeronObjectAtP.toPic0Pair_ptsSp_symm_section_atkinLehner_fst_eq_zero_iff_snd_eq_zero_of_mem_finPts1,307 below · depth 33 - Finite-part lifting for the reduced root function Ψ
ModularCurve.exists_mem_finPts_and_reducedRoot_eq_mul_pow_mul_of_coe_eq_coeffMap_of_forall_dvd_ord_of_abelJacobiPin_of_representsRelSubPicLevel_raynaud_bridgePins_noKTransport_bridgePins42,332 below · depth 33 - Index of the finite part in J_H(M)[p] for p ‖ M
ModularCurve.natCard_torsion_eq_pow_card_ssPlacesQExp_sub_one_mul_natCard_finPts_of_abelJacobiPin_tauFree10 below · depth 33 - Fricke-twisted Weil pairing on J_H(M)[n]: nine properties
ModularCurve.pairing_nsmul_eq_zero_galois_heckeH_diamondH_biannihilator_of_divisorialWeilPairingData_frickeAlgEquiv513 below · depth 33 - p-divisibility of the reduced divisor of a p-th root
ModularCurve.JHNeronObjectAtP.dvd_ord_of_iterate_mul_eq_one_of_barPt_comp_eq_pts_of_coe_eq_coeffMap_residue512 below · depth 34 - Configured representative of a p-torsion class extending at P
ModularCurve.JHNeronObjectAtP.exists_configured_rep_and_isUnit_mul_pow_of_extendsToPlace_pts_of_smul_eq_zero1,134 below · depth 34 - Configured representative of a finite p-torsion class at p
ModularCurve.JHNeronObjectAtP.exists_configured_rep_pic0Mk_eq_toPic0Pair_mk_of_mem_finPts_of_forall_dvd_ord_tauFree1,161 below · depth 34 - Torsion Néron point extending over a place: its m-fold multiple is the unit
ModularCurve.JHNeronObjectAtP.exists_schemeHomOver_barPt_comp_eq_pts_and_iterate_mul_eq_one_of_extendsToPlace_of_nsmul_eq_zero1 below · depth 34 - Stability of the finite part under the Atkin–Lehner translate
ModularCurve.JHNeronObjectAtP.wbar_mem_finPts_of_mem_finPts_of_abelJacobiPin_tauFree60 below · depth 34 - Degree of X(Γ_H(M)∩Γ₀(Mt))→ X_H(M) is positive and bounded by the index
ModularCurve.finrankAlong_heckeAlphaHBar_pos_and_le_relIndex202 below · depth 34 - Generic divisor of a presentation of σ^*Poincaré on the Pl-model
ModularCurve.JHNeronObjectAtP.exists_divisor_ord_presentation_poincare_pullbackAlong_eq_of_barPt_comp_eq_pts125 below · depth 35 - Presentation divisor of σ^*P is D' up to principal divisors
ModularCurve.JHNeronObjectAtP.exists_forall_divisor_congrRingEquiv_eq_add_ord_of_range_eq_lSpaceOn_restrict_poincare_pullbackAlong_of_barPt_comp_eq_pts118 below · depth 36