Definitions/Def_AlgebraicCurve_GluedPic0Functoriality.lean
Semilinear functoriality of the glued degree-zero Picard group
Throughout, F is a field extension of a field K, S is a finite set of ordered pairs of places of F/K (a place being a valuation subring of F containing K, proper and a principal ideal ring), and g is an element of SemilinearAut K F, i.e. a pair consisting of a ring automorphism of F and a ring automorphism baseAut g of K which are compatible with the structure map K \to F. First, transport of values: if f lies in the valuation subring of v and its residue is the image of a \in K, then g \cdot f lies in the valuation subring of g \cdot v with residue the image of baseAut g a. Next, IsNodeStable S g asserts that (g \cdot s_1, g \cdot s_2) \in S for every s \in S; under this hypothesis g induces a permutation nodePerm of S (injectivity of the action on places plus finiteness of S), whose inverse is described explicitly by g^{-1}, and g^{-1} is again node stable. The additive endomorphism baseAutUnitsHom of Additive Kˣ is baseAut g applied to units. On gluing data, triples (D_1, D_2, w) with D_i divisors and w : S \to Additive Kˣ, gluingMap sends such a triple to (g \cdot D_1, g \cdot D_2, t \mapsto \mathrm{baseAut}(g)(w(\mathrm{nodePerm}^{-1} t))); it preserves admissibility (both divisors of degree zero, D_1 vanishing at each s_1 and D_2 at each s_2) and the glued-principal condition, whence admissibleMap on admissible data and, by descent to the quotient, the additive endomorphism glueMap of GluedPic0 K F S. Two identities are recorded: the projection to \mathrm{Pic}^0 \times \mathrm{Pic}^0 carries glueMap to the action of g on each factor, and on the node-unit subgroup glueMap acts by baseAut g on values composed with the inverse node permutation.
Relation to Mathlib
Places, divisors, \mathrm{Pic}^0, the glued Picard group and the group SemilinearAut K F of ring automorphisms of F covering an automorphism of K are all notions of this project; Mathlib supplies the underlying valuation subrings, pointwise group actions on subrings, residue fields and quotient-group machinery.
Where it is used
The glued degree-zero Picard group models the Picard group of a curve obtained by identifying finitely many pairs of places, and its p-power torsion is the source of the Galois representations attached to such curves. The constructions here provide the semilinear (in particular Galois) functoriality of that group, so that the torsion subgroups become modules over the relevant automorphism groups.
References
- J.-P. Serre, Algebraic Groups and Class Fields, Graduate Texts in Mathematics 117, Springer, 1988
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 217 lines
- 18 declarations
- used in the statements of 103 theorems and imported by 118 proofs
- imports 2 definition modules
Source file: Definitions/Def_AlgebraicCurve_GluedPic0Functoriality.lean
Declarations
- theorem
AlgebraicCurve.Place.HasValue.smul - def
AlgebraicCurve.SemilinearAut.IsNodeStable - def
AlgebraicCurve.SemilinearAut.nodePerm - theorem
AlgebraicCurve.SemilinearAut.nodePerm_apply - theorem
AlgebraicCurve.SemilinearAut.nodePerm_symm_apply - theorem
AlgebraicCurve.SemilinearAut.IsNodeStable.inv - def
AlgebraicCurve.SemilinearAut.baseAutUnitsHom - theorem
AlgebraicCurve.SemilinearAut.baseAutUnitsHom_apply - def
AlgebraicCurve.SemilinearAut.gluingMap - theorem
AlgebraicCurve.SemilinearAut.gluingMap_apply - theorem
AlgebraicCurve.SemilinearAut.gluingMap_mem_admissible - theorem
AlgebraicCurve.SemilinearAut.gluingMap_mem_gluedPrincipal - def
AlgebraicCurve.SemilinearAut.admissibleMap - theorem
AlgebraicCurve.SemilinearAut.coe_admissibleMap - def
AlgebraicCurve.GluedPic0.glueMap - theorem
AlgebraicCurve.GluedPic0.glueMap_mk - theorem
AlgebraicCurve.GluedPic0.toPic0Pair_glueMap - theorem
AlgebraicCurve.GluedPic0.glueMap_nodeUnit
Source
import Definitions.Def_AlgebraicCurve_GluedPic0 import Definitions.Def_AlgebraicCurve_BaseChangeGalois noncomputable section open IsLocalRing namespace AlgebraicCurve open scoped Pointwise section Functoriality variable {K F : Type*} [Field K] [Field F] [Algebra K F] theorem Place.HasValue.smul {v : Place K F} {f : F} {a : K} (g : SemilinearAut K F) (h : v.HasValue f a) : (g • v).HasValue (g • f) (SemilinearAut.baseAut g a) := by obtain ⟨hm, hr⟩ := h have hmem : g • f ∈ (g • v).toValuationSubring := by rw [SemilinearAut.smul_toValuationSubring] exact ValuationSubring.smul_mem_pointwise_smul g f v.toValuationSubring hm refine ⟨hmem, ?_⟩ have hx : (⟨g • f, hmem⟩ : (g • v).toValuationSubring) = SemilinearAut.smulValuationSubringEquiv g v.toValuationSubring ⟨f, hm⟩ := by ext rw [SemilinearAut.coe_smulValuationSubringEquiv_apply] rw [hx] have hres : residue ((g • v).toValuationSubring) (SemilinearAut.smulValuationSubringEquiv g v.toValuationSubring ⟨f, hm⟩) = SemilinearAut.smulResidueRingEquiv g v (residue v.toValuationSubring ⟨f, hm⟩) := by rw [SemilinearAut.smulResidueRingEquiv, IsLocalRing.ResidueField.mapEquiv_apply, IsLocalRing.ResidueField.map_residue] rfl rw [hres, hr, SemilinearAut.smulResidueRingEquiv_algebraMap] namespace SemilinearAut variable (S : Finset (Place K F × Place K F)) def IsNodeStable (g : SemilinearAut K F) : Prop := ∀ s ∈ S, (g • s.1, g • s.2) ∈ S variable (g : SemilinearAut K F) def nodePerm (hstab : IsNodeStable S g) : ↥S ≃ ↥S := Equiv.ofBijective (fun s => ⟨(g • (s : Place K F × Place K F).1, g • (s : Place K F × Place K F).2), hstab _ s.2⟩) (Finite.injective_iff_bijective.mp (by intro s t hst have h1 := congrArg (fun z : ↥S => (z : Place K F × Place K F).1) hst have h2 := congrArg (fun z : ↥S => (z : Place K F × Place K F).2) hst apply Subtype.ext refine Prod.ext ?_ ?_ · exact MulAction.injective g (by simpa using h1) · exact MulAction.injective g (by simpa using h2))) @[simp] theorem nodePerm_apply (hstab : IsNodeStable S g) (s : ↥S) : (nodePerm S g hstab s : Place K F × Place K F) = (g • (s : Place K F × Place K F).1, g • (s : Place K F × Place K F).2) := rfl theorem nodePerm_symm_apply (hstab : IsNodeStable S g) (t : ↥S) : ((nodePerm S g hstab).symm t : Place K F × Place K F) = (g⁻¹ • (t : Place K F × Place K F).1, g⁻¹ • (t : Place K F × Place K F).2) := by have h := nodePerm_apply S g hstab ((nodePerm S g hstab).symm t) rw [Equiv.apply_symm_apply] at h refine Prod.ext ?_ ?_ · rw [eq_inv_smul_iff] exact (congrArg Prod.fst h).symm · rw [eq_inv_smul_iff] exact (congrArg Prod.snd h).symm theorem IsNodeStable.inv (hstab : IsNodeStable S g) : IsNodeStable S g⁻¹ := by intro s hs have hsym := nodePerm_symm_apply S g hstab ⟨s, hs⟩ exact hsym ▸ ((nodePerm S g hstab).symm ⟨s, hs⟩).2 def baseAutUnitsHom : Additive Kˣ →+ Additive Kˣ := AddMonoidHom.mk' (fun x => Additive.ofMul (Units.map ((baseAut g : K →+* K) : K →* K) x.toMul)) (fun x y => by simp) @[simp] theorem baseAutUnitsHom_apply (x : Additive Kˣ) : baseAutUnitsHom g x = Additive.ofMul (Units.map ((baseAut g : K →+* K) : K →* K) x.toMul) := rfl def gluingMap (hstab : IsNodeStable S g) : GluingData K F S →+ GluingData K F S := AddMonoidHom.mk' (fun x => (g • x.1, g • x.2.1, fun t => baseAutUnitsHom g (x.2.2 ((nodePerm S g hstab).symm t)))) (fun x y => by refine Prod.ext ?_ (Prod.ext ?_ ?_) · simp [smul_add] · simp [smul_add] · funext t simp) @[simp] theorem gluingMap_apply (hstab : IsNodeStable S g) (x : GluingData K F S) : gluingMap S g hstab x = (g • x.1, g • x.2.1, fun t => baseAutUnitsHom g (x.2.2 ((nodePerm S g hstab).symm t))) := rfl theorem gluingMap_mem_admissible (hstab : IsNodeStable S g) {x : GluingData K F S} (hx : x ∈ GluingData.admissible S) : gluingMap S g hstab x ∈ GluingData.admissible S := by obtain ⟨h₁, h₂, hav⟩ := hx refine ⟨smul_mem_degZero g h₁, smul_mem_degZero g h₂, fun s hs => ?_⟩ obtain ⟨hz₁, hz₂⟩ := hav _ (IsNodeStable.inv S g hstab s hs) constructor · rw [show (gluingMap S g hstab x).1 = g • x.1 from rfl, divisor_smul_apply] exact hz₁ · rw [show (gluingMap S g hstab x).2.1 = g • x.2.1 from rfl, divisor_smul_apply] exact hz₂ theorem gluingMap_mem_gluedPrincipal (hstab : IsNodeStable S g) {x : GluingData K F S} (hx : GluingData.IsGluedPrincipal S x) : GluingData.IsGluedPrincipal S (gluingMap S g hstab x) := by obtain ⟨g₁, g₂, a, b, hg₁, hg₂, h₁, h₂, hv, hw⟩ := hx refine ⟨g • g₁, g • g₂, fun t => Units.map ((baseAut g : K →+* K) : K →* K) (a ((nodePerm S g hstab).symm t)), fun t => Units.map ((baseAut g : K →+* K) : K →* K) (b ((nodePerm S g hstab).symm t)), by simpa using hg₁, by simpa using hg₂, fun v => ?_, fun v => ?_, fun t => ⟨?_, ?_⟩, ?_⟩ · rw [show (gluingMap S g hstab x).1 = g • x.1 from rfl, divisor_smul_apply, h₁ (g⁻¹ • v)] have h := ord_smul g (g⁻¹ • v) g₁ rw [smul_inv_smul] at h exact h.symm · rw [show (gluingMap S g hstab x).2.1 = g • x.2.1 from rfl, divisor_smul_apply, h₂ (g⁻¹ • v)] have h := ord_smul g (g⁻¹ • v) g₂ rw [smul_inv_smul] at h exact h.symm · have hs := (hv ((nodePerm S g hstab).symm t)).1 have hres := Place.HasValue.smul g hs have hc : (((nodePerm S g hstab).symm t : Place K F × Place K F)).1 = g⁻¹ • (t : Place K F × Place K F).1 := congrArg Prod.fst (nodePerm_symm_apply S g hstab t) rw [hc, smul_inv_smul] at hres exact hres · have hs := (hv ((nodePerm S g hstab).symm t)).2 have hres := Place.HasValue.smul g hs have hc : (((nodePerm S g hstab).symm t : Place K F × Place K F)).2 = g⁻¹ • (t : Place K F × Place K F).2 := congrArg Prod.snd (nodePerm_symm_apply S g hstab t) rw [hc, smul_inv_smul] at hres exact hres · rw [show (gluingMap S g hstab x).2.2 = fun t => baseAutUnitsHom g (x.2.2 ((nodePerm S g hstab).symm t)) from rfl, hw] funext t simp [div_eq_mul_inv] def admissibleMap (hstab : IsNodeStable S g) : ↥(GluingData.admissible S) →+ ↥(GluingData.admissible S) := ((gluingMap S g hstab).domRestrict (GluingData.admissible S)).codRestrict _ (fun x => gluingMap_mem_admissible S g hstab x.2) @[simp] theorem coe_admissibleMap (hstab : IsNodeStable S g) (x : ↥(GluingData.admissible S)) : (admissibleMap S g hstab x : GluingData K F S) = gluingMap S g hstab (x : GluingData K F S) := rfl end SemilinearAut namespace GluedPic0 open SemilinearAut variable (S : Finset (Place K F × Place K F)) (g : SemilinearAut K F) def glueMap (hstab : IsNodeStable S g) : GluedPic0 K F S →+ GluedPic0 K F S := QuotientAddGroup.map _ _ (admissibleMap S g hstab) (by rintro x hx simp only [AddSubgroup.mem_addSubgroupOf] at hx ⊢ exact gluingMap_mem_gluedPrincipal S g hstab hx) @[simp] theorem glueMap_mk (hstab : IsNodeStable S g) (x : ↥(GluingData.admissible S)) : glueMap S g hstab (mk S x) = mk S (admissibleMap S g hstab x) := rfl theorem toPic0Pair_glueMap (hstab : IsNodeStable S g) (ξ : GluedPic0 K F S) : toPic0Pair S (glueMap S g hstab ξ) = (g • (toPic0Pair S ξ).1, g • (toPic0Pair S ξ).2) := by obtain ⟨x, rfl⟩ := mk_surjective S ξ rw [glueMap_mk, toPic0Pair_mk, toPic0Pair_mk] refine Prod.ext ?_ ?_ · rw [pic0_smul_mk] exact congrArg Pic0.mk (Subtype.ext (by rw [coe_degZeroSMulHom]; rfl)) · rw [pic0_smul_mk] exact congrArg Pic0.mk (Subtype.ext (by rw [coe_degZeroSMulHom]; rfl)) theorem glueMap_nodeUnit (hstab : IsNodeStable S g) (w : ↥S → Additive Kˣ) : glueMap S g hstab (nodeUnit S w) = nodeUnit S (fun t => baseAutUnitsHom g (w ((nodePerm S g hstab).symm t))) := by rw [nodeUnit_apply, nodeUnit_apply, glueMap_mk] refine congrArg (mk S) (Subtype.ext ?_) rw [coe_admissibleMap] refine Prod.ext ?_ (Prod.ext ?_ ?_) · show g • (0 : Divisor K F) = 0 exact smul_zero g · show g • (0 : Divisor K F) = 0 exact smul_zero g · rfl end GluedPic0 end Functoriality end AlgebraicCurve end
Statements phrased using this module (103)
- Frobenius node permutation is an involution
ModularCurve.nodePerm_arithFrobC_nodePerm_of_forall_smul_smul_eq0 below · depth 10 - Néron object for J_H(M) at p ∥ M with torus coordinates
ModularCurve.JHNeronObjectAtP.exists_levelData_representsRelSubPic_dictionary_of_xHDRModelAtP_torusCoords2,647 below · depth 11 - Toric-by-finite filtration of Tₚ J_H(M) at p ∥ M
ModularCurve.JHNeronObjectAtP.exists_toricFiniteFiltration_tateModule_jH_self70 below · depth 11 - Frobenius acts as Uₚ on toric ℓ^k-torsion
ModularCurve.JHNeronObjectAtP.genOpH_U_smul_eq_cyclotomicCharacter_toZModPow_smul_of_mem_toricPts123 below · depth 11 - Frobenius on node units: p-th power twisted by the crossing permutation
ModularCurve.JHNeronObjectAtP.ptsSp_symm_eq_nodeUnit_pow_comp_frobPerm_of_isFrobeniusAt100 below · depth 11 - Uₚ permutes node units of the glued Picard group by σ
ModularCurve.JHNeronObjectAtP.ptsSp_symm_hecke_U_nodeUnit_eq_nodeUnit_comp62 below · depth 11 - Comparison of the H=top and Igusa integral models
ModularCurve.exists_iso_xHDRLevel_top_drLevel_epsInf_pointEquivPlace191 below · depth 11 - Finite and toric parts transport from Jₜop(N₀p) to J₀(N₀p)
ModularCurve.map_finPts_jHNeronObjectAtP_top_eq_and_map_toricPts_eq_of_pic0Congr_of_bridge136 below · depth 11 - Frobenius equivariance of the special-fibre dictionary for J_H(M)
ModularCurve.JHNeronObjectAtP.ptsSp_symm_frobeniusTwist_eq_glueMap_of_pointReduction99 below · depth 12 - Special fibre of the second degeneracy pull-back on Pic⁰
ModularCurve.JHNeronObjectAtP.ptsSp_symm_schemeHomOverComp_ptsSp_degPull_one_eq_mk_of_forall_apply_eq_zero_of_pullbackAlong986 below · depth 12 - Degeneracy morphisms D → D₀ and Ribet's special-fibre formula
ModularCurve.XHDRModelAtP.exists_degeneracyHom_mul_pts_special1,698 below · depth 12 - Glued special-fibre dictionary for relative Pic⁰ at p ‖ M
ModularCurve.XHDRModelAtP.exists_ptsSp_gluedPic0_dictionary_specialFibre1,294 below · depth 12 - Special-fibre Pic⁰ dictionary for the level-Γ_N model
ModularCurve.XHDRModelAtP.exists_ptsSp_levelN_pic0_equiv_of_representsRelSubPic1,183 below · depth 12 - Matching the generic and special Pic⁰ dictionaries by an A-section
ModularCurve.XHDRModelAtP.exists_schemeHomOver_pts_eq_and_ptsSp_symm_eq_mk_of_sameComponent30 below · depth 12 - Push-down and reduction agree on level-(M/p) dictionaries
ModularCurve.XHDRModelAtP.exists_schemeHomOver_pts_levelN_degPts_eq_and_ptsSp_levelN_symm_eq_mk166 below · depth 12 - Degeneracy pull-backs match the point dictionaries
ModularCurve.XHDRModelAtP.pts_alphaPull_eq_pts_levelN_comp_degPull364 below · depth 12 - Special fibre of the degeneracy pull-backs on Pic⁰ coordinates
ModularCurve.XHDRModelAtP.toPic0Pair_ptsSp_symm_schemeHomOverComp_degPull_eq1,100 below · depth 12 - Pull-back along φ⁻¹ intertwines the two Abel–Jacobi dictionaries
ModularCurve.jZeroNeronObjectAtP_pts_pic0Congr_eq_pts_comp_pullbackHom_of_modelIso_levelData66 below · depth 12 - Poincaré bundle at ℚ̄-points of the integral model
ModularCurve.XHDRModelAtP.nonempty_poincare_pullbackAlong_iso_ofPoint_tensor_ofPoint_idealModule_of_eq_comp_ajbar15 below · depth 13 - Special-fibre formula for the degeneracy push-forwards at p ∥ M
ModularCurve.XHDRModelAtP.ptsSp_levelN_symm_schemeHomOverComp_degeneracyHom_eq_of_pts_levelN_degPts_eq_comp1,637 below · depth 13 - Degeneracy push-forwards as norm homomorphisms on ℚ̄-points
ModularCurve.XHDRModelAtP.pts_levelN_degPts_eq_comp_degeneracyHom_of_classifies_normModule230 below · depth 13 - Coefficient automorphisms stabilise the supersingular node pairs
ModularCurve.isNodeStable_nodePairsOfPlaces_arithFrobC_coeffSemilinearAut19 below · depth 13 - Surjectivity of the degeneracy push-forward on Pic⁰
ModularCurve.JHNeronObjectAtP.degPts_zero_surjective_of_pushforwardAlong140 below · depth 23 - Inertia-invariant torsion of J_H(M) bounded by finite part
ModularCurve.JHNeronObjectAtP.exists_forall_natCard_torsion_inf_inertiaInvariants_le_natCard_finPts_mul_of_abelJacobiPin_of_wgen2,584 below · depth 23 - Reduction of the finite part of T_ℓ J_H(M) and Uₚ
ModularCurve.JHNeronObjectAtP.exists_linearMap_finiteSubmodule_tateModule_jH_toPic0Pair_of_ne121 below · depth 23 - p-old lattice in T_ℓ J_H(M) for p ∥ M
ModularCurve.JHNeronObjectAtP.exists_oldLattice_inf_toricLattice_eq_bot_and_finiteLattice_le_sup_tateModule_jH_of_ne1,445 below · depth 23 - The p-old lattice in Tₚ J_H(M) at p ∥ M
ModularCurve.JHNeronObjectAtP.exists_oldLattice_inf_toricLattice_eq_bot_and_finiteLattice_le_sup_tateModule_jH_self1,489 below · depth 23 - Toric Tate vectors as inertia coboundaries up to bounded ℓ-power
ModularCurve.JHNeronObjectAtP.exists_pow_smul_mem_span_inertia_sub_of_mem_toricLattice_tateModule_jH_of_abelJacobiPin_of_atkinLehner3,373 below · depth 23 - Uₚ preserves the reduction domain and shifts node units by σ
ModularCurve.JHNeronObjectAtP.genOpH_U_mem_and_sp_genOpH_U_eq_nodeUnit_comp63 below · depth 23 - Additivity of the level-M/p point dictionaries Λ
ModularCurve.JHNeronObjectAtP.levelData_pts_add_and_ptsSp_add_of_surjective_degPts0 below · depth 23 - Diamond ⟨ d⟩ acts on the glued special fibre by glueMap
ModularCurve.JHNeronObjectAtP.ptsSp_symm_schemeHomOverComp_hecke_dia_eq_glueMap61 below · depth 23 - Uₚ and Frobenius on the toric lattice at ℓ=p
ModularCurve.JHNeronObjectAtP.tateGenOpH_U_comp_tateGaloisRep_frobenius_eq_cyclotomicCharacter_smul_of_mem_toricLattice_of_eq71 below · depth 23 - Block form of Uₚ on the glued Pic⁰ pair
ModularCurve.JHNeronObjectAtP.toPic0Pair_ptsSp_symm_hecke_U_eq_blockOp61 below · depth 23 - Transport between two Néron objects for J_H(M) at p ∥ M
ModularCurve.JHNeronObjectAtP.exists_addEquiv_galois_map_toricPts_eq_map_finPts_eq_of_representsRelSubPic_of_abelianScheme73 below · depth 24 - Inertia reaches the toric part of J_H(M)
ModularCurve.JHNeronObjectAtP.exists_forall_mem_toricPts_exists_smul_sub_eq_of_coprime_of_abelJacobiPin_of_atkinLehner3,370 below · depth 24 - Abel–Jacobi-pinned Néron object for J_H(M) at p ∥ M
ModularCurve.JHNeronObjectAtP.exists_levelData_representsRelSubPic_level_abelJacobiPin_of_xHDRModelAtP_of_atkinLehner2,648 below · depth 24 - Bounded exponent for the degeneracy push–pull kernel on torsion
ModularCurve.JHNeronObjectAtP.exists_nsmul_eq_zero_of_forall_degPts_pull_add_pull_eq_zero1,247 below · depth 24 - Good inertia-invariant classes of J_H(M) extend over A
ModularCurve.JHNeronObjectAtP.extendsToPlace_pts_of_isGoodClass_of_abelJacobiPin_offDiag1,228 below · depth 24 - Galois-equivariant transport between two Néron objects at p
ModularCurve.JHNeronObjectAtP.exists_addEquiv_galois_map_toricPts_eq_map_finPts_eq_of_representsRelSubPic_of_ptsLaw_of_abelianScheme71 below · depth 25 - Transport of the torus along an isomorphism of Néron objects
ModularCurve.JHNeronObjectAtP.exists_baseChange_comp_fst_eq_and_torusFibre_comp_eq_mapDomain_of_iso_of_representsRelSubPic_of_abelianScheme69 below · depth 25 - A power of Uₚ as Frobenius convolved with Verschiebung
ModularCurve.JHNeronObjectAtP.exists_pow_cartierDual_reduction_U_eq_frobenius_conv_verschiebung_of_finPtsWitness_of_isDiscreteValuationRing_of_bridge2,707 below · depth 25 - Orthogonal of the toric lattice in Tₚ J_H(M)
ModularCurve.JHNeronObjectAtP.exists_pow_smul_mem_toricLattice_sup_oldLattice_of_forall_weilPairing_eq_zero469 below · depth 25 - Inertia differences specialise into node units on J_H(M)
ModularCurve.JHNeronObjectAtP.exists_schemeHomOver_pts_smul_sub_eq_and_ptsSp_symm_mem_range_nodeUnit_of_mem_inertia_of_abelJacobiPins_of_representsRelSubPic1,915 below · depth 25 - Two relative group laws with equal unit agree at genPt
ModularCurve.JHNeronObjectAtP.relativeGroupLaw_mul_eq_mul_genPt_of_one_eq19 below · depth 25 - Strict places land on their own component, off the crossings
ModularCurve.XHDRModelAtP.mem_range_comp_and_not_crossing_of_isStrict_of_placeSpecializationKit_offDiag261 below · depth 25 - Transport of toric lifts along an isomorphism of Néron objects
ModularCurve.JHNeronObjectAtP.exists_equiv_forall_toricLift_comp_eq_of_iso_of_representsRelSubPic_of_abelianScheme69 below · depth 26 - Cartier transpose of Uₚ⟨ d₀⟩ is Frobenius (ordinary part)
ModularCurve.JHNeronObjectAtP.exists_units_forall_point_comp_cartierTranspose_U_comp_diamond_valuation_sub_pow_lt_one_of_ordinaryIdempotent_of_bridge1,358 below · depth 26 - Node-unit Poincaré bundle puts a special-fibre class in the toric part
ModularCurve.JHNeronObjectAtP.ptsSp_symm_schemeHomOverComp_mem_range_nodeUnit_of_isNodeUnitModule_poincare_pullbackAlong1,672 below · depth 26 - Two-step special-fibre tower of the Raynaud quotient with descended Uₚ
ModularCurve.exists_twoStepTower_raynaudQuotient_descent_finPts_jHNeronObjectAtP_of_finPtsWitness_of_bridgePins2,702 below · depth 26 - Descended diamond and Uₚ as D_Λ F on the p-fibre
ModularCurve.JHNeronObjectAtP.exists_descent_diamond_both_and_comp_hecke_U_eq_and_eq_verschiebung_of_blockOp_of_frobPullback_of_not_sq_dvd117 below · depth 27 - Verschiebung equals Uₚ⟨ d₀⟩ on the connected part
ModularCurve.JHNeronObjectAtP.exists_units_forall_qc_comp_baseChange_U_comp_diamond_comp_eq_qc_comp_verschiebung_of_ordinaryIdempotent_of_bridge1,315 below · depth 27 - Uₚ as Frobenius pull-back on glued special-fibre classes
ModularCurve.JHNeronObjectAtP.ptsSp_symm_hecke_U_mk_eq_mk_frobPullback_and_exists_mk_eq_of_snd_eq_zero63 below · depth 27 - Component projectors on the mod-p Raynaud quotient
ModularCurve.exists_idempotent_pair_baseChange_raynaudQuotient_projector_components_finPts_jHNeronObjectAtP_of_finPtsWitness_of_bridgePins2,654 below · depth 27 - Frobenius, Uₚ and a diamond give [p] on ker abq₁
ModularCurve.JHNeronObjectAtP.exists_units_pullbackFst_abqFibre_comp_relFrobenius_comp_hecke_U_comp_hecke_dia_eq_comp_schemeNsmul121 below · depth 28 - Frobenius equivariance of the special-fibre dictionary Λ.ptsSp
ModularCurve.JHNeronObjectAtP.levelData_ptsSp_frobeniusPushforward_eq_schemeHomOverComp_frobenius_ptsSp_of_hsp109 below · depth 28 - Connected ordinary part of G[p^v] lies in ker(abq₁)
ModularCurve.JHNeronObjectAtP.mono_lift_and_exists_specMap_qc_comp_baseChange_comp_lift_eq_comp_pullbackFst_abqFibre_of_ordinaryIdempotent_of_bridge1,288 below · depth 28 - Uₚ plus cross map equals degeneracy composite on glued Pic⁰
ModularCurve.JHNeronObjectAtP.ptsSp_symm_hecke_U_add_crossMap_eq_ptsSp_symm_degeneracyHom_degPull62 below · depth 28 - 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 - Frobenius factorisation of Uₚ on the abelian-quotient coordinate
ModularCurve.JHNeronObjectAtP.exists_abqFibre_one_comp_baseChange_hecke_U_eq_comp_relFrobenius_comp_abqFibre_one_of_not_sq_dvd1,283 below · depth 29 - Uₚ and Frobenius on κ̄-points of the Néron fibre
ModularCurve.JHNeronObjectAtP.forall_point_comp_hecke_U_comp_abqFibre_one_eq_comp_abqFibre_one_comp_relFrobenius_comp_degPull_comp_hecke_dia_comp_abqFibre_zero_of_not_sq_dvd1,279 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 - 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 - 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 - Supersingular node pairs are stable under diamond operators
ModularCurve.isNodeStable_ofAlgAut_diamondActionModL_of_forall_mem_iff_mem_ssNodePairsQExp_of_not_dvd1,239 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 - 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 - 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 - 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 - 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 - Fricke endomorphism over A of the J_H(M) Néron object inducing w_M
ModularCurve.JHNeronObjectAtP.exists_schemeHomOver_baseChange_pts_ofAlgAut_fricke_of_atkinLehnerComplement_placePin_of_representsRelSubPic_abelJacobi234 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 - Divisibility of residue orders implies the class extends over A
ModularCurve.JHNeronObjectAtP.extendsToPlace_pts_of_forall_dvd_ord_residue_of_abelJacobiPin_offDiag_of_wgen1,989 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 - Toric and finite p-torsion as mutual annihilators
ModularCurve.JHNeronObjectAtP.toricPts_finPts_mutual_annihilator_weilDatum_pairing_residueChar_of_abelJacobiPin_of_degeneracy3,116 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 - 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 - Model automorphism over A induces an endomorphism of G_A
ModularCurve.JHNeronObjectAtP.exists_schemeHomOver_baseChange_pts_ofAlgAut_of_baseChangeModelAut_of_relativeGroupLaw_eq_of_representsRelSubPic_baseChange_abelJacobi163 below · depth 34 - Model automorphism gives a homomorphic endomorphism over A
ModularCurve.JHNeronObjectAtP.exists_schemeHomOver_baseChange_pts_ofAlgAut_of_modelAut_of_relativeGroupLaw_eq_of_representsRelSubPic_abelJacobi163 below · depth 34 - Reduction of bidegree-(0,0) divisors of configured points
ModularCurve.JHNeronObjectAtP.ptsSp_symm_eq_mk_sum_of_pts_sum_configured945 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 - Toric p-torsion pairs trivially with finite p-torsion
ModularCurve.JHNeronObjectAtP.weilDatum_pairing_eq_one_of_mem_toricPts_of_mem_finPts_of_abelJacobiPin_of_degeneracy_of_representsRelSubPicLevel3,100 below · depth 34 - Atkin–Lehner automorphism of the X_H(M) model over A
ModularCurve.XHDRModelAtP.exists_iso_pullback_toBase_specMap_atkinLehner_complement_placePin180 below · depth 34 - Points over A: θ-twist equals composition with N
ModularCurve.JHNeronObjectAtP.baseChangePointOfBase_pts_ofAlgAut_smul_eq_comp_of_classifies_rigidify_pullback_curveChange_baseChange_of_abelJacobi158 below · depth 35 - 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 - Finite p-torsion splits off the two degeneracy pull-backs
ModularCurve.JHNeronObjectAtP.exists_eq_add_pull_add_pull_of_mem_finPts_of_abelJacobiPin771 below · depth 35 - Model automorphisms act on J_H-points via θ
ModularCurve.JHNeronObjectAtP.pts_ofAlgAut_smul_eq_pts_comp_of_classifies_rigidify_pullback_curveChange_of_abelJacobi158 below · depth 35 - Toric p-torsion pairs trivially with old p-torsion
ModularCurve.JHNeronObjectAtP.weilDatum_pairing_eq_one_of_mem_toricPts_of_eq_mk_pullbackAlong_of_abelJacobiPin232 below · depth 35 - Toric p-torsion pairs trivially with identity-reduction classes
ModularCurve.JHNeronObjectAtP.weilDatum_pairing_eq_one_of_mem_toricPts_of_resPt_eq_one_of_abelJacobiPin_of_representsRelSubPicLevel3,083 below · depth 35 - Lifting p^k-torsion along a level-(M/p) Néron datum
ModularCurve.JHNeronObjectAtP.LevelData.exists_pts_eq_barPt_comp_and_ptsSp_symm_eq_of_smul_eq_zero_of_abelianScheme737 below · depth 36 - 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 - Group law, reduction and rigidity for A-sections of G
ModularCurve.JHNeronObjectAtP.exists_section_mul_inv_one_and_ptsSp_symm_eq0 below · depth 36