Definitions/Def_CuspForm_CornerPairingFamily.lean
Chosen pairings on parabolic classes at all levels
Fix a commutative ring \mathcal O. For a level M, a subgroup H\le(\mathbb Z/M)^\times and a datum h_1:\mathrm{LevelLE}\,M\,M\,\top\,H\,1, write W(M,H) for the submodule of H^1(M,H,\mathcal O)=\mathrm{Hom}(\mathrm{Additive}\,\Gamma_H(M,H),\mathcal O) obtained as the image under iDegL M M β€ H 1 (restriction along the inclusion \Gamma_H(M,H)\to\Gamma_H(M,\top)=\Gamma_0(M)) of ModularCurve.Period.parabolicHoms, i.e. of those additive characters of \Gamma_0(M) that vanish on every element whose matrix trace has square 4. Two predicates are defined on families B=(B_{M,H,h_1}) of \mathcal O-bilinear forms W(M,H)\times W(M,H)\to\mathcal O. LevelBlock asks, for every M\ne 0 and every H whose index [(\mathbb Z/M)^\times:H] is a unit in \mathcal O: that B_{M,H,h_1} be bijective as a map W(M,H)\to\mathrm{Hom}_{\mathcal O}(W(M,H),\mathcal O); that for each \ell\ne 0 which is prime or divides M and for elements x,y,Tx,Ty of W(M,H) whose underlying characters satisfy Tx=\mathrm{heckeT}_\ell x and Ty=\mathrm{heckeT}_\ell y one has B(Tx,y)=B(x,Ty); and that diamondL at every d\in(\mathbb Z/M)^\times fix each element of W(M,H). DegeneracyBlock asks, for h:\mathrm{LevelLE}\,M\,M'\,H\,H'\,d and h':\mathrm{LevelLE}\,M\,M'\,H\,H'\,d' with dd'=M'/M, with H' the full preimage of H under ZMod.unitsMap and both indices units, that B_{M,H,h_1}(jy,x)=B_{M',H',h_1'}(y,ix) whenever ix and jy have underlying characters \mathrm{iDegL}\,x and \mathrm{jDegL}\,y. CuspForm.Bfam πͺ is then a family chosen by Classical.epsilon to satisfy both blocks when such a family exists.
In the corner section, for corner data cd : H1CornerData M H πͺ π (an idempotent splitting of \mathbb T, an index, and a level pairing on the corresponding corner submodule of H^1) and a hypothesis hW placing that corner submodule inside W(M,H), cornerInclusion is the resulting \mathcal O-linear inclusion, cornerRestrict is Bfam πͺ M H hβ restricted along it in both arguments, and pairing_eq_cornerRestrict_iff states that the corner datum's own pairing equals this restriction exactly when the two agree on all pairs of elements. The Bfamβ section repeats the construction for H=\top on parabolicHoms itself: Bfamβ.Block requires bijectivity, self-adjointness of heckeT for every \ell\ne 0 and of diamondL for every d (rather than triviality of the diamonds), together with the same degeneracy compatibility at H=H'=\top, and Bfamβ πͺ is a family chosen to satisfy it.
Relation to Mathlib
Mathlib has no pairing on parabolic cohomology of congruence subgroups; the carriers (CohCarrier.H1, parabolicHoms, the Hecke, diamond and degeneracy operators) and both pairing families are the project's own, built on Mathlib's congruence subgroups, transfer and LinearMap.complββ, with the choice made by Mathlib's Classical.epsilon.
Where it is used
These named pairings let statements about Hecke modules at the various levels of the tower used in modularity lifting (\Gamma_0(N)\cap\Gamma_1(r), its p-level and its auxiliary TaylorβWiles levels) refer to one and the same pairing at each level, instead of carrying a family together with its perfectness, Hecke-adjointness and degeneracy-adjointness hypotheses. The corner constructions transport such a pairing to the summand cut out by an idempotent of a Hecke algebra, which is the shape required by the Ihara-style rung data.
References
- H. Darmon, F. Diamond and R. Taylor, Fermat's Last Theorem, in: Current Developments in Mathematics 1995, International Press, 1995, 1β154, Β§4.4
- R. Taylor and A. Wiles, Ring-theoretic properties of certain Hecke algebras, Annals of Mathematics 141 (1995), 553β572
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 148 lines
- 10 declarations
- used in the statements of 11 theorems and imported by 12 proofs
- imports 3 definition modules
Source file: Definitions/Def_CuspForm_CornerPairingFamily.lean
Imported by
Declarations
- def
CuspForm.Bfam.LevelBlock - def
CuspForm.Bfam.DegeneracyBlock - def
CuspForm.Bfam - def
CuspForm.Bfam.cornerInclusion - theorem
CuspForm.Bfam.cornerInclusion_apply - def
CuspForm.Bfam.cornerRestrict - theorem
CuspForm.Bfam.cornerRestrict_apply - theorem
CuspForm.Bfam.pairing_eq_cornerRestrict_iff - def
CuspForm.Bfamβ.Block - def
CuspForm.Bfamβ
Source
import Definitions.Def_CohCarrier_Inst import Definitions.Def_ModularCurve_PeriodMap import Definitions.Def_CohCarrier_LevelPairing set_option autoImplicit false set_option linter.unusedVariables false noncomputable section namespace CuspForm open CohCarrier IharaLemma IharaTower namespace Bfam variable (πͺ : Type) [CommRing πͺ] def LevelBlock (B : (M : β) β (H : Subgroup (ZMod M)Λ£) β (hβ : LevelLE M M β€ H 1) β β₯((ModularCurve.Period.parabolicHoms πͺ (GammaH M β€) πͺ).map (iDegL M M β€ H 1 πͺ πͺ hβ)) ββ[πͺ] β₯((ModularCurve.Period.parabolicHoms πͺ (GammaH M β€) πͺ).map (iDegL M M β€ H 1 πͺ πͺ hβ)) ββ[πͺ] πͺ) : Prop := β (M : β) [NeZero M] (H : Subgroup (ZMod M)Λ£) (hβ : LevelLE M M β€ H 1), IsUnit ((H.index : β) : πͺ) β Function.Bijective (B M H hβ) β§ (β (β : β) [NeZero β], (β.Prime β¨ β β£ M) β β (x y Tx Ty : β₯((ModularCurve.Period.parabolicHoms πͺ (GammaH M β€) πͺ).map (iDegL M M β€ H 1 πͺ πͺ hβ))), (Tx : H1 M H πͺ) = heckeT M H β πͺ x β (Ty : H1 M H πͺ) = heckeT M H β πͺ y β B M H hβ Tx y = B M H hβ x Ty) β§ (β (d : (ZMod M)Λ£) (x : β₯((ModularCurve.Period.parabolicHoms πͺ (GammaH M β€) πͺ).map (iDegL M M β€ H 1 πͺ πͺ hβ))), diamondL M H πͺ d (x : H1 M H πͺ) = x) def DegeneracyBlock (B : (M : β) β (H : Subgroup (ZMod M)Λ£) β (hβ : LevelLE M M β€ H 1) β β₯((ModularCurve.Period.parabolicHoms πͺ (GammaH M β€) πͺ).map (iDegL M M β€ H 1 πͺ πͺ hβ)) ββ[πͺ] β₯((ModularCurve.Period.parabolicHoms πͺ (GammaH M β€) πͺ).map (iDegL M M β€ H 1 πͺ πͺ hβ)) ββ[πͺ] πͺ) : Prop := β (M M' : β) [NeZero M] [NeZero M'] (H : Subgroup (ZMod M)Λ£) (H' : Subgroup (ZMod M')Λ£) (hβ : LevelLE M M β€ H 1) (hβ' : LevelLE M' M' β€ H' 1) (d d' : β) [NeZero d] [NeZero d'] (h : LevelLE M M' H H' d) (h' : LevelLE M M' H H' d') (hdd' : d * d' = M' / M) (hH' : β u : (ZMod M')Λ£, u β H' β ZMod.unitsMap h.dvd u β H), IsUnit ((H.index : β) : πͺ) β IsUnit ((H'.index : β) : πͺ) β β (x : β₯((ModularCurve.Period.parabolicHoms πͺ (GammaH M β€) πͺ).map (iDegL M M β€ H 1 πͺ πͺ hβ))) (y : β₯((ModularCurve.Period.parabolicHoms πͺ (GammaH M' β€) πͺ).map (iDegL M' M' β€ H' 1 πͺ πͺ hβ'))) (ix : β₯((ModularCurve.Period.parabolicHoms πͺ (GammaH M' β€) πͺ).map (iDegL M' M' β€ H' 1 πͺ πͺ hβ'))) (jy : β₯((ModularCurve.Period.parabolicHoms πͺ (GammaH M β€) πͺ).map (iDegL M M β€ H 1 πͺ πͺ hβ))), (ix : H1 M' H' πͺ) = iDegL M M' H H' d πͺ πͺ h x β (jy : H1 M H πͺ) = jDegL M M' H H' d' πͺ πͺ h' y β B M H hβ jy x = B M' H' hβ' y ix end Bfam def Bfam (πͺ : Type) [CommRing πͺ] : (M : β) β (H : Subgroup (ZMod M)Λ£) β (hβ : LevelLE M M β€ H 1) β β₯((ModularCurve.Period.parabolicHoms πͺ (GammaH M β€) πͺ).map (iDegL M M β€ H 1 πͺ πͺ hβ)) ββ[πͺ] β₯((ModularCurve.Period.parabolicHoms πͺ (GammaH M β€) πͺ).map (iDegL M M β€ H 1 πͺ πͺ hβ)) ββ[πͺ] πͺ := Classical.epsilon fun B => Bfam.LevelBlock πͺ B β§ Bfam.DegeneracyBlock πͺ B namespace Bfam section Corner variable (πͺ : Type) [CommRing πͺ] (M : β) (H : Subgroup (ZMod M)Λ£) (hβ : LevelLE M M β€ H 1) variable {π : Type} [CommRing π] [Algebra πͺ π] [Module π (H1 M H πͺ)] [IsScalarTower πͺ π (H1 M H πͺ)] def cornerInclusion (cd : H1CornerData (πͺ := πͺ) M H πͺ π) (hW : β v : H1 M H πͺ, v β cornerSubmodule (M := H1 M H πͺ) (cd.split.e cd.idx) β v β (ModularCurve.Period.parabolicHoms πͺ (GammaH M β€) πͺ).map (iDegL M M β€ H 1 πͺ πͺ hβ)) : cd.cornerModule ββ[πͺ] β₯((ModularCurve.Period.parabolicHoms πͺ (GammaH M β€) πͺ).map (iDegL M M β€ H 1 πͺ πͺ hβ)) where toFun x := β¨x, hW _ x.2β© map_add' _ _ := rfl map_smul' _ _ := rfl @[simp] theorem cornerInclusion_apply (cd : H1CornerData (πͺ := πͺ) M H πͺ π) (hW : β v : H1 M H πͺ, v β cornerSubmodule (M := H1 M H πͺ) (cd.split.e cd.idx) β v β (ModularCurve.Period.parabolicHoms πͺ (GammaH M β€) πͺ).map (iDegL M M β€ H 1 πͺ πͺ hβ)) (x : cd.cornerModule) : cornerInclusion πͺ M H hβ cd hW x = β¨x, hW _ x.2β© := rfl def cornerRestrict (cd : H1CornerData (πͺ := πͺ) M H πͺ π) (hW : β v : H1 M H πͺ, v β cornerSubmodule (M := H1 M H πͺ) (cd.split.e cd.idx) β v β (ModularCurve.Period.parabolicHoms πͺ (GammaH M β€) πͺ).map (iDegL M M β€ H 1 πͺ πͺ hβ)) : cd.cornerModule ββ[πͺ] cd.cornerModule ββ[πͺ] πͺ := (Bfam πͺ M H hβ).complββ (cornerInclusion πͺ M H hβ cd hW) (cornerInclusion πͺ M H hβ cd hW) @[simp] theorem cornerRestrict_apply (cd : H1CornerData (πͺ := πͺ) M H πͺ π) (hW : β v : H1 M H πͺ, v β cornerSubmodule (M := H1 M H πͺ) (cd.split.e cd.idx) β v β (ModularCurve.Period.parabolicHoms πͺ (GammaH M β€) πͺ).map (iDegL M M β€ H 1 πͺ πͺ hβ)) (x y : cd.cornerModule) : cornerRestrict πͺ M H hβ cd hW x y = Bfam πͺ M H hβ β¨x, hW _ x.2β© β¨y, hW _ y.2β© := rfl theorem pairing_eq_cornerRestrict_iff (cd : H1CornerData (πͺ := πͺ) M H πͺ π) (hW : β v : H1 M H πͺ, v β cornerSubmodule (M := H1 M H πͺ) (cd.split.e cd.idx) β v β (ModularCurve.Period.parabolicHoms πͺ (GammaH M β€) πͺ).map (iDegL M M β€ H 1 πͺ πͺ hβ)) : cd.pairing.B = cornerRestrict πͺ M H hβ cd hW β β x y : cd.cornerModule, cd.pairing.B x y = Bfam πͺ M H hβ β¨x, hW _ x.2β© β¨y, hW _ y.2β© := by constructor Β· intro h x y rw [h] rfl Β· intro h exact LinearMap.extβ fun x y => h x y end Corner end Bfam namespace Bfamβ variable (πͺ : Type) [CommRing πͺ] def Block (B : (M : β) β β₯(ModularCurve.Period.parabolicHoms πͺ (CohCarrier.GammaH M β€) πͺ) ββ[πͺ] β₯(ModularCurve.Period.parabolicHoms πͺ (CohCarrier.GammaH M β€) πͺ) ββ[πͺ] πͺ) : Prop := (β (M : β) [NeZero M], Function.Bijective (B M) β§ (β (β : β) [NeZero β] (x y Tx Ty : β₯(ModularCurve.Period.parabolicHoms πͺ (CohCarrier.GammaH M β€) πͺ)), (Tx : CohCarrier.H1 M β€ πͺ) = CohCarrier.heckeT M β€ β πͺ x β (Ty : CohCarrier.H1 M β€ πͺ) = CohCarrier.heckeT M β€ β πͺ y β B M Tx y = B M x Ty) β§ (β (d : (ZMod M)Λ£) (x y Dx Dy : β₯(ModularCurve.Period.parabolicHoms πͺ (CohCarrier.GammaH M β€) πͺ)), (Dx : CohCarrier.H1 M β€ πͺ) = CohCarrier.diamondL M β€ πͺ d x β (Dy : CohCarrier.H1 M β€ πͺ) = CohCarrier.diamondL M β€ πͺ d y β B M Dx y = B M x Dy)) β§ (β (M M' : β) [NeZero M'] (d d' : β) [NeZero d] [NeZero d'] (h : CohCarrier.LevelLE M M' β€ β€ d) (h' : CohCarrier.LevelLE M M' β€ β€ d') (hdd' : d * d' = M' / M) (x : β₯(ModularCurve.Period.parabolicHoms πͺ (CohCarrier.GammaH M β€) πͺ)) (y : β₯(ModularCurve.Period.parabolicHoms πͺ (CohCarrier.GammaH M' β€) πͺ)) (ix : β₯(ModularCurve.Period.parabolicHoms πͺ (CohCarrier.GammaH M' β€) πͺ)) (jy : β₯(ModularCurve.Period.parabolicHoms πͺ (CohCarrier.GammaH M β€) πͺ)), (ix : CohCarrier.H1 M' β€ πͺ) = CohCarrier.iDegL M M' β€ β€ d πͺ πͺ h x β (jy : CohCarrier.H1 M β€ πͺ) = CohCarrier.jDegL M M' β€ β€ d' πͺ πͺ h' y β B M jy x = B M' y ix) end Bfamβ def Bfamβ (πͺ : Type) [CommRing πͺ] : (M : β) β β₯(ModularCurve.Period.parabolicHoms πͺ (CohCarrier.GammaH M β€) πͺ) ββ[πͺ] β₯(ModularCurve.Period.parabolicHoms πͺ (CohCarrier.GammaH M β€) πͺ) ββ[πͺ] πͺ := Classical.epsilon (Bfamβ.Block πͺ) end CuspForm end
Statements phrased using this module (11)
- Degeneracy adjointness of the chosen pairing family B
CuspForm.Bfam.degeneracyBlock21 below Β· depth 11 - Level block for the chosen pairing family B
CuspForm.Bfam.levelBlock21 below Β· depth 11 - Free corner datum on HΒΉ(Ξβ(N)β©Ξβ(r),πͺ) with Ξ£-pin
CuspForm.heckeLocal.exists_h1CornerData_fullCorner_sigmaPin_pairing_eq_bfam_and_free8,310 below Β· depth 11 - Full Ξ£-corner at level Nr with B-family pairing
CuspForm.heckeLocal.exists_h1CornerData_fullCorner_pairing_eq_bfam_sigmaResidue_guarded5,582 below Β· depth 12 - Freeness of the guarded Ξ£-corner over its corner ring
CuspForm.heckeLocal.free_cornerModule_of_guardedSigmaCorner_of_absolutelyIrreducible7,462 below Β· depth 12 - Tβ is a unit in the corner ring at auxiliary level Nr
CuspForm.heckeLocal.exists_isUnit_corner_heckeT_residueChar_of_isOrdinaryAt_of_subfamily_point_of_maximalIdeal5,408 below Β· depth 13 - Occurrence of the residual eigensystem in a corner at level Nr
CuspForm.heckeLocal.exists_subfamily_idempotentSplitting_point_level_mul_auxPrime3,918 below Β· depth 13 - Realisation of Tβ in the sub-family corner ring
CuspForm.heckeLocal.exists_corner_smul_eq_heckeT_and_apply_eq_trace_of_subfamily_point5,404 below Β· depth 14 - Level raising at q β£ N: parabolicity, adjointness, Hecke commutation
CohCarrier.levelRaisingComb_mem_parabolicHoms_and_adjoint_and_comm_of_prime_of_dvd18 below Β· depth 15 - Level-raising maps between levels N and NqΒ²: properties
CohCarrier.levelRaisingComb_mem_parabolicHoms_and_adjoint_and_comp_of_prime36 below Β· depth 15 - Chosen pairing family on parabolic cohomology: perfect and adjoint
CuspForm.Bfam0.block14 below Β· depth 15