Definitions/Def_ModularCurve_X1HeckeModule.lean
Hecke–diamond algebra acting on J₁(M) and its Tate module
The abstract Hecke–diamond algebra at level \Gamma_1(M) is the polynomial ring HeckeAlgOne =\mathbb{Z}[x_i] on the index set \mathrm{Primes}\sqcup\mathbb{N}, with distinguished generators heckeGenOne ℓ (index \mathrm{inl}\,\ell) and diamondGen d (index \mathrm{inr}\,d); evaluation of a polynomial at a family of elements of a \mathbb{Z}-algebra sends these to the corresponding family members. On the carrier JOne M the generators are interpreted by heckeDiamondGenBar M, which sends \mathrm{inl}\,\ell to heckeOperatorOneBar M ℓ, the \mathbb{Z}-linear endomorphism underlying the Hecke correspondence heckeOperatorOneAlong over \overline{\mathbb{Q}}, and \mathrm{inr}\,d to the diamond endomorphism diamondOneBar M d. The predicate HeckeDiamondCommuteBar M asserts that these endomorphisms commute pairwise; HeckeDiamondInputsAll M collects the hypotheses HeckeInputsOneAlong of the Hecke correspondence over \overline{\mathbb{Q}} at every prime together with, for every d coprime to M, the existence of an automorphism of the function field x1FunctionField M satisfying IsDiamondAut M d and of a base-changed automorphism of x1FunctionFieldBar M related to diamondAut M d by IsBaseChangeAutOf. Under commutativity the generators generate a commutative \mathbb{Z}-subalgebra of \mathrm{End}_{\mathbb{Z}}(J_1(M)), and heckeEvalOneBar is the ring homomorphism from HeckeAlgOne evaluating the generators there. The module structure heckeModuleOneBar M is total: it is given by heckeEvalOneBar when commutativity holds, and otherwise by the constant-term homomorphism, so that every generator then acts by zero while C a always acts as a.
For a prime p and any abelian group J with a HeckeAlgOne-module structure, tateHeckeRepOne is the induced ring homomorphism into \mathrm{End}_{\mathbb{Z}_p}(T_pJ), and rationalHeckeRepOne its base change to \mathrm{End}_{\mathbb{Q}_p}(\mathbb{Q}_p\otimes_{\mathbb{Z}_p}T_pJ); rationalHeckeAlgebraOne is the \mathbb{Q}_p-subalgebra generated by its image, with distinguished elements rationalHeckeOne and rationalDiamondOne. Finally RationalRankTwoNebentypusOf N p J asserts the existence of a basis b of V_pJ of rank two over rationalHeckeAlgebraOne such that for every prime \ell\nmid Np, every valuation subring of L lying over \ell and every \sigma that is a Frobenius there, the 2\times2 determinant of the matrix of \sigma in the basis b satisfies \langle\ell\rangle\cdot\det=\ell in that algebra; RationalRankTwoNebentypus M p is this with K=\mathbb{Q}, L=\overline{\mathbb{Q}}, N=M and J=J_1(M).
Relation to Mathlib
Mathlib supplies the polynomial ring MvPolynomial, p-adic coefficients and base change of endomorphisms; the Hecke–diamond algebra, its action on the Jacobian of X_1(M) and the rank-two nebentypus predicate are the project's own notions.
Where it is used
These definitions give the level-\Gamma_1(M) analogue of the Hecke action on J_0(N), providing the Hecke–diamond module structure on J_1(M) and on its p-adic Tate module that is used in the Eichler–Shimura style description of the Galois representations attached to eigenforms, with the determinant condition recording the nebentypus twist of the cyclotomic character.
References
- F. Diamond and J. Shurman, A First Course in Modular Forms, Graduate Texts in Mathematics 228, Springer, 2005, §5.2
- G. Shimura, Introduction to the Arithmetic Theory of Automorphic Functions, Publications of the Mathematical Society of Japan 11, 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.
- 265 lines
- 42 declarations
- used in the statements of 231 theorems and imported by 288 proofs
- imports 3 definition modules
Source file: Definitions/Def_ModularCurve_X1HeckeModule.lean
Declarations
- abbrev
ModularCurve.HeckeAlgOne - def
ModularCurve.heckeGenOne - def
ModularCurve.diamondGen - lemma
ModularCurve.aeval_heckeGenOne - lemma
ModularCurve.aeval_diamondGen - def
ModularCurve.heckeOperatorOneBar - theorem
ModularCurve.heckeOperatorOneBar_apply - def
ModularCurve.heckeDiamondGenBar - theorem
ModularCurve.heckeDiamondGenBar_inl - theorem
ModularCurve.heckeDiamondGenBar_inr - def
ModularCurve.HeckeDiamondCommuteBar - def
ModularCurve.HeckeDiamondInputsAll - theorem
ModularCurve.isMulCommutative_adjoin_heckeDiamondGenBar - def
ModularCurve.heckeEvalOneBarAux - def
ModularCurve.heckeEvalOneBar - theorem
ModularCurve.heckeEvalOneBar_apply - theorem
ModularCurve.heckeEvalOneBarAux_X - theorem
ModularCurve.heckeEvalOneBar_X - theorem
ModularCurve.heckeEvalOneBar_heckeGenOne - theorem
ModularCurve.heckeEvalOneBar_diamondGen - theorem
ModularCurve.heckeEvalOneBar_C - def
ModularCurve.heckeModuleOneBar - theorem
ModularCurve.heckeModuleOneBar_smul_def - theorem
ModularCurve.heckeModuleOneBar_heckeGenOne_smul - theorem
ModularCurve.heckeModuleOneBar_diamondGen_smul - theorem
ModularCurve.heckeModuleOneBar_smul_of_not - theorem
ModularCurve.heckeModuleOneBar_X_smul_of_not - theorem
ModularCurve.heckeModuleOneBar_C_smul - def
ModularCurve.tateHeckeRepOne - theorem
ModularCurve.tateHeckeRepOne_apply - theorem
ModularCurve.coe_tateHeckeRepOne_apply_apply - def
ModularCurve.rationalHeckeRepOne - theorem
ModularCurve.rationalHeckeRepOne_apply - theorem
ModularCurve.rationalHeckeRepOne_tmul - def
ModularCurve.rationalHeckeAlgebraOne - theorem
ModularCurve.rationalHeckeRepOne_mem_rationalHeckeAlgebraOne - def
ModularCurve.rationalDiamondOne - theorem
ModularCurve.coe_rationalDiamondOne - def
ModularCurve.rationalHeckeOne - theorem
ModularCurve.coe_rationalHeckeOne - def
ModularCurve.RationalRankTwoNebentypusOf - def
ModularCurve.RationalRankTwoNebentypus
Source
import Definitions.Def_ModularCurve_X1HeckeOperator import Definitions.Def_ModularCurve_X1Diamond import Definitions.Def_ModularCurve_JZeroTateModule import Mathlib.Algebra.MvPolynomial.CommRing ↗ set_option autoImplicit false noncomputable section open scoped TensorProduct namespace ModularCurve open AlgebraicCurve abbrev HeckeAlgOne : Type := MvPolynomial (Nat.Primes ⊕ ℕ) ℤ def heckeGenOne (ℓ : Nat.Primes) : HeckeAlgOne := MvPolynomial.X (Sum.inl ℓ) def diamondGen (d : ℕ) : HeckeAlgOne := MvPolynomial.X (Sum.inr d) @[simp] lemma aeval_heckeGenOne {A : Type*} [CommSemiring A] [Algebra ℤ A] (a : Nat.Primes ⊕ ℕ → A) (ℓ : Nat.Primes) : MvPolynomial.aeval a (heckeGenOne ℓ) = a (Sum.inl ℓ) := MvPolynomial.aeval_X a _ @[simp] lemma aeval_diamondGen {A : Type*} [CommSemiring A] [Algebra ℤ A] (a : Nat.Primes ⊕ ℕ → A) (d : ℕ) : MvPolynomial.aeval a (diamondGen d) = a (Sum.inr d) := MvPolynomial.aeval_X a _ section Operators variable (M : ℕ) def heckeOperatorOneBar (ℓ : Nat.Primes) : Module.End ℤ (JOne M) := haveI : NeZero (ℓ : ℕ) := ⟨ℓ.2.ne_zero⟩ (heckeOperatorOneAlong (AlgebraicClosure ℚ) M ℓ).toIntLinearMap theorem heckeOperatorOneBar_apply (ℓ : Nat.Primes) (x : JOne M) : heckeOperatorOneBar M ℓ x = (haveI : NeZero (ℓ : ℕ) := ⟨ℓ.2.ne_zero⟩; heckeOperatorOneAlong (AlgebraicClosure ℚ) M ℓ x) := rfl def heckeDiamondGenBar : Nat.Primes ⊕ ℕ → Module.End ℤ (JOne M) := Sum.elim (heckeOperatorOneBar M) (diamondOneBar M) @[simp] theorem heckeDiamondGenBar_inl (ℓ : Nat.Primes) : heckeDiamondGenBar M (Sum.inl ℓ) = heckeOperatorOneBar M ℓ := rfl @[simp] theorem heckeDiamondGenBar_inr (d : ℕ) : heckeDiamondGenBar M (Sum.inr d) = diamondOneBar M d := rfl def HeckeDiamondCommuteBar : Prop := ∀ i j : Nat.Primes ⊕ ℕ, heckeDiamondGenBar M i * heckeDiamondGenBar M j = heckeDiamondGenBar M j * heckeDiamondGenBar M i def HeckeDiamondInputsAll : Prop := (∀ ℓ : Nat.Primes, haveI : NeZero (ℓ : ℕ) := ⟨ℓ.2.ne_zero⟩ HeckeInputsOneAlong (AlgebraicClosure ℚ) M ℓ) ∧ ∀ d : ℕ, Nat.Coprime d M → (∃ σ : x1FunctionField M ≃ₐ[ℚ] x1FunctionField M, IsDiamondAut M d σ) ∧ ∃ σ' : x1FunctionFieldBar M ≃ₐ[AlgebraicClosure ℚ] x1FunctionFieldBar M, IsBaseChangeAutOf (AlgebraicClosure ℚ) (diamondAut M d) σ' end Operators section Eval variable {M : ℕ} theorem isMulCommutative_adjoin_heckeDiamondGenBar (h : HeckeDiamondCommuteBar M) : IsMulCommutative (Algebra.adjoin ℤ (Set.range (heckeDiamondGenBar M))) := Algebra.isMulCommutative_adjoin ℤ (by rintro _ ⟨i, rfl⟩ _ ⟨j, rfl⟩ exact h i j) open scoped IsMulCommutative in def heckeEvalOneBarAux (h : HeckeDiamondCommuteBar M) : HeckeAlgOne →ₐ[ℤ] (Algebra.adjoin ℤ (Set.range (heckeDiamondGenBar M)) : Subalgebra ℤ (Module.End ℤ (JOne M))) := haveI := isMulCommutative_adjoin_heckeDiamondGenBar h MvPolynomial.aeval fun i => (⟨heckeDiamondGenBar M i, Algebra.subset_adjoin (Set.mem_range_self i)⟩ : Algebra.adjoin ℤ (Set.range (heckeDiamondGenBar M))) def heckeEvalOneBar (h : HeckeDiamondCommuteBar M) : HeckeAlgOne →+* Module.End ℤ (JOne M) := ((Algebra.adjoin ℤ (Set.range (heckeDiamondGenBar M))).val.comp (heckeEvalOneBarAux h)).toRingHom theorem heckeEvalOneBar_apply (h : HeckeDiamondCommuteBar M) (t : HeckeAlgOne) : heckeEvalOneBar h t = (heckeEvalOneBarAux h t : Module.End ℤ (JOne M)) := rfl set_option synthInstance.maxHeartbeats 400000 in open scoped IsMulCommutative in theorem heckeEvalOneBarAux_X (h : HeckeDiamondCommuteBar M) (i : Nat.Primes ⊕ ℕ) : heckeEvalOneBarAux h (MvPolynomial.X i) = ⟨heckeDiamondGenBar M i, Algebra.subset_adjoin (Set.mem_range_self i)⟩ := haveI := isMulCommutative_adjoin_heckeDiamondGenBar h MvPolynomial.aeval_X _ i theorem heckeEvalOneBar_X (h : HeckeDiamondCommuteBar M) (i : Nat.Primes ⊕ ℕ) : heckeEvalOneBar h (MvPolynomial.X i) = heckeDiamondGenBar M i := by rw [heckeEvalOneBar_apply, heckeEvalOneBarAux_X] theorem heckeEvalOneBar_heckeGenOne (h : HeckeDiamondCommuteBar M) (ℓ : Nat.Primes) : heckeEvalOneBar h (heckeGenOne ℓ) = heckeOperatorOneBar M ℓ := heckeEvalOneBar_X h (Sum.inl ℓ) theorem heckeEvalOneBar_diamondGen (h : HeckeDiamondCommuteBar M) (d : ℕ) : heckeEvalOneBar h (diamondGen d) = diamondOneBar M d := heckeEvalOneBar_X h (Sum.inr d) theorem heckeEvalOneBar_C (h : HeckeDiamondCommuteBar M) (a : ℤ) : heckeEvalOneBar h (MvPolynomial.C a) = (a : Module.End ℤ (JOne M)) := by rw [← MvPolynomial.algebraMap_eq, eq_intCast, map_intCast] end Eval section TheModule variable (M : ℕ) open Classical in @[implicit_reducible] def heckeModuleOneBar : Module HeckeAlgOne (JOne M) := if h : HeckeDiamondCommuteBar M then Module.compHom (JOne M) (heckeEvalOneBar h) else Module.compHom (JOne M) (MvPolynomial.eval₂Hom (Int.castRingHom ℤ) (0 : Nat.Primes ⊕ ℕ → ℤ)) variable {M} theorem heckeModuleOneBar_smul_def (h : HeckeDiamondCommuteBar M) (t : HeckeAlgOne) (x : JOne M) : (letI := heckeModuleOneBar M; t • x) = heckeEvalOneBar h t x := by have e : heckeModuleOneBar M = Module.compHom (JOne M) (heckeEvalOneBar h) := dif_pos h rw [e] rfl theorem heckeModuleOneBar_heckeGenOne_smul (h : HeckeDiamondCommuteBar M) (ℓ : Nat.Primes) (x : JOne M) : (letI := heckeModuleOneBar M; heckeGenOne ℓ • x) = heckeOperatorOneBar M ℓ x := by rw [heckeModuleOneBar_smul_def h, heckeEvalOneBar_heckeGenOne] theorem heckeModuleOneBar_diamondGen_smul (h : HeckeDiamondCommuteBar M) (d : ℕ) (x : JOne M) : (letI := heckeModuleOneBar M; diamondGen d • x) = diamondOneBar M d x := by rw [heckeModuleOneBar_smul_def h, heckeEvalOneBar_diamondGen] theorem heckeModuleOneBar_smul_of_not (h : ¬ HeckeDiamondCommuteBar M) (t : HeckeAlgOne) (x : JOne M) : (letI := heckeModuleOneBar M; t • x) = MvPolynomial.constantCoeff t • x := by have e : heckeModuleOneBar M = Module.compHom (JOne M) (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 heckeModuleOneBar_X_smul_of_not (h : ¬ HeckeDiamondCommuteBar M) (i : Nat.Primes ⊕ ℕ) (x : JOne M) : (letI := heckeModuleOneBar M; (MvPolynomial.X i : HeckeAlgOne) • x) = 0 := by rw [heckeModuleOneBar_smul_of_not h, MvPolynomial.constantCoeff_X, zero_zsmul] theorem heckeModuleOneBar_C_smul (a : ℤ) (x : JOne M) : (letI := heckeModuleOneBar M; (MvPolynomial.C a : HeckeAlgOne) • x) = a • x := by by_cases h : HeckeDiamondCommuteBar M · rw [heckeModuleOneBar_smul_def h, heckeEvalOneBar_C, Module.End.intCast_apply] · rw [heckeModuleOneBar_smul_of_not h, MvPolynomial.constantCoeff_C] end TheModule section Integral variable (p : ℕ) [Fact p.Prime] (J : Type) [AddCommGroup J] [Module HeckeAlgOne J] def tateHeckeRepOne : HeckeAlgOne →+* Module.End ℤ_[p] (TateModule p J) where toMonoidHom := TateModule.rep p J HeckeAlgOne map_zero' := by refine LinearMap.ext fun x => Subtype.ext (funext fun n => ?_) show (0 : HeckeAlgOne) • (x : ℕ → J) n = 0 exact zero_smul HeckeAlgOne ((x : ℕ → J) n) map_add' s t := by refine LinearMap.ext fun x => Subtype.ext (funext fun n => ?_) show (s + t) • (x : ℕ → J) n = s • (x : ℕ → J) n + t • (x : ℕ → J) n exact add_smul s t ((x : ℕ → J) n) theorem tateHeckeRepOne_apply (t : HeckeAlgOne) : tateHeckeRepOne p J t = TateModule.rep p J HeckeAlgOne t := rfl theorem coe_tateHeckeRepOne_apply_apply (t : HeckeAlgOne) (x : TateModule p J) (n : ℕ) : ((tateHeckeRepOne p J t x : TateModule p J) : ℕ → J) n = t • (x : ℕ → J) n := rfl end Integral section Rational variable (p : ℕ) [Fact p.Prime] (J : Type) [AddCommGroup J] [Module HeckeAlgOne J] def rationalHeckeRepOne : HeckeAlgOne →+* Module.End ℚ_[p] (RationalTateModule p J) := (Module.End.baseChangeHom ℤ_[p] ℚ_[p] (TateModule p J)).toRingHom.comp (tateHeckeRepOne p J) theorem rationalHeckeRepOne_apply (t : HeckeAlgOne) : rationalHeckeRepOne p J t = (tateHeckeRepOne p J t).baseChange ℚ_[p] := rfl theorem rationalHeckeRepOne_tmul (t : HeckeAlgOne) (a : ℚ_[p]) (x : TateModule p J) : rationalHeckeRepOne p J t (a ⊗ₜ x) = a ⊗ₜ tateHeckeRepOne p J t x := rfl def rationalHeckeAlgebraOne : Subalgebra ℚ_[p] (Module.End ℚ_[p] (RationalTateModule p J)) := Algebra.adjoin ℚ_[p] (Set.range (rationalHeckeRepOne p J)) theorem rationalHeckeRepOne_mem_rationalHeckeAlgebraOne (t : HeckeAlgOne) : rationalHeckeRepOne p J t ∈ rationalHeckeAlgebraOne p J := Algebra.subset_adjoin (Set.mem_range_self t) def rationalDiamondOne (d : ℕ) : rationalHeckeAlgebraOne p J := ⟨rationalHeckeRepOne p J (diamondGen d), rationalHeckeRepOne_mem_rationalHeckeAlgebraOne p J _⟩ @[simp] theorem coe_rationalDiamondOne (d : ℕ) : (rationalDiamondOne p J d : Module.End ℚ_[p] (RationalTateModule p J)) = rationalHeckeRepOne p J (diamondGen d) := rfl def rationalHeckeOne (ℓ : Nat.Primes) : rationalHeckeAlgebraOne p J := ⟨rationalHeckeRepOne p J (heckeGenOne ℓ), rationalHeckeRepOne_mem_rationalHeckeAlgebraOne p J _⟩ @[simp] theorem coe_rationalHeckeOne (ℓ : Nat.Primes) : (rationalHeckeOne p J ℓ : Module.End ℚ_[p] (RationalTateModule p J)) = rationalHeckeRepOne p J (heckeGenOne ℓ) := rfl end Rational section Predicate variable {K L : Type} [Field K] [Field L] [Algebra K L] variable (N p : ℕ) [Fact p.Prime] (J : Type) [AddCommGroup J] [Module HeckeAlgOne J] [DistribMulAction (L ≃ₐ[K] L) J] def RationalRankTwoNebentypusOf : Prop := ∃ b : Module.Basis (Fin 2) (rationalHeckeAlgebraOne p J) (RationalTateModule p J), ∀ ℓ : ℕ, ℓ.Prime → ¬ ℓ ∣ N * p → ∀ A' : ValuationSubring L, A'.LiesOverPrime ℓ → ∀ σ : L ≃ₐ[K] L, A'.IsFrobeniusAt σ ℓ → rationalDiamondOne p J ℓ * ((b.repr (rationalGaloisRep p J (L ≃ₐ[K] L) σ (b 0))) 0 * (b.repr (rationalGaloisRep p J (L ≃ₐ[K] L) σ (b 1))) 1 - (b.repr (rationalGaloisRep p J (L ≃ₐ[K] L) σ (b 1))) 0 * (b.repr (rationalGaloisRep p J (L ≃ₐ[K] L) σ (b 0))) 1) = (ℓ : rationalHeckeAlgebraOne p J) end Predicate section ModularInstance def RationalRankTwoNebentypus (M p : ℕ) [Fact p.Prime] [Module HeckeAlgOne (JOne M)] : Prop := RationalRankTwoNebentypusOf (K := ℚ) (L := AlgebraicClosure ℚ) M p (JOne M) end ModularInstance end ModularCurve end
Statements phrased using this module (231)
- p-adic eigencharacter on the rational Hecke algebra of J₁(M)
CuspForm.IsEigenformWith.exists_ringHom_rationalHeckeAlgebraOne_mul_eq926 below · depth 17 - Adic Galois representation from a Hecke character on J₁(M)
ModularCurve.exists_galoisRepAdic_charpoly_frobenius_of_heckeDiamondChar1,377 below · depth 17 - Eichler–Shimura representation attached to a Hecke character
ModularCurve.exists_galoisRepAdic_charpoly_frobenius_of_heckeDiamondChar_tateModule_quotient1,377 below · depth 17 - Hecke and diamond operators on J₁(M) pairwise commute
ModularCurve.heckeDiamondCommuteBar272 below · depth 17 - The Hecke and diamond inputs for X₁(M) all hold
ModularCurve.heckeDiamondInputsAll66 below · depth 17 - Adic Galois representation attached to a Hecke character of J₁(M)
ModularCurve.exists_galoisRepAdic_charpoly_frobenius_and_inertia_mul_eq_zero_and_hecke_frobenius_mul_inertia_eq_zero_of_heckeDiamondChar_of_dvd_of_not_sq_dvd_of_le_div5,207 below · depth 18 - Hecke–diamond ring of J₁(M) embeds into End_ℂS₂(Γ₁(M))
ModularCurve.exists_injective_ringHom_adjoin_heckeDiamondGenBar_cuspForm611 below · depth 18 - Eichler–Shimura relation on the Tate module of J₁(M)
ModularCurve.frobeniusQuadratic_tateModule_jOne1,002 below · depth 18 - Hecke operators on J₁(M) commute
ModularCurve.heckeOperatorOneBar_comm259 below · depth 18 - Hecke operators commute with diamond operators on J₁(M)
ModularCurve.heckeOperatorOneBar_comm_diamondOneBar42 below · depth 18 - Hecke faithfulness on the rational Tate module of J₁(M)
ModularCurve.linearIndependent_rationalHeckeRepOne_of_linearIndependent593 below · depth 18 - Rank-two freeness of VₚJ₁(M) with nebentypus determinant
ModularCurve.rationalRankTwoNebentypus_family901 below · depth 18 - Galois action on Tₚ J₁(M) commutes with Hecke operators
ModularCurve.rep_tateModule_jOne_comm11 below · depth 18 - Galois action on J₁(M) commutes with the Hecke action
ModularCurve.JOne.galois_smul_heckeAlgOne_smul10 below · depth 19 - Canonical identification J₁(M)≅ J_{Γ_bot}(M) over ℚ̄
ModularCurve.pic0Congr_jOne_jH_bot_compat0 below · depth 19 - Eichler–Shimura congruence on J₁(M) modulo ℓ
ModularCurve.reductionQExpModL_gamma1_heckeOperatorOneBar984 below · depth 19 - Inertia relation (⟨ u⟩σ-1)(σ-1)=0 on norm-free vectors
ModularCurve.rep_diamondGen_apply_inertia_sub_eq_of_nsmul_sub_sum_tateModule_jOne_of_dvd_of_not_sq_dvd_of_le_div5,079 below · depth 19 - Frobenius and T_q on the norm-free part of TₚJ₁(M)
ModularCurve.rep_frobenius_rep_heckeGenOne_sub_smul_rep_diamondGen_rep_inertia_sub_eq_zero_normFreePartAt_tateModule_jOne_of_le_div5,079 below · depth 19 - Inertia at q acting non-trivially on a primitive eigenquotient
CuspForm.IsPrimitiveForm.exists_mem_inertiaSubgroupIn_tmul_rep_sub_notMem_span_tateModule_jOne_of_dvd_of_not_sq_dvd_of_not_dvd_conductor3,914 below · depth 20 - U_q-eigenvalue times a_q(g) equals q at auxiliary level
CuspForm.IsPrimitiveForm.ringHom_rationalHeckeOne_mul_eq_of_dvd_of_not_sq_dvd_of_dvd_conductor_of_dvd_level670 below · depth 20 - Value of Λ at U_q for q exactly dividing M
CuspForm.IsPrimitiveForm.ringHom_rationalHeckeOne_mul_eq_of_dvd_of_not_sq_dvd_of_not_dvd_conductor656 below · depth 20 - Frobenius at q acting as q U_q on J₁(M₀q)
ModularCurve.JOne.diamondOneBar_smul_smul_sub_self_eq_smul_heckeOperatorOneBar_of_isFrobeniusAt_of_eq_sum_diamondOneBar2,861 below · depth 20 - Hecke eigenspace of Tₚ J₁(M) at a primitive form
CuspForm.IsPrimitiveForm.iInf_ker_hecke_sub_ne_bot_and_inf_span_eq_bot_tateModule_jOne928 below · depth 21 - No primitive form of level M occurs in Tₚ J₁(N) for N∣ M, N≠ M
CuspForm.IsPrimitiveForm.linearMap_eq_zero_of_hecke_coeigen_tateModule_jOne_of_dvd_of_ne711 below · depth 21 - Strong multiplicity one for p-adic Hecke characters on J₁(M)
CuspForm.IsPrimitiveForm.ringHom_rationalHeckeOne_mul_eq_of_eq_conj_qCoeff_mul645 below · depth 21 - Frobenius–Hecke relation at q for Γ₁(M₀)∩Γ₀(q) classes
ModularCurve.JOne.diamondOneBar_smul_pullbackAlongHom_smul_sub_self_eq_smul_heckeOperatorOneBar_of_isFrobeniusAt2,856 below · depth 21 - Inertia-invariant diamond-norm vectors in TₚJ₁(M) modulo monodromy and old parts
ModularCurve.JOne.exists_pow_smul_mem_span_inertia_sub_sup_range_of_rep_eq_self_of_mem_range_diamondNorm_tateModule_of_dvd_of_not_sq_dvd3,611 below · depth 21 - Frobenius twist on the Igusa component is coefficientwise
ModularCurve.XOneP.addEquiv_proj_fst_eq_frob_smul_of_pts_eq_frobenius_comp_of_gaussReading_twoChartModel_x1_mul2,278 below · depth 21 - Uₚ acts as p Frob⁻¹ on the Igusa component
ModularCurve.XOneP.addEquiv_proj_fst_eq_natCast_smul_frob_inv_smul_of_pts_reduction_heckeGenOne_of_normFreePart_of_surjective_residue_of_gaussReading_twoChartModel_x1_mul3,358 below · depth 21 - q-expansion pin for the Igusa component of J₁(Mp) at p
ModularCurve.XOneP.addEquiv_proj_fst_eq_pic0Mk_conorm_laurentPlaceReduction_of_points_of_gaussReading_twoChartModel_x1_mul1,336 below · depth 21 - Sum of p-diamond operators kills the norm-free subscheme's special fibre
ModularCurve.XOneP.comp_heckeHom_sum_diamondGen_eq_one_of_factors_normFreePart_specialFibre_twoChartModel_x1_mul6 below · depth 21 - q-divisible norm-free systems reducing into the torus vanish
ModularCurve.XOneP.eq_zero_of_proj_eq_zero_of_qDivisible_normFreePart_points_twoChartModel_x1_mul1,250 below · depth 21 - Special fibre of J₁(Mp) as glued Pic⁰ of Igusa curves
ModularCurve.XOneP.exists_gluedPic0_addEquiv_neronSpecialFibreGeom_toPic0Pair_eq_proj_of_curveModel_igusa_twoChartModel_x1_mul1,721 below · depth 21 - Abel–Jacobi-normalised Hecke and Galois action on Pic⁰ of X₁(Mp)
ModularCurve.XOneP.exists_heckeHom_galoisHom_pts_smul_eq_comp_abelJacobi_of_representsRelSubPic_twoChartModel_x1_mul3,203 below · depth 21 - Abelian subscheme of relative Pic⁰ cutting out the norm-free part
ModularCurve.XOneP.exists_isClosedImmersion_isProper_smooth_normFreePart_of_representsRelSubPic_twoChartModel_x1_mul3,371 below · depth 21 - Hecke, diamond and inertia operators on the Néron special fibre of J₁(Mp)
ModularCurve.XOneP.exists_neronSpecialFibreOpsV3_of_heckeHom_galoisHom_of_representsRelSubPic_of_isAlgebraic_twoChartModel_x1_mul_of_baseChangeIso_of_abelJacobi_of_gaussReading3,339 below · depth 21 - A p-divisible group over A for the norm-free part of J₁(Mp)
ModularCurve.XOneP.exists_pDivisibleGroup_normFreePart_points_tateModule_valuation_lt_one_of_reduction_eq_zeroSection_twoChartModel_x1_mul742 below · depth 21 - Inertia-fixed norm-free classes extend over the invariant subring
ModularCurve.XOneP.exists_points_fixedValuationSubring_of_smul_eq_self_of_mem_normFreePart_twoChartModel_x1_mul1 below · depth 21 - Galois transport of O-points of the Pic⁰ model
ModularCurve.XOneP.exists_points_smul_eq_and_reduction_eq_comp_galoisHom_of_points_twoChartModel_x1_mul0 below · depth 21 - Reduction bijective on prime-to-p torsion of O_I-points
ModularCurve.XOneP.exists_reduction_torsion_bijective_points_fixedValuationSubring_of_representsRelSubPic_twoChartModel_x1_mul16 below · depth 21 - Level monotonicity and component-wise compatibility of the specialisation family
ModularCurve.XOneP.normFreePartFamily_dom_mono_and_toPic0Pair_sp_eq_of_le_twoChartModel_x1_mul_opsV30 below · depth 21 - Uₚ acts through an automorphism on the étale Igusa component
ModularCurve.XOneP.normFreePartFamily_exists_addEquiv_toPic0Pair_sp_heckeOperatorOneBar_snd_eq_twoChartModel_x1_mul4,670 below · depth 21 - Diamond action on first components of specialised norm-free classes
ModularCurve.XOneP.normFreePartFamily_exists_addMonoidHom_toPic0Pair_sp_diamondOneBar_fst_eq_twoChartModel_x1_mul2,964 below · depth 21 - Decomposition group acts on second Igusa projection of norm-free points
ModularCurve.XOneP.normFreePartFamily_exists_addMonoidHom_toPic0Pair_sp_smul_snd_eq_of_mem_decompositionSubgroup_twoChartModel_x1_mul3,011 below · depth 21 - Specialisation datum for the norm-free part of J₁(Mp)
ModularCurve.XOneP.normFreePartFamily_exists_dom_sp_interface_twoChartModel_x1_mul_opsV32 below · depth 21 - Inertia-invariant functionals annihilate Tate vectors with vanishing Igusa specialisation
ModularCurve.XOneP.normFreePartFamily_forall_apply_eq_zero_of_tateModule_toPic0Pair_sp_eq_zero_twoChartModel_x1_mul2,215 below · depth 21 - Level independence of the specialisation family on J₁(Mp)
ModularCurve.XOneP.normFreePartFamily_level_pushout_and_sp_eq_twoChartModel_x1_mul_opsV30 below · depth 21 - Inertia-fixed norm-free classes lie in the specialisation domain
ModularCurve.XOneP.normFreePartFamily_mem_dom_of_forall_smul_eq_self_twoChartModel_x1_mul_opsV32 below · depth 21 - Trivial Weil pairing for vanishing glued specialisations
ModularCurve.XOneP.normFreePartFamily_pairing_eq_one_of_toPic0Pair_sp_eq_zero_twoChartModel_x1_mul4,591 below · depth 21 - Inertia twisted by a diamond fixes the second Igusa component
ModularCurve.XOneP.normFreePartFamily_toPic0Pair_sp_diamondOneBar_smul_snd_eq_of_mem_inertiaSubgroupIn_twoChartModel_x1_mul_opsV31,268 below · depth 21 - q-expansion pin of the specialisation on the Gauss component
ModularCurve.XOneP.normFreePartFamily_toPic0Pair_sp_fst_eq_pic0Mk_conorm_laurentPlaceReduction_twoChartModel_x1_mul1,337 below · depth 21 - Frobenius acts coefficientwise on the first Igusa component
ModularCurve.XOneP.normFreePartFamily_toPic0Pair_sp_fst_smul_of_isFrobeniusAt_twoChartModel_x1_mul2,332 below · depth 21 - Uₚ acts as p Fr⁻¹ on norm-free specialisations
ModularCurve.XOneP.normFreePartFamily_toPic0Pair_sp_heckeOperatorOneBar_fst_eq_natCast_smul_frob_inv_smul_twoChartModel_x1_mul3,359 below · depth 21 - Triangularity of Uₚ on specialisations of the norm-free part
ModularCurve.XOneP.normFreePartFamily_toPic0Pair_sp_heckeOperatorOneBar_snd_eq_zero_twoChartModel_x1_mul3,359 below · depth 21 - Frobenius acts coefficientwise on the first Igusa-component specialisation
ModularCurve.XOneP.normFreePartFamily_toPic0Pair_sp_smul_fst_eq_frob_smul_of_isFrobeniusAt_twoChartModel_x1_mul0 below · depth 21 - Inertia fixes the cuspidal component of reductions of norm-free points
ModularCurve.XOneP.normFreePartFamily_toPic0Pair_sp_smul_fst_eq_of_mem_inertiaSubgroupIn_twoChartModel_x1_mul1,268 below · depth 21 - Inertia fixing μₚ preserves the second Igusa component of specialisations
ModularCurve.XOneP.normFreePartFamily_toPic0Pair_sp_smul_snd_eq_of_mem_inertiaSubgroupIn_of_forall_pow_eq_one_twoChartModel_x1_mul_opsV31 below · depth 21 - Inertia and diamond act trivially on special-fibre components
ModularCurve.XOneP.proj_fst_eq_and_proj_snd_eq_of_opoints_pts_eq_comp_galoisHom_diamondGen_of_mem_inertiaSubgroupIn_gaussPin_cuspPin_abelJacobi_twoChartModel_x1_mul1,266 below · depth 21 - Hecke generator at p preserves vanishing étale component
ModularCurve.XOneP.proj_snd_eq_zero_of_proj_snd_eq_zero_of_pts_reduction_heckeGenOne_of_normFreePart_of_surjective_residue_of_gaussReading_twoChartModel_x1_mul3,358 below · depth 21 - Group-law form of the special-fibre points dictionary
ModularCurve.XOneP.pts_add_eq_relativeGroupLaw_mul_and_pts_zero_eq_one_specialFibre_twoChartModel_x1_mul1 below · depth 21 - Trivial Weil pairing for classes reducing into the torus
ModularCurve.XOneP.weilDatum_pairing_eq_one_of_proj_eq_zero_of_points_valuationSubring_of_curveModel_igusa_twoChartModel_x1_mul3,869 below · depth 21 - Eichler–Shimura compatibility for the Hecke–diamond ring of J₁(M)
ModularCurve.exists_injective_ringHom_adjoin_heckeDiamondGenBar_cuspForm_qCoeff612 below · depth 21 - A cyclotomic DVR inside a place above p
ModularCurve.exists_isCyclotomicExtension_isDiscreteValuationRing_isFractionRing_mem_valuationSubring_of_liesOverPrime0 below · depth 21 - Ordinary Frobenius line in the Tate module of J₁(M)
ModularCurve.exists_ordLine_frobenius_quadratic_mem_tateModule_jOne_quotient_of_isUnit_of_not_dvd2,268 below · depth 21 - Ordinary line at p‖M in a p-new quotient of TₚJ₁(M)
ModularCurve.exists_ordLine_frobenius_sub_smul_mem_tateModule_jOne_quotient_of_diamond_eq_one_of_forall_linearMap_eq_zero_of_dvd_of_not_sq_dvd3,409 below · depth 21 - The norm-free endomorphism satisfies N∘ N=|Δ| N
ModularCurve.normFreeEnd_normFreeEnd_eq_card_nsmul2 below · depth 21 - Endomorphism of Pic⁰ induces unique additive endomorphism of J
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.existsUnique_addMonoidHom_pts_comp_fst_eq_comp_of_mul_comp_of_baseChangeIso1 below · depth 22 - Semilinear group endomorphism induces a unique additive endomorphism of J
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.existsUnique_addMonoidHom_pts_comp_fst_eq_comp_of_semilinear_mul_comp_of_baseChangeIso1 below · depth 22 - Group endomorphism of Pic⁰ induces unique additive endomorphism
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.existsUnique_addMonoidHom_pts_eq_comp_of_mul_comp1 below · depth 22 - Good Hecke operators suffice on the primitive packet of J₁(M)
CuspForm.IsPrimitiveForm.exists_mem_adjoin_good_aeval_ne_zero_mul_smul_eq_smul_jOne642 below · depth 22 - Pull-back and push-forward between J_H(M) and J₁(M)
ModularCurve.JH.exists_pullback_pushforward_jOne_galois_and_comp_eq_nsmul_and_sum_diamondOneBar_eq223 below · depth 22 - Degeneracy pull-backs commute with T_q and ⟨ d⟩
ModularCurve.JOne.degeneracyPullbackPair_comm_heckeOperatorOneBar_diamondOneBar247 below · depth 22 - Transport of the Γ_H-level relation to J₁(M₀q)
ModularCurve.JOne.diamondOneBar_smul_pullbackAlongHom_smul_sub_self_eq_smul_heckeOperatorOneBar_of_genOpH280 below · depth 22 - Galois equivariance of Hecke and diamond operators on J₁(M)
ModularCurve.JOne.smul_heckeOperatorOneBar_and_smul_diamondOneBar274 below · depth 22 - Frobenius pull-back acts as coefficientwise Frobenius on the Igusa component
ModularCurve.XOneP.addEquiv_eq_frob_smul_of_nonempty_poincare_pullbackAlong_iso_pullback_frobeniusTwist_fst_twoChartModel_x1_mul1,412 below · depth 22 - Eichler–Shimura on the cusp component: Uₚ reduces to p frob⁻¹
ModularCurve.XOneP.addEquiv_proj_fst_eq_natCast_smul_frob_inv_smul_of_pts_reduction_heckeGenOne_of_points_pic0Mk_valuationSubring_of_forall_mem_support_gaussReduces_twoChartModel_x1_mul1,520 below · depth 22 - Diamonds ⟨ d⟩, d≡ 1 (M), fix the gluing torus
ModularCurve.XOneP.comp_heckeHom_diamondGen_eq_of_comp_torus_specialFibre_of_representsRelSubPic_abelJacobi_twoChartModel_x1_mul2,995 below · depth 22 - Triviality of the Gal(L/ℚ)-action on the toric part
ModularCurve.XOneP.eq_of_galois_of_postComp_eq_one_points_specialFibre_of_gaussReading_twoChartModel_x1_mul_of_abelJacobi1,268 below · depth 22 - Unique homomorphic factorisation through D₁×_k D₂
ModularCurve.XOneP.existsUnique_schemeHomOver_prodStr_comp_eq_of_comp_splitTorus_eq_one_specialFibre_baseChange_x1_mul2 below · depth 22 - Uₚ on the étale component J_E of the special fibre
ModularCurve.XOneP.exists_addEquiv_proj_snd_eq_of_pts_reduction_heckeGenOne_of_normFreePart_of_eichlerShimura_twoChartModel_x1_mul2 below · depth 22 - Residue-field twists act on J_E through a single additive map
ModularCurve.XOneP.exists_addMonoidHom_proj_snd_eq_of_pts_eq_spec_map_comp_specialFibre_twoChartModel_x1_mul1,207 below · depth 22 - Hecke endomorphisms act additively on the geometric special fibre
ModularCurve.XOneP.exists_addMonoidHom_pts_comp_eq_comp_and_eq_of_pts_reduction_specialFibre_twoChartModel_x1_mul5 below · depth 22 - Diamond operators descend to both special-fibre components
ModularCurve.XOneP.exists_descent_diamondGen_of_coprime_specialFibre_components_of_abelJacobi_twoChartModel_x1_mul2,961 below · depth 22 - Diagonal descent of T_ℓ (ℓ≠ p) to the special fibre
ModularCurve.XOneP.exists_descent_heckeGenOne_of_ne_specialFibre_components_of_abelJacobi_twoChartModel_x1_mul3,243 below · depth 22 - Toric prime-to-p torsion classes of J₁(Mp) are γ· w-w
ModularCurve.XOneP.exists_forall_exists_eq_smul_sub_of_proj_eq_zero_of_points_valuationSubring_of_curveModel_igusa_twoChartModel_x1_mul3,837 below · depth 22 - Semilinear Galois action on the relative Picard model of X₁(Mp)
ModularCurve.XOneP.exists_galoisHom_pts_smul_eq_specMap_comp_comp_abelJacobi_of_representsRelSubPic_twoChartModel_x1_mul169 below · depth 22 - Galois twists of the two-chart model of X₁(Mp)
ModularCurve.XOneP.exists_galoisModelHom_comp_modelTo_eq_and_iotaFin_comp_eq_twoChartModel_x1_mul2 below · depth 22 - Diamond automorphism of the two-chart model of X₁(Mp)
ModularCurve.XOneP.exists_iso_modelTo_eq_and_iotaFin_comp_eq_of_diamondAut_twoChartModel_x1_mul48 below · depth 22 - Prime-to-p divisibility of finite torsion classes in J₁(Mp)
ModularCurve.XOneP.exists_nsmul_eq_of_points_valuationSubring_of_curveModel_igusa_twoChartModel_x1_mul1,774 below · depth 22 - Good generators of the special fibre from cusp-component points
ModularCurve.XOneP.exists_place_schemeHomOver_valuationSubring_pts_reduction_proj_fst_eq_pic0Mk_proj_snd_eq_zero_of_notMem_range_crossings_of_mem_range_iotaFin_twoChartModel_x1_mul3,008 below · depth 22 - Points dictionary of the p-divisible group into J₁(Mp)
ModularCurve.XOneP.exists_points_injective_iff_normFreePart_galois_read_of_pDivisibleGroup_abelianSubscheme_twoChartModel_x1_mul0 below · depth 22 - Uₚ on the second Picard factor of the special fibre
ModularCurve.XOneP.exists_postComp_heckeGenOne_eq_apply_postComp_and_map_mul_and_bijective_points_snd_specialFibre_of_factors_normFreePart_of_gaussReading_twoChartModel_x1_mul3,528 below · depth 22 - Hensel lifting of k-points of D to Pl-points
ModularCurve.XOneP.exists_pts_reduction_and_exists_schemeHomOver_valuationSubring_of_pts_specialFibre_twoChartModel_x1_mul5 below · depth 22 - Affine split torus kernel in Pic⁰ of the special fibre
ModularCurve.XOneP.exists_relativeGroupLaw_isAffine_isClosedImmersion_iff_postComp_pullbackHom_eq_one_splitTorus_specialFibre_baseChange_x1_mul54 below · depth 22 - Kernel of special-fibre Picard projections: a split torus of rank n-1
ModularCurve.XOneP.exists_relativeGroupLaw_isClosedImmersion_iff_postComp_pullbackHom_eq_one_splitTorus_specialFibre_baseChange_x1_mul54 below · depth 22 - Hecke generators as endomorphisms of the relative Pic⁰ model
ModularCurve.XOneP.forall_prime_exists_hom_mul_and_pts_heckeGenOne_smul_eq_comp_abelJacobi_of_representsRelSubPic_twoChartModel_x1_mul3,122 below · depth 22 - Rigidity of Hecke–diamond endomorphisms on the Jacobian model
ModularCurve.XOneP.heckeHom_eq_of_forall_smul_eq_and_diamondGen_congr_of_representsRelSubPic_twoChartModel_x1_mul4 below · depth 22 - Generating Pic⁰ of the Igusa curve by chart point differences
ModularCurve.XOneP.mem_closure_pic0Mk_single_pointEquivPlace_sub_single_of_notMem_range_crossings_of_mem_range_iotaFin_igusaModel_twoChartModel_x1_mul49 below · depth 22 - Galois twists respect the relative group law on D
ModularCurve.XOneP.mul_comp_galoisHom_eq_mul_comp_of_pts_smul_eq_comp_abelJacobi_of_representsRelSubPic_twoChartModel_x1_mul3 below · depth 22 - Frobenius twist commutes with restricting the Poincaré bundle
ModularCurve.XOneP.nonempty_poincare_pullbackAlong_postComp_pullbackHom_iso_pullback_obj_of_comp_fst_eq_frobenius_comp_twoChartModel_x1_mul10 below · depth 22 - Frobenius twist of a point twists its Igusa place by `frobIg`
ModularCurve.XOneP.pointEquivPlace_eq_frob_smul_pointEquivPlace_of_comp_eq_frobenius_comp_of_gaussReading_twoChartModel_x1_mul1,197 below · depth 22 - Galois acts trivially on C₁, through a diamond on C₂
ModularCurve.XOneP.postComp_pullbackHom_galois_eq_and_postComp_diamond_comp_galoisInv_eq_of_gaussReading_specialFibre_twoChartModel_x1_mul_of_abelJacobi1,265 below · depth 22 - Reduction of Uₚ preserves the Néron special fibre torus
ModularCurve.XOneP.proj_eq_zero_of_proj_eq_zero_of_pts_reduction_heckeGenOne_of_surjective_residue_of_gaussReading_twoChartModel_x1_mul1,687 below · depth 22 - Triangularity of Uₚ on the Néron special fibre of J₁(Mp)
ModularCurve.XOneP.proj_snd_eq_zero_of_proj_snd_eq_zero_of_pts_reduction_heckeGenOne_of_surjective_residue_of_gaussReading_twoChartModel_x1_mul3,357 below · depth 22 - Diamond operator realised as Picard transport on the Jacobian model
ModularCurve.XOneP.pts_diamondGen_smul_eq_comp_transport_of_abelJacobi_of_diamondModelAut_twoChartModel_x1_mul170 below · depth 22 - Prime-to-p torsion with a Pl-integral point is inertia-fixed
ModularCurve.XOneP.smul_eq_self_of_mem_inertiaSubgroupIn_of_points_valuationSubring_of_curveModel_igusa_twoChartModel_x1_mul148 below · depth 22 - The diamond kernel at p ∥ M has p-1 representatives
ModularCurve.card_normFreeRepsAt_eq_sub_one0 below · depth 22 - Multiplicativity of the diamond operators on J₁(M)
ModularCurve.diamondOneBar_mul_of_coprime0 below · depth 22 - Fricke-twisted p-adic Weil pairing on TₚJ₁(M)⊗ K
ModularCurve.exists_bilinForm_tateModule_jOne_hecke_selfAdjoint_rep_eq_cyclotomicCharacter_mul_of_forall_pow_eq_one608 below · depth 22 - Frobenius versus Uₚ on diamond-fixed TₚJ₁(M), p‖ M
ModularCurve.exists_pow_smul_diamond_frobenius_sub_hecke_mem_span_degeneracy_inertiaAugmentation_diamondFixed_tateModule_jOne_of_dvd_of_not_sq_dvd3,323 below · depth 22 - Separable annihilator for good Hecke and diamond operators on J₁(M)
ModularCurve.exists_separable_aeval_smul_eq_zero_jOne_of_mem_adjoin_good901 below · depth 22 - Toric and old lattices in TₚJ₁(M) for p ∥ M
ModularCurve.exists_toricLattice_oldLattice_diamondNorm_tateModule_jOne_of_dvd_of_not_sq_dvd3,069 below · depth 22 - Connected part at an ordinary prime spans at most a line
ModularCurve.finrank_map_reductionKernelSpan_tateModule_jOne_le_one_of_isUnit2,266 below · depth 22 - Λ-eigenspace meets the span of (̂ t-Λ(t))-images trivially
ModularCurve.iInf_ker_tateHeckeRepOne_baseChange_sub_inf_span_eq_bot_of_separable_of_good0 below · depth 22 - Nonzero simultaneous Hecke eigenspace in K⊗ Tₚ J
ModularCurve.iInf_ker_tateHeckeRepOne_baseChange_sub_ne_bot0 below · depth 22 - Diamond norm annihilates the norm-free endomorphism on J₁(M)
ModularCurve.sum_diamondOneBar_normFreeEnd_eq_zero1 below · depth 22 - Tate module map induced by an equivariant points dictionary
PDivisibleGroup.exists_linearMap_tateModule_jOne_apply_injective_range_galois_of_injective_of_forall_iff1 below · depth 22 - Transport along W commutes with base-change projection on points
AlgebraicGeometry.RelPicard.RepresentsRelSubPic.postComp_transport_comp_fst_eq_comp_transport_of_baseChangeIso10 below · depth 23 - Pull-back J_H(M)→ J₁(M) commutes with T_ℓ and ⟨ d⟩
ModularCurve.JH.pullbackAlongHom_heckeOperatorHAlong_eq_heckeOperatorOneBar_and_pullbackAlongHom_diamondHBar_eq_diamondOneBar277 below · depth 23 - Degeneracy pull-backs commute with ⟨ d⟩ for ℓ∤ d
ModularCurve.JOne.degeneracyPullbackPair_comm_diamondOneBar7 below · depth 23 - Degeneracy pull-backs commute with T_q for q≠ℓ
ModularCurve.JOne.degeneracyPullbackPair_comm_heckeOperatorOneBar241 below · depth 23 - Abel–Jacobi commutes with reduction onto the Igusa component
ModularCurve.XOneP.addEquiv_proj_fst_eq_pic0Mk_mapDomain_of_points_eq_reduction_of_surjective_residue_of_forall_mem_support_exists_section_twoChartModel_x1_mul1,437 below · depth 23 - Igusa-component class of the reduction of 𝒪(ξ₁)⊗𝒪(ξ₂)⁻¹
ModularCurve.XOneP.addEquiv_proj_fst_eq_pic0Mk_single_sub_single_of_points_eq_reduction_of_poincare_iso_ofPoint_valuationSubring_twoChartModel_x1_mul291 below · depth 23 - Abel–Jacobi commutes with reduction onto the étale component
ModularCurve.XOneP.addEquiv_proj_snd_eq_pic0Mk_mapDomain_of_points_eq_reduction_of_surjective_residue_of_forall_mem_support_exists_section_twoChartModel_x1_mul1,437 below · depth 23 - Galois model automorphism acts trivially on the Gauss component
ModularCurve.XOneP.comp_fibreAut_eq_of_galoisModelAut_of_gaussPin_twoChartModel_x1_mul1,184 below · depth 23 - Inertia-twisted diamond is trivial on the Igusa branch
ModularCurve.XOneP.comp_fibreIso_eq_of_diamondModelAut_galoisModelHom_of_gaussPin_twoChartModel_x1_mul1,197 below · depth 23 - Étale entry of Uₚ on good generators of J_E
ModularCurve.XOneP.exists_coprime_algEquiv_finset_addMonoidHom_proj_snd_heckeGenOne_eq_symm_frob_smul_and_proj_snd_diamondGen_eq_smul_of_pic0Mk_single_sub_single_snd_specialFibre_twoChartModel_x1_mul_of_atkinLehner_of_diamondConj3,174 below · depth 23 - Base change of a semilinear automorphism to the geometric fibre
ModularCurve.XOneP.exists_fibreIso_comp_fst_eq_of_modelHom_comp_modelTo_eq_of_algebraMap_smul_eq_twoChartModel_x1_mul0 below · depth 23 - Inertia-invariant prime-to-p torsion of J₁(Mp) bounded by its finite part
ModularCurve.XOneP.exists_forall_natCard_torsion_inertiaInvariants_le_mul_natCard_points_valuationSubring_of_curveModel_igusa_twoChartModel_x1_mul3,235 below · depth 23 - Level-p Hecke divisor of a Gauss-reducing place of X₁(Mp)
ModularCurve.XOneP.exists_heckeDivOneBar_single_eq_sum_and_red_eq_frob_inv_smul_of_gaussReduces_of_surjective_residue_twoChartModel_x1_mul1,242 below · depth 23 - Hecke endomorphism T_ℓ of the relative Pic⁰ of X₁(Mp)
ModularCurve.XOneP.exists_hom_classifies_norm_pullback_poincare_heckeDegeneracyPair_twoChartModel_x1_mul403 below · depth 23 - Inertia displacements on J₁(Mp) reduce into the toric part
ModularCurve.XOneP.exists_points_valuationSubring_and_proj_eq_zero_smul_sub_self_of_mem_inertia_of_curveModel_igusa_twoChartModel_x1_mul3,106 below · depth 23 - Galois transport of Pic⁰ on the special fibre
ModularCurve.XOneP.exists_postComp_eq_of_comp_fst_eq_comp_galoisTransport_of_classifies_fibre_twoChartModel_x1_mul9 below · depth 23 - Pl-point of relative Pic⁰ representing 𝒪(ξ₁)⊗𝒪(ξ₂)⁻¹
ModularCurve.XOneP.exists_schemeHomOver_poincare_iso_ofPoint_tensor_idealModule_of_reduction_fst_valuationSubring_twoChartModel_x1_mul1,411 below · depth 23 - Hensel lifting of off-crossing k-points of the second component
ModularCurve.XOneP.exists_schemeHomOver_valuationSubring_reduction_eq_and_generic_eq_pointEquivPlace_of_notMem_range_crossings_snd_twoChartModel_x1_mul2,894 below · depth 23 - Henselian lift of a k-point off the crossings
ModularCurve.XOneP.exists_schemeHomOver_valuationSubring_reduction_eq_and_generic_eq_pointEquivPlace_of_notMem_range_crossings_twoChartModel_x1_mul2,894 below · depth 23 - Divisibility of toric torsion classes on J₁(Mp)
ModularCurve.XOneP.exists_toric_nsmul_eq_of_toric_of_points_valuationSubring_of_curveModel_igusa_twoChartModel_x1_mul1,736 below · depth 23 - Geometric closed fibres of the two-chart model of X₁(Mp)
ModularCurve.XOneP.exists_twoGluedSmoothCurves_isReduced_pullback_twoChartModel_x1_mul_of_ker_ne_bot2,901 below · depth 23 - Finite and toric parts of J₁(Mp) form subgroups
ModularCurve.XOneP.finitePart_toricPart_zero_mem_add_mem_neg_mem_sub_mem_points_valuationSubring_twoChartModel_x1_mul2 below · depth 23 - Pinned Galois transport on relative Pic⁰ equals τ(s)
ModularCurve.XOneP.galoisHom_eq_of_classifies_rigidify_pullback_of_modelHom_inv_twoChartModel_x1_mul_of_abelJacobi173 below · depth 23 - Pic⁰ of the Igusa field generated by differences of chart points
ModularCurve.XOneP.mem_closure_pic0Mk_single_pointEquivPlace_sub_single_of_notMem_range_crossings_of_mem_range_iotaFin_of_notMem_finset_igusaModel_snd_twoChartModel_x1_mul49 below · depth 23 - Toric and finite m-torsion counts for J₁(Mp) at p
ModularCurve.XOneP.natCard_toricTorsion_mul_natCard_finiteTorsion_eq_natCard_torsion_jOne_of_curveModel_igusa_twoChartModel_x1_mul_of_not_dvd2,063 below · depth 23 - Monodromy bound for ℓ-power torsion on J₁(Mp)
ModularCurve.XOneP.natCard_torsion_le_natCard_image_smul_sub_mul_natCard_inertiaInvariants_of_forall_smul_sub_toric_of_curveModel_igusa_twoChartModel_x1_mul0 below · depth 23 - Poincaré bundle along the Abel–Jacobi image of a ℚ̄-point
ModularCurve.XOneP.nonempty_poincare_pullbackAlong_iso_ofPoint_tensor_ofPoint_idealModule_of_eq_comp_ajbar_twoChartModel_x1_mul15 below · depth 23 - Poincaré bundle along gpts([P]-[Q]) is 𝒪(x_P)⊗ I_{x_Q}
ModularCurve.XOneP.nonempty_poincare_pullbackAlong_points_pic0Mk_single_sub_single_iso_ofPoint_tensor_idealModule_twoChartModel_x1_mul31 below · depth 23 - Galois transport fixes Pic⁰ of pointwise-fixed components
ModularCurve.XOneP.postComp_pullbackHom_eq_and_postComp_eq_of_comp_fst_eq_comp_galoisTransport_of_comp_fibreIso_eq_twoChartModel_x1_mul0 below · depth 23 - Vanishing étale coordinate for classes reducing off the crossings
ModularCurve.XOneP.proj_snd_eq_zero_of_points_eq_reduction_of_surjective_residue_of_forall_mem_support_exists_section_twoChartModel_x1_mul1,438 below · depth 23 - Vanishing étale coordinate for Hecke reductions of Gauss-reducing divisors
ModularCurve.XOneP.proj_snd_eq_zero_of_pts_reduction_heckeGenOne_of_points_pic0Mk_valuationSubring_of_forall_mem_support_gaussReduces_twoChartModel_x1_mul1,521 below · depth 23 - Endomorphism classifying the norm bundle realises T_ℓ on points
ModularCurve.XOneP.pts_heckeGenOne_smul_eq_comp_abelJacobi_of_classifies_norm_pullback_poincare_heckeDegeneracyPair_twoChartModel_x1_mul312 below · depth 23 - Galois transport of J₁(Mp)-points by the Picard automorphism N
ModularCurve.XOneP.pts_smul_eq_specMap_comp_comp_of_galoisModelAut_of_classifies_abelJacobi_twoChartModel_x1_mul168 below · depth 23
… and 81 more statements (search for the module name to find them).