Definitions/Def_IharaLemma_IdempotentSplitting.lean
Idempotent splittings of semilocal rings and corner rings
For a commutative ring B, the structure IharaLemma.IdempotentSplitting B bundles: a natural number n; a family e : \mathrm{Fin}\,n \to B; a family \mathfrak{m} : \mathrm{Fin}\,n \to (ideals of B); a proof that e is a complete orthogonal family of idempotents in Mathlib's sense (CompleteOrthogonalIdempotents); proofs that each \mathfrak{m}\,i is maximal and that every maximal ideal of B equals some \mathfrak{m}\,i; and the incidence condition e\,i \in \mathfrak{m}\,j \iff i \neq j. So the data present B as a semilocal ring whose finitely many maximal ideals are enumerated, with an idempotent attached to each, the theorems being carried as fields. Immediate consequences recorded are the injectivity of i \mapsto \mathfrak{m}\,i, that e\,i \notin \mathfrak{m}\,i, that e\,i lies in every maximal ideal distinct from \mathfrak{m}\,i, and idempotency of each e\,i.
For a B-module M and e \in B, cornerSubmodule e is the image of the B-linear map m \mapsto e \cdot m, and toCorner e is that map viewed as a surjection onto it. The ring-theoretic counterpart is CornerRing S i, Mathlib's corner e\,i\,B\,e\,i of the idempotent e\,i (with unit element e\,i), together with the ring homomorphism toCornerRing, b \mapsto e\,i \cdot b \cdot e\,i, the induced algebra structure over B and over any base ring \mathcal{O} mapping to B, and the corresponding scalar towers. Two facts are proved about it: CornerRing S i is a localisation of B at the prime complement of \mathfrak{m}\,i, hence a local ring. The underlying invertibility input is exists_mul_mul_eq_of_notMem: if e is idempotent and lies in every maximal ideal other than \mathfrak{m}, then for s \notin \mathfrak{m} there is t with t s e = e. Finally, e\,i \cdot M is made a module over CornerRing S i, compatibly with the B- and \mathcal{O}-actions, and cornerRingLinearEquiv is the \mathcal{O}-linear isomorphism between CornerRing S i and the corner submodule e\,i \cdot B of B itself, both realised by the same underlying elements of B.
Relation to Mathlib
Built on Mathlib's CompleteOrthogonalIdempotents and on the corner ring IsIdempotentElem.Corner of an idempotent; the bundled structure pairing a complete orthogonal family of idempotents with a bijective enumeration of the maximal ideals, and the module-level cornerSubmodule, are the project's own.
Where it is used
The data package the decomposition of a semilocal commutative ring — typically a Hecke algebra acting on a space of modular forms or on a cohomology module — into its local factors, and transfer modules to the corresponding direct summands. This is the bookkeeping used when arguments of Ihara type and modularity-lifting arguments are localised at a single maximal ideal of a Hecke algebra.
References
- M. F. Atiyah and I. G. Macdonald, Introduction to Commutative Algebra, Addison-Wesley, 1969
- T. Y. Lam, A First Course in Noncommutative Rings, Graduate Texts in Mathematics 131, Springer, 1991
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 259 lines
- 43 declarations
- used in the statements of 127 theorems and imported by 132 proofs
- imports 0 definition modules
Source file: Definitions/Def_IharaLemma_IdempotentSplitting.lean
Imports
- only Mathlib
Declarations
- structure
IharaLemma.IdempotentSplitting - field
IharaLemma.IdempotentSplitting.n - field
IharaLemma.IdempotentSplitting.e - field
IharaLemma.IdempotentSplitting.coi - field
IharaLemma.IdempotentSplitting.isMaximal - field
IharaLemma.IdempotentSplitting.exists_eq - field
IharaLemma.IdempotentSplitting.mem_iff - theorem
IharaLemma.IdempotentSplitting.𝔪_injective - theorem
IharaLemma.IdempotentSplitting.notMem - theorem
IharaLemma.IdempotentSplitting.mem_of_ne - theorem
IharaLemma.IdempotentSplitting.mem_of_isMaximal_of_ne - theorem
IharaLemma.IdempotentSplitting.idem - instance
IharaLemma.IdempotentSplitting.isMaximal_𝔪 - def
IharaLemma.cornerSubmodule - def
IharaLemma.toCorner - theorem
IharaLemma.toCorner_apply - theorem
IharaLemma.exists_mul_mul_eq_of_notMem - abbrev
IharaLemma.IdempotentSplitting.CornerRing - instance
IharaLemma.IdempotentSplitting.coeOutCornerRing - theorem
IharaLemma.IdempotentSplitting.coe_mk_cornerRing - theorem
IharaLemma.IdempotentSplitting.ext_cornerRing - theorem
IharaLemma.IdempotentSplitting.coe_one_cornerRing - def
IharaLemma.IdempotentSplitting.toCornerRing - theorem
IharaLemma.IdempotentSplitting.coe_toCornerRing - theorem
IharaLemma.IdempotentSplitting.e_mul_coe - theorem
IharaLemma.IdempotentSplitting.coe_mul_e - instance
IharaLemma.IdempotentSplitting.algebraBaseCornerRing - instance
IharaLemma.IdempotentSplitting.isScalarTower_base_cornerRing - theorem
IharaLemma.IdempotentSplitting.algebraMap_base_cornerRing_coe - theorem
IharaLemma.IdempotentSplitting.algebraMap_cornerRing_coe - instance
IharaLemma.IdempotentSplitting.isLocalization_cornerRing - instance
IharaLemma.IdempotentSplitting.isLocalRing_cornerRing - theorem
IharaLemma.IdempotentSplitting.e_smul_coe - theorem
IharaLemma.IdempotentSplitting.coe_smul_mem - instance
IharaLemma.IdempotentSplitting.smulCornerModule - theorem
IharaLemma.IdempotentSplitting.coe_zero_cornerRing - theorem
IharaLemma.IdempotentSplitting.coe_cornerSmul - instance
IharaLemma.IdempotentSplitting.moduleCornerModule - instance
IharaLemma.IdempotentSplitting.isScalarTower_cornerModule - def
IharaLemma.IdempotentSplitting.cornerRingLinearEquiv - theorem
IharaLemma.IdempotentSplitting.cornerRingLinearEquiv_apply - theorem
IharaLemma.IdempotentSplitting.cornerRingLinearEquiv_symm_apply - instance
IharaLemma.IdempotentSplitting.isScalarTower_base_cornerModule
Source
import Mathlib.RingTheory.Idempotents ↗ import Mathlib.RingTheory.Localization.AtPrime.Basic ↗ import Mathlib.Tactic.LinearCombination ↗ namespace IharaLemma structure IdempotentSplitting (B : Type) [CommRing B] where n : ℕ e : Fin n → B 𝔪 : Fin n → Ideal B coi : CompleteOrthogonalIdempotents e isMaximal : ∀ i, (𝔪 i).IsMaximal exists_eq : ∀ I : Ideal B, I.IsMaximal → ∃ i, 𝔪 i = I mem_iff : ∀ i j, e i ∈ 𝔪 j ↔ i ≠ j namespace IdempotentSplitting variable {B : Type} [CommRing B] (S : IdempotentSplitting B) theorem 𝔪_injective : Function.Injective S.𝔪 := by intro i j h by_contra hij have h1 : S.e i ∈ S.𝔪 j := (S.mem_iff i j).mpr hij rw [← h] at h1 exact ((S.mem_iff i i).mp h1) rfl theorem notMem (i : Fin S.n) : S.e i ∉ S.𝔪 i := fun h => ((S.mem_iff i i).mp h) rfl theorem mem_of_ne {i j : Fin S.n} (h : i ≠ j) : S.e i ∈ S.𝔪 j := (S.mem_iff i j).mpr h theorem mem_of_isMaximal_of_ne (i : Fin S.n) (J : Ideal B) (hJ : J.IsMaximal) (hne : J ≠ S.𝔪 i) : S.e i ∈ J := by obtain ⟨j, rfl⟩ := S.exists_eq J hJ exact S.mem_of_ne fun h => hne (congrArg S.𝔪 h.symm) theorem idem (i : Fin S.n) : IsIdempotentElem (S.e i) := S.coi.idem i instance isMaximal_𝔪 (i : Fin S.n) : (S.𝔪 i).IsMaximal := S.isMaximal i end IdempotentSplitting section CornerModule variable {B : Type} [CommRing B] {M : Type} [AddCommGroup M] [Module B M] def cornerSubmodule (e : B) : Submodule B M := LinearMap.range (e • (LinearMap.id : M →ₗ[B] M)) def toCorner (e : B) : M →ₗ[B] cornerSubmodule (M := M) e := LinearMap.rangeRestrict (e • (LinearMap.id : M →ₗ[B] M)) @[simp] theorem toCorner_apply (e : B) (v : M) : ((toCorner (M := M) e v : cornerSubmodule e) : M) = e • v := rfl end CornerModule theorem exists_mul_mul_eq_of_notMem {B : Type} [CommRing B] {e : B} (he : IsIdempotentElem e) (𝔪 : Ideal B) (hother : ∀ J : Ideal B, J.IsMaximal → J ≠ 𝔪 → e ∈ J) {s : B} (hs : s ∉ 𝔪) : ∃ t : B, t * s * e = e := by have htop : Ideal.span {s} ⊔ Ideal.span {1 - e} = ⊤ := by by_contra hne obtain ⟨J, hJ, hle⟩ := Ideal.exists_le_maximal _ hne have h1e : 1 - e ∈ J := hle (Ideal.mem_sup_right (Ideal.mem_span_singleton_self _)) have hsJ : s ∈ J := hle (Ideal.mem_sup_left (Ideal.mem_span_singleton_self _)) have hJ𝔪 : J ≠ 𝔪 := fun h => hs (h ▸ hsJ) have heJ : e ∈ J := hother J hJ hJ𝔪 apply hJ.ne_top rw [Ideal.eq_top_iff_one] have := J.add_mem heJ h1e rwa [add_sub_cancel] at this rw [Ideal.eq_top_iff_one, Submodule.mem_sup] at htop obtain ⟨a, ha, b, hb, hab⟩ := htop obtain ⟨t, rfl⟩ := Ideal.mem_span_singleton'.mp ha obtain ⟨u, rfl⟩ := Ideal.mem_span_singleton'.mp hb refine ⟨t, ?_⟩ have h0 : (1 - e) * e = 0 := by rw [sub_mul, one_mul, he.eq, sub_self] have key : t * s * e + u * ((1 - e) * e) = 1 * e := by have := congrArg (· * e) hab simpa only [add_mul, mul_assoc] using this rwa [h0, mul_zero, add_zero, one_mul] at key namespace IdempotentSplitting variable {B : Type} [CommRing B] (S : IdempotentSplitting B) (i : Fin S.n) abbrev CornerRing : Type := (S.idem i).Corner instance coeOutCornerRing : CoeOut (S.CornerRing i) B := ⟨Subtype.val⟩ theorem coe_mk_cornerRing (x : B) (hx) : ((⟨x, hx⟩ : S.CornerRing i) : B) = x := rfl @[ext] theorem ext_cornerRing {z w : S.CornerRing i} (h : (z : B) = w) : z = w := Subtype.ext h theorem coe_one_cornerRing : ((1 : S.CornerRing i) : B) = S.e i := rfl def toCornerRing : B →+* S.CornerRing i where toFun b := ⟨S.e i * b * S.e i, b, rfl⟩ map_one' := Subtype.ext (by show S.e i * 1 * S.e i = S.e i rw [mul_one, (S.idem i).eq]) map_mul' a b := Subtype.ext (by show S.e i * (a * b) * S.e i = S.e i * a * S.e i * (S.e i * b * S.e i) have h2 : S.e i * S.e i = S.e i := (S.idem i).eq linear_combination (-(a * b) * (S.e i * S.e i + S.e i)) * h2) map_zero' := Subtype.ext (by show S.e i * 0 * S.e i = 0 rw [mul_zero, zero_mul]) map_add' a b := Subtype.ext (by show S.e i * (a + b) * S.e i = S.e i * a * S.e i + S.e i * b * S.e i rw [mul_add, add_mul]) @[simp] theorem coe_toCornerRing (b : B) : ((S.toCornerRing i b : S.CornerRing i) : B) = S.e i * b * S.e i := rfl theorem e_mul_coe (z : S.CornerRing i) : S.e i * (z : B) = z := by obtain ⟨_, a, rfl⟩ := z show S.e i * (S.e i * a * S.e i) = S.e i * a * S.e i rw [← mul_assoc, ← mul_assoc, (S.idem i).eq] theorem coe_mul_e (z : S.CornerRing i) : (z : B) * S.e i = z := by rw [mul_comm]; exact S.e_mul_coe i z section Base variable (𝒪 : Type) [CommRing 𝒪] [Algebra 𝒪 B] instance algebraBaseCornerRing : Algebra 𝒪 (S.CornerRing i) := ((S.toCornerRing i).comp (algebraMap 𝒪 B)).toAlgebra instance isScalarTower_base_cornerRing : IsScalarTower 𝒪 B (S.CornerRing i) := IsScalarTower.of_algebraMap_eq fun _ => rfl theorem algebraMap_base_cornerRing_coe (r : 𝒪) : ((algebraMap 𝒪 (S.CornerRing i) r : S.CornerRing i) : B) = S.e i * algebraMap 𝒪 B r * S.e i := rfl end Base theorem algebraMap_cornerRing_coe (b : B) : ((algebraMap B (S.CornerRing i) b : S.CornerRing i) : B) = S.e i * b * S.e i := rfl instance isLocalization_cornerRing : IsLocalization (S.𝔪 i).primeCompl (S.CornerRing i) where map_units y := by obtain ⟨t, ht⟩ := exists_mul_mul_eq_of_notMem (S.idem i) (S.𝔪 i) (S.mem_of_isMaximal_of_ne i) y.2 refine IsUnit.of_mul_eq_one (algebraMap B (S.CornerRing i) t) (Subtype.ext ?_) show S.e i * (y : B) * S.e i * (S.e i * t * S.e i) = S.e i have h2 : S.e i * S.e i = S.e i := (S.idem i).eq linear_combination (t * (y : B) * (S.e i * S.e i + S.e i + 1)) * h2 + ht surj z := by obtain ⟨_, a, rfl⟩ := z refine ⟨(S.e i * a * S.e i, 1), Subtype.ext ?_⟩ show S.e i * a * S.e i * (S.e i * ((1 : (S.𝔪 i).primeCompl) : B) * S.e i) = S.e i * (S.e i * a * S.e i) * S.e i rw [OneMemClass.coe_one] ring exists_of_eq {x y} h := by refine ⟨⟨S.e i, S.notMem i⟩, ?_⟩ have h' : S.e i * x * S.e i = S.e i * y * S.e i := congrArg Subtype.val h show S.e i * x = S.e i * y have h2 : S.e i * S.e i = S.e i := (S.idem i).eq linear_combination h' + (y - x) * h2 instance isLocalRing_cornerRing : IsLocalRing (S.CornerRing i) := IsLocalization.AtPrime.isLocalRing (S.CornerRing i) (S.𝔪 i) section CornerModule variable {M : Type} [AddCommGroup M] [Module B M] theorem e_smul_coe (m : cornerSubmodule (M := M) (S.e i)) : S.e i • (m : M) = m := by obtain ⟨m0, hm0⟩ := m.2 rw [← hm0] show S.e i • (S.e i • m0) = S.e i • m0 rw [smul_smul, (S.idem i).eq] theorem coe_smul_mem (z : S.CornerRing i) (m : cornerSubmodule (M := M) (S.e i)) : (z : B) • (m : M) ∈ cornerSubmodule (M := M) (S.e i) := ⟨(z : B) • (m : M), by show S.e i • ((z : B) • (m : M)) = (z : B) • (m : M) rw [smul_smul, S.e_mul_coe]⟩ instance smulCornerModule : SMul (S.CornerRing i) (cornerSubmodule (M := M) (S.e i)) := ⟨fun z m => ⟨(z : B) • (m : M), S.coe_smul_mem i z m⟩⟩ theorem coe_zero_cornerRing : ((0 : S.CornerRing i) : B) = 0 := rfl @[simp] theorem coe_cornerSmul (z : S.CornerRing i) (m : cornerSubmodule (M := M) (S.e i)) : ((z • m : cornerSubmodule (M := M) (S.e i)) : M) = (z : B) • (m : M) := rfl instance moduleCornerModule : Module (S.CornerRing i) (cornerSubmodule (M := M) (S.e i)) where one_smul m := Subtype.ext (by rw [coe_cornerSmul, coe_one_cornerRing, e_smul_coe]) mul_smul x y m := Subtype.ext (by rw [coe_cornerSmul, coe_cornerSmul, coe_cornerSmul, ← mul_smul]; rfl) smul_zero x := Subtype.ext (by rw [coe_cornerSmul, ZeroMemClass.coe_zero, smul_zero]) smul_add x m n := Subtype.ext (by rw [coe_cornerSmul, AddMemClass.coe_add, smul_add, AddMemClass.coe_add, coe_cornerSmul, coe_cornerSmul]) add_smul x y m := Subtype.ext (by rw [coe_cornerSmul, AddMemClass.coe_add, coe_cornerSmul, coe_cornerSmul, ← add_smul]; rfl) zero_smul m := Subtype.ext (by rw [coe_cornerSmul, coe_zero_cornerRing, zero_smul, ZeroMemClass.coe_zero]) instance isScalarTower_cornerModule : IsScalarTower B (S.CornerRing i) (cornerSubmodule (M := M) (S.e i)) := ⟨fun b z m => Subtype.ext (by show (S.e i * b * S.e i * (z : B)) • (m : M) = b • ((z : B) • (m : M)) rw [mul_assoc, S.e_mul_coe, mul_comm (S.e i) b, mul_assoc, S.e_mul_coe, mul_smul])⟩ end CornerModule section Base variable (𝒪 : Type) [CommRing 𝒪] [Algebra 𝒪 B] noncomputable def cornerRingLinearEquiv : S.CornerRing i ≃ₗ[𝒪] ↥(cornerSubmodule (M := B) (S.e i)) where toFun x := ⟨x.1, by obtain ⟨b, hb⟩ := x.2 refine ⟨b * S.e i, ?_⟩ simp only [LinearMap.smul_apply, LinearMap.id_apply, smul_eq_mul] linear_combination hb⟩ invFun x := ⟨x.1, by obtain ⟨y, hy⟩ := x.2 simp only [LinearMap.smul_apply, LinearMap.id_apply, smul_eq_mul] at hy exact ⟨y, by linear_combination y * (S.idem i).eq + hy⟩⟩ left_inv x := Subtype.ext rfl right_inv x := Subtype.ext rfl map_add' x y := Subtype.ext rfl map_smul' r x := Subtype.ext (by obtain ⟨b, hb⟩ := x.2 show (S.e i * algebraMap 𝒪 B r * S.e i) * (x : B) = r • (x : B) rw [Algebra.smul_def] linear_combination (algebraMap 𝒪 B r * b * (S.e i * S.e i + S.e i)) * (S.idem i).eq + (algebraMap 𝒪 B r - S.e i * algebraMap 𝒪 B r * S.e i) * hb) @[simp] theorem cornerRingLinearEquiv_apply (x : S.CornerRing i) : ((cornerRingLinearEquiv S i 𝒪 x : cornerSubmodule (M := B) (S.e i)) : B) = (x : B) := rfl @[simp] theorem cornerRingLinearEquiv_symm_apply (x : cornerSubmodule (M := B) (S.e i)) : (((cornerRingLinearEquiv S i 𝒪).symm x : S.CornerRing i) : B) = (x : B) := rfl end Base section BaseModule variable (𝒪 : Type) [CommRing 𝒪] [Algebra 𝒪 B] variable {M : Type} [AddCommGroup M] [Module B M] [Module 𝒪 M] [IsScalarTower 𝒪 B M] instance isScalarTower_base_cornerModule : IsScalarTower 𝒪 (S.CornerRing i) (cornerSubmodule (M := M) (S.e i)) := ⟨fun r z m => by rw [Algebra.smul_def, IsScalarTower.algebraMap_apply 𝒪 B (S.CornerRing i) r, ← Algebra.smul_def, smul_assoc, algebraMap_smul]⟩ end BaseModule end IdempotentSplitting end IharaLemma
Statements phrased using this module (127)
- Corners with residually trivial nebentypus lie in W(M,Hₛ)
CohCarrier.corner_le_map_iDegL_one_parabolicHoms_of_parabolic_of_diamond_sub_one_mem3 below · depth 13 - Residually trivial diamond operators fix corner submodules
CohCarrier.diamondL_apply_eq_self_of_mem_cornerSubmodule_of_sub_one_mem2 below · depth 13 - Idempotent splitting of a stable submodule with orthogonal complement
IharaLemma.exists_isCompl_orthogonal_of_isIdempotentElem_of_selfAdjoint0 below · depth 13 - Elements of mathfrak mᵢ are topologically nilpotent on the eᵢ-corner
IharaLemma.exists_pow_smul_corner_mem_maximalIdeal_smul0 below · depth 13 - Freeness of the corner submodule at an idempotent
IharaLemma.free_cornerSubmodule0 below · depth 13 - Saturation and rank force equality of images at a corner
IharaLemma.map_codRestrict_eq_of_residual0 below · depth 13 - Corner transport along an 𝒪-linear intertwining map
IharaLemma.map_le_cornerSubmodule_of_adjoin_eq_top_of_forall_exists_partner2 below · depth 13 - Transport of idempotent corners along an intertwining map
IharaLemma.map_le_cornerSubmodule_of_forall_ne_exists_intertwining0 below · depth 13 - Fullness of a corner under adic generalised eigenvector conditions
IharaLemma.mem_cornerSubmodule_of_forall_exists_pow_sub_algebraMap_smul_mem0 below · depth 13 - Restricting a perfect self-adjoint pairing to an idempotent corner
IharaTower.exists_levelPairing_cornerSubmodule_of_le0 below · depth 13 - Perfect self-adjoint pairing restricts to a level pairing on a corner
IharaTower.exists_levelPairing_cornerSubmodule_of_stable_of_selfAdjoint4 below · depth 13 - Finiteness of the Hecke operator algebra and corner alternative
CohCarrier.HeckeData.finite_opSubalgebra_and_subsingleton_ML_or_exists_corner5 below · depth 14 - Change of presentation for corners of the Hecke algebra
CohCarrier.exists_hdata_corner_of_subfamily_corner_top3 below · depth 14 - Rank of a non-Eisenstein corner of H¹(Γ₀(N),𝒪)
CohCarrier.finrank_cornerSubmodule_H1_eq_two_mul_of_not_isEisenstein691 below · depth 14 - Residue of U_q as Frobenius trace on inertia coinvariants
CohCarrier.hdata_residue_U_eq_trace_frobenius_inertiaCoinvariants_of_not_sq_dvd5,017 below · depth 14 - Localised Hecke algebra as a cohomological corner ring
CuspForm.heckeLocal.exists_algEquiv_cornerRing_H1_of_not_isEisenstein597 below · depth 14 - Vanishing on a corner against a topologically nilpotent intertwiner
IharaLemma.eq_zero_of_mem_cornerSubmodule_of_intertwining_nilpotent0 below · depth 14 - Order-n residually trivial element acts trivially on a corner
IharaLemma.smul_eq_self_of_mem_cornerSubmodule_of_pow_eq_one0 below · depth 14 - Idempotent splitting of the Hecke algebra of a Hecke datum
CohCarrier.HeckeData.nonempty_idempotentSplitting_opSubalgebra2 below · depth 15 - Residual Hecke eigensystem realised on a corner of H¹
CohCarrier.exists_algHom_cornerRing_of_ringHom_heckeAlgebra594 below · depth 15 - Freeness of a corner of H¹(Γ_H(L),𝒪) over 𝒪[Δ]
CohCarrier.exists_basis_cornerSubmodule_H1_monoidAlgebra_of_not_isEisenstein_subfamily22 below · depth 15 - Raised local component at level Nq with θ̄(U_q)=0
CohCarrier.exists_idempotentSplitting_algHom_apply_toCornerRing_eq_level_mul_of_prime_of_dvd9 below · depth 15 - Raised local component at level Nq² with U_q=0
CohCarrier.exists_idempotentSplitting_algHom_apply_toCornerRing_eq_level_mul_sq_of_prime12 below · depth 15 - Polynomial separating an absent eigensystem from a Hecke maximal ideal
CohCarrier.exists_mvPolynomial_aeval_eq_zero_and_aeval_notMem_of_forall_eq_zero3 below · depth 15 - Residual eigensystem of a parabolic cohomology corner is modular
CohCarrier.exists_ringHom_heckeAlgebra_apply_T_eq_of_cornerRing_point_of_corner_le_parabolicHoms600 below · depth 15 - Two generators modulo kerπ_k for a corner of H¹
CohCarrier.exists_span_pair_union_ker_smul_eq_top_cornerSubmodule_H1_top_of_isAbsolutelyIrreducible3,101 below · depth 15 - U_q = ± 1 on a ramified local component of H¹(Γ₀(L))
CohCarrier.exists_sq_eq_one_and_heckeT_eq_smul_of_mem_cornerSubmodule_of_not_isUnramifiedAt_of_ringHom1,540 below · depth 15 - Freeness of an ordinary Hecke corner of H¹
CohCarrier.free_cornerSubmodule_H1_of_isAbsolutelyIrreducible_of_ordinary_of_level_trivial_at_p_of_mem_map_unitsMap4,922 below · depth 15 - Ihara: injectivity and varpi-saturation on a non-Eisenstein corner
CohCarrier.injective_and_residual_cornerSubmodule_of_isEis8 below · depth 15 - Ihara's lemma: injectivity and varpi-saturation of level raising
CohCarrier.injective_and_residual_cornerSubmodule_of_isEis_of_dvd4 below · depth 15 - Both degeneracy traces vanish on a q-new local component
CohCarrier.jDeg_apply_eq_zero_of_mem_cornerSubmodule_of_forall_notMem2 below · depth 15 - Level raising at q preserves θ̄-corner components
CohCarrier.levelRaisingComb_mem_cornerSubmodule_of_prime8 below · depth 15 - Level raising at q ∣ N preserves corner components
CohCarrier.levelRaisingComb_mem_cornerSubmodule_of_prime_of_dvd6 below · depth 15 - Non-Eisenstein corners of H¹(Γ₀(N),𝒪) are parabolic
CohCarrier.mem_parabolicHoms_of_mem_cornerSubmodule_H1_of_notMem6 below · depth 15 - Minimal level: corner of H¹ is the anemic localisation
CuspForm.AuxLevel.exists_linearEquiv_cornerSubmodule_baseML_apply_eq_toML_of_squarefree5,345 below · depth 15 - Realising Tₚ in the corner Hecke ring with residual trace
CuspForm.heckeLocal.exists_corner_smul_eq_heckeT_residueChar_gammaZero5,330 below · depth 15 - Annihilated elements lie in the corner of the splitting
IharaLemma.IdempotentSplitting.eq_smul_of_smul_eq_zero0 below · depth 15 - Corner maps of an idempotent splitting are localizations
IharaLemma.IdempotentSplitting.isLocalizedModule_toCorner_maximalIdeal1 below · depth 15 - Finiteness of the corner submodule eV over the base ring
IharaLemma.finite_cornerSubmodule0 below · depth 15 - Idempotent splitting of a finite algebra over a complete local ring
IharaLemma.nonempty_idempotentSplitting_of_finite1 below · depth 15 - Enlarging a commuting family preserves a corner of V
CohCarrier.HeckeData.exists_corner_of_genMap_of_forall_isMaximal4 below · depth 16 - Eichler–Shimura map from H¹ onto the dual of J₀(M')[𝔪]
CohCarrier.exists_ideal_H1_top_to_dual_baseChange_heckeTorsion_jZero_of_isAbsolutelyIrreducible1,409 below · depth 16 - Hecke eigenclass over K from an idempotent corner of H¹
CohCarrier.exists_ringHom_cornerRing_heckeT_eq_smul_of_idempotentSplitting4 below · depth 16 - Two generators for an ordinary p-distinguished corner of H¹
CohCarrier.exists_span_pair_union_ker_smul_eq_top_cornerSubmodule_H1_of_isAbsolutelyIrreducible_of_ordinary_of_level_trivial_at_p_of_mem_infSubgroup4,918 below · depth 16 - Corner rank of H¹ scales by the index [H':H]
CohCarrier.finrank_cornerSubmodule_H1_eq_relIndex_mul_of_not_isEisenstein_subfamily20 below · depth 16 - Rank of a non-Eisenstein corner of H¹(Γ_H(M),𝒪)
CohCarrier.finrank_cornerSubmodule_H1_eq_two_mul_finrank_cornerRing_of_not_isEisenstein264 below · depth 16 - Residual Tₚ is the Frobenius trace on inertia coinvariants
CohCarrier.heckeT_sub_algebraMap_mem_of_isMaximal_of_not_dvd2,654 below · depth 16 - Corestriction descent of corner submodules and corner Hecke rings
CohCarrier.map_jDegL_one_cornerSubmodule_eq_and_exists_algHom_cornerRing_subfamily11 below · depth 16 - Corner rings of an idempotent splitting are module-finite
IharaLemma.IdempotentSplitting.finite_cornerRing0 below · depth 16 - Freeness of the corner ring over a local base
IharaLemma.IdempotentSplitting.free_cornerRing0 below · depth 16 - Idempotent corner realises localisation at a maximal ideal
IharaLemma.isLocalizedModule_toCorner0 below · depth 16 - Balanced ±1 eigenspaces of the conjugation involution on a corner of H¹
CohCarrier.exists_charInvolution_cornerSubmodule_H1_linearEquiv_eigenspace_map_mkQ_of_isAbsolutelyIrreducible1,262 below · depth 17 - Ordinary p-distinguished corner of H¹: free line plus 𝒪-dual
CohCarrier.exists_isCompl_linearEquiv_cornerRing_linearEquiv_dual_cornerSubmodule_H1_of_ordinary_of_level_trivial_at_p_of_mem_infSubgroup4,901 below · depth 17 - Non-Eisenstein corner of H¹(Γ_H(N),𝒪) is parabolic
CohCarrier.mem_parabolicHoms_of_mem_cornerSubmodule_H1_gammaH_of_notMem3 below · depth 17 - Eichler–Shimura: local anemic Hecke algebra as a corner ring
CuspForm.heckeLocal.exists_algEquiv_cornerRing_baseHeckeData_of_not_isEisenstein597 below · depth 17 - Maximal ideal of a splitting as kernel of a residual corner point
IharaLemma.IdempotentSplitting.mem_maxIdeal_iff_apply_toCornerRing_eq_zero0 below · depth 17 - Galois-stable Hecke line and dual quotient mod r in e H¹
CohCarrier.exists_galoisAction_ordinaryLine_mod_cornerSubmodule_H1_of_ordinary_of_level_trivial_at_p_of_mem_infSubgroup4,899 below · depth 18 - Dual Galois module for localised H¹(Γ_H(M)) with Eichler–Shimura relation
CohCarrier.exists_galoisModule_H1_to_dual_charInvolution_frobenius_of_isAbsolutelyIrreducible1,257 below · depth 18 - Newform multiplicity in a local corner of H¹(Γ₀(N),𝒪)
CohCarrier.finrank_range_baseChange_cornerSubmodule_inf_iInf_eigenspace_heckeTL_eq_two_mul_prod_sum_rootMultiplicity274 below · depth 18 - Residual eigenvalues cut out the corner in F ⊗_𝒪 H
CohCarrier.HeckeData.iInf_maxGenEigenspace_baseChange_le_range_and_inf_eq_bot_and_eq_iSup_of_cornerRing_point0 below · depth 19 - Ordinary filtration mod r on a corner of H¹
CohCarrier.exists_galoisAction_ordinaryFiltration_quotient_dual_mod_cornerSubmodule_H1_of_ordinary_of_level_trivial_at_p_of_mem_infSubgroup4,879 below · depth 19 - Perfect antisymmetric pairing on a non-Eisenstein corner of H¹
CohCarrier.exists_perfectPairing_antisymm_cornerSubmodule_H1_of_not_isEisenstein22 below · depth 19 - Ordinary filtration, trace and determinant mod r on a non-Eisenstein corner
CohCarrier.exists_galoisAction_trace_ordinaryFiltration_quotient_dual_mod_cornerSubmodule_H1_of_ordinary_of_not_isEisenstein_of_mem_infSubgroup4,877 below · depth 20 - Ordinary Galois representation on a non-Eisenstein corner of parabolic cohomology
CohCarrier.exists_galoisRep_ordinaryFiltration_cornerSubmodule_parabolicHoms_padicInt_of_ordinary_of_not_isEisenstein_of_mem_infSubgroup4,870 below · depth 22 - Decomposition characters on the multiplicative submodule of TₚJ_H(M)
ModularCurve.exists_decompositionCharacters_multiplicativeSubmodule_cornerSubmodule_tateModule_jH_of_ordinary3,753 below · depth 23 - Rank-one multiplicative submodule at an ordinary non-Eisenstein corner
ModularCurve.exists_generator_multiplicativeSubmodule_cornerSubmodule_tateModule_jH_of_ordinary_of_not_isEisenstein_of_mem_infSubgroup4,863 below · depth 23 - Trace and determinant of Galois on a corner of Tₚ(J_H)
ModularCurve.exists_trace_det_latticeMatrix_tateGaloisRep_cornerSubmodule_tateModule_jH1,379 below · depth 23 - Adapted basis of the p-ordinary corner of Tₚ J_H
ModularCurve.exists_adaptedLatticeBasis_inertiaEigenspace_cornerSubmodule_tateModule_jH_of_ordinary3,684 below · depth 24 - Multiplicity one mod 𝔪 for the ordinary multiplicative part
ModularCurve.exists_forall_sub_smul_mem_maximalIdeal_smul_multiplicativeSubmodule_tateModule_jH_of_ordinary_of_not_isEisenstein_of_mem_infSubgroup4,783 below · depth 24 - Frobenius at p acts as Uₚ⟨ d⟩ on ordinary corner
ModularCurve.exists_tateGaloisRep_frobenius_sub_U_mul_diamond_smul_eq_cyclotomicCharacter_smul_of_isFrobeniusAt_cornerSubmodule_tateModule_jH_of_ordinary3,500 below · depth 24 - Inertia acts by the cyclotomic character on an ordinary corner
ModularCurve.tateGaloisRep_smul_sub_eq_cyclotomicCharacter_smul_of_mem_inertiaSubgroupIn_cornerSubmodule_tateModule_jH_of_ordinary3,405 below · depth 24 - Adapted corner-lattice basis from an involution and a similitude
GaloisLattice.exists_adaptedBasis_cornerSubmodule_of_involution_of_similitudePairing5 below · depth 25 - Frobenius on the multiplicative part of an ordinary factor
ModularCurve.exists_U_mul_diamond_smul_tateGaloisRep_frobenius_eq_cyclotomicCharacter_smul_of_forall_inertia_cornerSubmodule_tateModule_jH_of_ordinary3,453 below · depth 25 - Ordinary multiplicative submodule dual to mod-p two-cusp eigenspace
ModularCurve.exists_linearMap_bijOn_semilinearMaps_multiplicativeSubmodule_tateModule_jH_twoCuspEigenspace_of_ordinary_of_mem_infSubgroup4,749 below · depth 25 - Corner of a free module is free over the corner ring
IharaLemma.IdempotentSplitting.exists_basis_cornerSubmodule_coe_eq_smul0 below · depth 26 - Ordinary idempotent on a p-divisible subgroup of J_H
ModularCurve.exists_bialgHom_family_idempotent_inverse_U_of_cornerIdempotent_tateModule_jH293 below · depth 26 - Mod-p two-cusp forms dual to the multiplicative part
ModularCurve.exists_linearMap_injective_range_eq_dual_multiplicativeSubmodule_tateModule_jH_twoCuspForms_of_ordinary_of_mem_infSubgroup4,747 below · depth 26 - Ordinary duality: multiplicative part of TₚJ_H and polar differentials
ModularCurve.exists_linearMap_injective_range_eq_dual_multiplicativeSubmodule_tateModule_jH_ssPolarDifferentials_of_ordinary_of_mem_infSubgroup4,616 below · depth 27 - Dual of P⁰ embeds in supersingular-polar differentials
ModularCurve.exists_linearMap_injective_range_eq_dual_multiplicativeSubmodule_ssPolarDifferentials_of_jHNeronObjectAtP_of_twoCompRegularDifferentials_of_ordinary_torusCoords_of_mem_infSubgroup4,608 below · depth 28 - Hecke-self-adjoint pairings stay non-degenerate on idempotent corners
ModularCurve.bilinForm_nondegenerate_on_map_proj_cornerSubmodule_tateModule_jH_of_selfAdjoint378 below · depth 29 - Hecke-equivariant dlog from J_H[p] to supersingular polar differentials
ModularCurve.exists_addMonoidHom_torsion_ssPolarDifferentials_dlog_of_ordinary_of_mem_infSubgroup4,602 below · depth 29 - Image of P⁰ in J_H[p]: cyclotomic inertia part, finite
ModularCurve.mem_map_proj_multiplicativeSubmodule_iff_inertia_cyclotomic_and_map_proj_le_finPts_of_ordinary13 below · depth 29 - Half-rank of the inertia-cyclotomic part of the ordinary corner
ModularCurve.ncard_inertiaCyclotomic_sq_eq_ncard_map_proj_cornerSubmodule_tateModule_jH_of_ordinary3,439 below · depth 29 - Inertia-cyclotomic p-torsion classes lie in the finite part
ModularCurve.JHNeronObjectAtP.mem_finPts_of_inertia_cyclotomic2 below · depth 30 - 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 - 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 - Ordinary corner of p-torsion spans inside τ(e) Ω
ModularCurve.span_image_corner_le_range_of_addMonoidHom_torsion_ssPolarDifferentials0 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 - Cyclotomic inertia forces finite-part points to reduce to one
ModularCurve.JHNeronObjectAtP.reducesToOne_of_inertia_cyclotomic_of_mem_finPts21 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 - Toric and finite p-torsion: product of orders equals #J[p]
ModularCurve.JHNeronObjectAtP.toricPts_le_torsion_and_finPts_le_torsion_and_natCard_mul_natCard_eq_of_representsRelSubPicLevel3,049 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 - Descent of a Hecke idempotent to J_H[p]
ModularCurve.exists_addMonoidHom_torsion_proj_smul_eq_of_isIdempotentElem_tateModule_jH263 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 - 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 - 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 - 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