Definitions/Def_AlgebraicCurve_BaseChangeGalois.lean
Semilinear automorphisms acting on places, divisors and Pic⁰-torsion
Fix fields K \subseteq F (an algebra structure algebraMap K F, written \iota). The module defines SemilinearAut K F as the subgroup of \mathrm{Aut}(F) \times \mathrm{Aut}(K) (ring automorphisms) consisting of those pairs (\varphi,\tau) with \varphi(\iota a) = \iota(\tau a) for all a \in K: automorphisms of F that stabilise the subfield K, each packaged with the automorphism of K it induces. The projections are toRingAut and baseAut, with commutes/smul_algebraMap recording the defining identity, and F is given the resulting MulSemiringAction, g \cdot x = \mathrm{toRingAut}\,g\,(x). The monoid homomorphism ofAlgAut sends \sigma \in F \simeq_{\text{alg}[K]} F to (\sigma, 1).
The rest transports this action along the divisor-theoretic constructions of the imported module, where a Place K F is a valuation subring A \subseteq F containing \iota(K), with A \neq F and A a principal ideal ring (hence a discrete valuation ring), v.\mathrm{ord} is the normalised valuation and v.\deg = \operatorname{finrank}_K of the residue field. A place is moved by pointwise translation of its valuation subring; the four structure fields are re-verified, membership of \iota(K) using baseAut, and principality by transporting along the ring isomorphism smulValuationSubringEquiv A \simeq g \cdot A. Then ord_smul gives (g \cdot v).\mathrm{ord}(g \cdot f) = v.\mathrm{ord}(f) (proved from a uniformiser-times-unit factorisation), smulResidueRingEquiv is the induced isomorphism of residue fields, semilinear over baseAut g, and deg_smul deduces \deg(g\cdot v) = \deg v. Divisors carry the push-forward action (Finsupp.mapDomain), which preserves degree, the degree-zero subgroup and the subgroup of principal divisors, hence descends to \mathrm{Pic}^0. Finally \mathrm{Pic}^0[n] (the \mathbb{Z}-torsion submodule killed by n) is shown stable, given its \mathbb{Z}/n-module structure and commuting scalars, and torsionRep K F n is the resulting homomorphism \mathrm{SemilinearAut}(K,F) \to \operatorname{End}_{\mathbb{Z}/n}(\mathrm{Pic}^0[n]).
Relation to Mathlib
Mathlib has no notion of the semilinear automorphism group of a field extension, nor of the places, divisors and \mathrm{Pic}^0 used here; these are the project's own, assembled from Mathlib components (a Subgroup of RingAut F × RingAut K, Finsupp.comapDistribMulAction, QuotientAddGroup.map, AddCommGroup.zmodModule, DistribMulAction.toModuleEnd). The constructions parallel, and restrict along ofAlgAut to, the actions of F \simeq_{\text{alg}[K]} F already defined in the divisor class group module.
Where it is used
With F a function field of a modular curve over an algebraically closed constant field K, torsionRep supplies the action on \mathrm{Pic}^0[n] of automorphisms that move the constants, which is the mechanism by which an absolute Galois group acts on the n-torsion of the Jacobian J_0(N); composing a homomorphism into SemilinearAut K F with torsionRep yields the mod-n Galois representations attached to modular Jacobians.
References
- H. Darmon, F. Diamond and R. Taylor, Fermat's Last Theorem, in: Current Developments in Mathematics 1995, International Press, 1995, 1–154
- H. Stichtenoth, Algebraic Function Fields and Codes, 2nd edition, Graduate Texts in Mathematics 254, Springer, 2009
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 356 lines
- 51 declarations
- used in the statements of 322 theorems and imported by 427 proofs
- imports 1 definition modules
Source file: Definitions/Def_AlgebraicCurve_BaseChangeGalois.lean
Declarations
- def
AlgebraicCurve.SemilinearAut - theorem
AlgebraicCurve.SemilinearAut.mem_iff - def
AlgebraicCurve.SemilinearAut.toRingAut - def
AlgebraicCurve.SemilinearAut.baseAut - theorem
AlgebraicCurve.SemilinearAut.commutes - theorem
AlgebraicCurve.SemilinearAut.toRingAut_one - theorem
AlgebraicCurve.SemilinearAut.baseAut_one - theorem
AlgebraicCurve.SemilinearAut.toRingAut_mul - theorem
AlgebraicCurve.SemilinearAut.baseAut_mul - theorem
AlgebraicCurve.SemilinearAut.toRingAut_inv - theorem
AlgebraicCurve.SemilinearAut.baseAut_inv - theorem
AlgebraicCurve.SemilinearAut.smul_def - theorem
AlgebraicCurve.SemilinearAut.inv_smul_def - theorem
AlgebraicCurve.SemilinearAut.smul_algebraMap - def
AlgebraicCurve.SemilinearAut.ofAlgAut - theorem
AlgebraicCurve.SemilinearAut.toRingAut_ofAlgAut - theorem
AlgebraicCurve.SemilinearAut.baseAut_ofAlgAut - theorem
AlgebraicCurve.SemilinearAut.ofAlgAut_smul - theorem
AlgebraicCurve.SemilinearAut.pointwise_smul_top - def
AlgebraicCurve.SemilinearAut.smulValuationSubringEquiv - theorem
AlgebraicCurve.SemilinearAut.coe_smulValuationSubringEquiv_apply - theorem
AlgebraicCurve.SemilinearAut.smul_toValuationSubring - theorem
AlgebraicCurve.SemilinearAut.ord_smul - def
AlgebraicCurve.SemilinearAut.smulResidueRingEquiv - theorem
AlgebraicCurve.SemilinearAut.smulResidueRingEquiv_algebraMap - theorem
AlgebraicCurve.SemilinearAut.deg_smul - theorem
AlgebraicCurve.SemilinearAut.divisor_smul_def - theorem
AlgebraicCurve.SemilinearAut.smul_single - theorem
AlgebraicCurve.SemilinearAut.divisor_smul_apply_smul - theorem
AlgebraicCurve.SemilinearAut.divisor_smul_apply - theorem
AlgebraicCurve.SemilinearAut.degree_smul - theorem
AlgebraicCurve.SemilinearAut.smul_mem_degZero - theorem
AlgebraicCurve.SemilinearAut.smul_mem_principal - def
AlgebraicCurve.SemilinearAut.degZeroSMulHom - theorem
AlgebraicCurve.SemilinearAut.coe_degZeroSMulHom - theorem
AlgebraicCurve.SemilinearAut.pic0_smul_mk - theorem
AlgebraicCurve.SemilinearAut.smul_zsmul - theorem
AlgebraicCurve.SemilinearAut.smul_mem_torsion - instance
AlgebraicCurve.SemilinearAut.instSMulTorsion - theorem
AlgebraicCurve.SemilinearAut.coe_torsion_smul - instance
AlgebraicCurve.SemilinearAut.instDistribMulActionTorsion - instance
AlgebraicCurve.Pic0.instModuleZModTorsion - instance
AlgebraicCurve.SemilinearAut.instSMulCommClassZModTorsion - def
AlgebraicCurve.SemilinearAut.torsionRep - theorem
AlgebraicCurve.SemilinearAut.torsionRep_apply
Source
import Definitions.Def_AlgebraicCurve_DivisorClassGroup import Mathlib.Algebra.Ring.Action.End ↗ import Mathlib.LinearAlgebra.Dimension.Finrank ↗ set_option autoImplicit false noncomputable section open IsLocalRing namespace AlgebraicCurve variable (K F : Type*) [Field K] [Field F] [Algebra K F] def SemilinearAut : Subgroup (RingAut F × RingAut K) where carrier := {p | ∀ a : K, p.1 (algebraMap K F a) = algebraMap K F (p.2 a)} one_mem' _ := rfl mul_mem' := fun {p q} hp hq a => by show p.1 (q.1 (algebraMap K F a)) = algebraMap K F (p.2 (q.2 a)) rw [hq a, hp (q.2 a)] inv_mem' := fun {p} hp a => by show p.1.symm (algebraMap K F a) = algebraMap K F (p.2.symm a) apply p.1.injective rw [RingEquiv.apply_symm_apply, hp (p.2.symm a), RingEquiv.apply_symm_apply] namespace SemilinearAut variable {K F} theorem mem_iff {p : RingAut F × RingAut K} : p ∈ SemilinearAut K F ↔ ∀ a : K, p.1 (algebraMap K F a) = algebraMap K F (p.2 a) := Iff.rfl def toRingAut (g : SemilinearAut K F) : F ≃+* F := g.val.1 def baseAut (g : SemilinearAut K F) : K ≃+* K := g.val.2 theorem commutes (g : SemilinearAut K F) (a : K) : toRingAut g (algebraMap K F a) = algebraMap K F (baseAut g a) := g.prop a @[simp] theorem toRingAut_one : toRingAut (1 : SemilinearAut K F) = 1 := rfl @[simp] theorem baseAut_one : baseAut (1 : SemilinearAut K F) = 1 := rfl @[simp] theorem toRingAut_mul (g h : SemilinearAut K F) : toRingAut (g * h) = toRingAut g * toRingAut h := rfl @[simp] theorem baseAut_mul (g h : SemilinearAut K F) : baseAut (g * h) = baseAut g * baseAut h := rfl @[simp] theorem toRingAut_inv (g : SemilinearAut K F) : toRingAut g⁻¹ = (toRingAut g).symm := rfl @[simp] theorem baseAut_inv (g : SemilinearAut K F) : baseAut g⁻¹ = (baseAut g).symm := rfl instance : MulSemiringAction (SemilinearAut K F) F where smul g x := toRingAut g x one_smul _ := rfl mul_smul _ _ _ := rfl smul_zero g := map_zero (toRingAut g) smul_add g := map_add (toRingAut g) smul_one g := map_one (toRingAut g) smul_mul g := map_mul (toRingAut g) @[simp] theorem smul_def (g : SemilinearAut K F) (x : F) : g • x = toRingAut g x := rfl theorem inv_smul_def (g : SemilinearAut K F) (x : F) : g⁻¹ • x = (toRingAut g).symm x := rfl theorem smul_algebraMap (g : SemilinearAut K F) (a : K) : g • algebraMap K F a = algebraMap K F (baseAut g a) := commutes g a def ofAlgAut : (F ≃ₐ[K] F) →* SemilinearAut K F where toFun σ := ⟨((σ : F ≃+* F), 1), fun a => by simp⟩ map_one' := Subtype.ext (by ext <;> rfl) map_mul' σ τ := Subtype.ext (by ext <;> rfl) @[simp] theorem toRingAut_ofAlgAut (σ : F ≃ₐ[K] F) : toRingAut (ofAlgAut σ) = (σ : F ≃+* F) := rfl @[simp] theorem baseAut_ofAlgAut (σ : F ≃ₐ[K] F) : baseAut (ofAlgAut σ) = 1 := rfl @[simp] theorem ofAlgAut_smul (σ : F ≃ₐ[K] F) (x : F) : ofAlgAut σ • x = σ x := rfl end SemilinearAut namespace SemilinearAut open scoped Pointwise variable {K F} variable (g : SemilinearAut K F) theorem pointwise_smul_top : g • (⊤ : ValuationSubring F) = ⊤ := by ext x simp only [ValuationSubring.mem_pointwise_smul_iff_inv_smul_mem] exact ⟨fun _ => ValuationSubring.mem_top x, fun _ => ValuationSubring.mem_top _⟩ def smulValuationSubringEquiv (A : ValuationSubring F) : A ≃+* (g • A : ValuationSubring F) where toFun x := ⟨g • (x : F), ValuationSubring.smul_mem_pointwise_smul g (x : F) A x.2⟩ invFun y := ⟨g⁻¹ • (y : F), (ValuationSubring.mem_pointwise_smul_iff_inv_smul_mem (g := g) (S := A) (x := (y : F))).mp y.2⟩ left_inv x := by ext; simp right_inv y := by ext; simp map_mul' x y := by ext; simp map_add' x y := by ext; simp @[simp] theorem coe_smulValuationSubringEquiv_apply (A : ValuationSubring F) (x : A) : ((smulValuationSubringEquiv g A x : (g • A : ValuationSubring F)) : F) = g • (x : F) := rfl instance : SMul (SemilinearAut K F) (Place K F) where smul g v := { toValuationSubring := g • v.toValuationSubring algebraMap_mem' := fun a => by have h := ValuationSubring.smul_mem_pointwise_smul g (algebraMap K F ((baseAut g).symm a)) v.toValuationSubring (v.algebraMap_mem' ((baseAut g).symm a)) rwa [smul_algebraMap, RingEquiv.apply_symm_apply] at h ne_top' := fun h => v.ne_top' <| by have h2 := congrArg (g⁻¹ • ·) h simpa [pointwise_smul_top] using h2 isPrincipalIdealRing' := IsPrincipalIdealRing.of_surjective (smulValuationSubringEquiv g v.toValuationSubring : _ ≃+* _) (smulValuationSubringEquiv g v.toValuationSubring).surjective } variable (v : Place K F) @[simp] theorem smul_toValuationSubring : (g • v).toValuationSubring = g • v.toValuationSubring := rfl instance : MulAction (SemilinearAut K F) (Place K F) where one_smul v := by ext1 rw [smul_toValuationSubring, one_smul] mul_smul g h v := by ext1 simp only [smul_toValuationSubring] rw [mul_smul] theorem ord_smul (f : F) : (g • v).ord (g • f) = v.ord f := by rcases eq_or_ne f 0 with rfl | hf · simp obtain ⟨π, hπ⟩ := IsDiscreteValuationRing.exists_irreducible v.toValuationSubring obtain ⟨u, hu⟩ := v.exists_unit_mul_zpow hf hπ set n := v.ord f with hn set e := smulValuationSubringEquiv g v.toValuationSubring with he have hπ' : Irreducible (e π) := (MulEquiv.irreducible_iff e).mpr hπ have hu' : IsUnit (e (u : v.toValuationSubring)) := u.isUnit.map e have hcoeu : ((hu'.unit : (g • v).toValuationSubring) : F) = toRingAut g ((u : v.toValuationSubring) : F) := by rw [IsUnit.unit_spec] rfl have hcoeπ : ((e π : (g • v).toValuationSubring) : F) = toRingAut g (π : F) := rfl have key : toRingAut g f = ((hu'.unit : (g • v).toValuationSubring) : F) * (((e π : (g • v).toValuationSubring) : F) ^ n) := by rw [hcoeu, hcoeπ, hu, map_mul, map_zpow₀] rw [show g • f = toRingAut g f from rfl, key, (g • v).ord_unit_smul_zpow hu'.unit hπ' n] def smulResidueRingEquiv : v.ResidueField ≃+* (g • v).ResidueField := IsLocalRing.ResidueField.mapEquiv (smulValuationSubringEquiv g v.toValuationSubring) theorem smulResidueRingEquiv_algebraMap (a : K) : smulResidueRingEquiv g v (algebraMap K v.ResidueField a) = algebraMap K (g • v).ResidueField (baseAut g a) := by have h3 : (smulValuationSubringEquiv g v.toValuationSubring) (algebraMap K v.toValuationSubring a) = algebraMap K (g • v).toValuationSubring (baseAut g a) := by ext rw [coe_smulValuationSubringEquiv_apply, Place.coe_algebraMap, smul_algebraMap] exact (Place.coe_algebraMap (g • v) (baseAut g a)).symm show IsLocalRing.ResidueField.mapEquiv _ (IsLocalRing.residue _ _) = IsLocalRing.residue _ _ rw [IsLocalRing.ResidueField.mapEquiv_apply, IsLocalRing.ResidueField.map_residue] exact congrArg _ h3 @[simp] theorem deg_smul : (g • v).deg = v.deg := by refine (Algebra.finrank_eq_of_equiv_equiv (baseAut g) (smulResidueRingEquiv g v) ?_).symm ext a simpa using (smulResidueRingEquiv_algebraMap g v a).symm end SemilinearAut namespace SemilinearAut open scoped Pointwise variable {K F} instance : DistribMulAction (SemilinearAut K F) (Divisor K F) := Finsupp.comapDistribMulAction theorem divisor_smul_def (g : SemilinearAut K F) (D : Divisor K F) : g • D = Finsupp.mapDomain (g • ·) D := rfl @[simp] theorem smul_single (g : SemilinearAut K F) (v : Place K F) (n : ℤ) : g • Finsupp.single v n = Finsupp.single (g • v) n := by rw [divisor_smul_def, Finsupp.mapDomain_single] theorem divisor_smul_apply_smul (g : SemilinearAut K F) (D : Divisor K F) (v : Place K F) : (g • D) (g • v) = D v := by rw [divisor_smul_def] exact Finsupp.mapDomain_apply (MulAction.injective g) D v theorem divisor_smul_apply (g : SemilinearAut K F) (D : Divisor K F) (w : Place K F) : (g • D) w = D (g⁻¹ • w) := by have : (g • D) (g • (g⁻¹ • w)) = D (g⁻¹ • w) := divisor_smul_apply_smul g D (g⁻¹ • w) rwa [smul_inv_smul] at this @[simp] theorem degree_smul (g : SemilinearAut K F) (D : Divisor K F) : Divisor.degree (g • D) = Divisor.degree D := by induction D using Finsupp.induction with | zero => simp | single_add v n D _ _ ih => rw [smul_add, map_add, map_add, ih, smul_single, Divisor.degree_single, Divisor.degree_single, deg_smul] theorem smul_mem_degZero (g : SemilinearAut K F) {D : Divisor K F} (hD : D ∈ Divisor.degZero (K := K) (F := F)) : g • D ∈ Divisor.degZero (K := K) (F := F) := by rwa [Divisor.mem_degZero, degree_smul] theorem smul_mem_principal (g : SemilinearAut K F) {D : Divisor K F} (hD : D ∈ Divisor.principal (K := K) (F := F)) : g • D ∈ Divisor.principal (K := K) (F := F) := by obtain ⟨f, hf, hD⟩ := hD refine ⟨g • f, by simpa using hf, fun w => ?_⟩ rw [divisor_smul_apply, hD (g⁻¹ • w)] have h := ord_smul g (g⁻¹ • w) f rw [smul_inv_smul] at h exact h.symm def degZeroSMulHom (g : SemilinearAut K F) : Divisor.degZero (K := K) (F := F) →+ Divisor.degZero (K := K) (F := F) := ((DistribSMul.toAddMonoidHom (Divisor K F) g).domRestrict (Divisor.degZero (K := K) (F := F))).codRestrict _ (fun D => smul_mem_degZero g D.2) @[simp] theorem coe_degZeroSMulHom (g : SemilinearAut K F) (D : Divisor.degZero (K := K) (F := F)) : (degZeroSMulHom g D : Divisor K F) = g • (D : Divisor K F) := rfl instance : SMul (SemilinearAut K F) (Pic0 K F) where smul g := QuotientAddGroup.map _ _ (degZeroSMulHom g) (by rintro ⟨D, hD0⟩ hD simp only [AddSubgroup.mem_addSubgroupOf] at hD ⊢ exact smul_mem_principal g hD) theorem pic0_smul_mk (g : SemilinearAut K F) (D : Divisor.degZero (K := K) (F := F)) : g • (Pic0.mk D) = Pic0.mk (degZeroSMulHom g D) := rfl instance : DistribMulAction (SemilinearAut K F) (Pic0 K F) where one_smul x := by obtain ⟨D, rfl⟩ := Pic0.mk_surjective x rw [pic0_smul_mk] exact congrArg Pic0.mk (Subtype.ext (by rw [coe_degZeroSMulHom, one_smul])) mul_smul g h x := by obtain ⟨D, rfl⟩ := Pic0.mk_surjective x rw [pic0_smul_mk, pic0_smul_mk, pic0_smul_mk] exact congrArg Pic0.mk (Subtype.ext (by simp only [coe_degZeroSMulHom]; rw [mul_smul])) smul_zero g := by show g • Pic0.mk 0 = Pic0.mk 0 rw [pic0_smul_mk] exact congrArg Pic0.mk (map_zero _) smul_add g x y := by obtain ⟨D, rfl⟩ := Pic0.mk_surjective x obtain ⟨E, rfl⟩ := Pic0.mk_surjective y show g • Pic0.mk (D + E) = Pic0.mk (degZeroSMulHom g D) + Pic0.mk (degZeroSMulHom g E) rw [pic0_smul_mk] exact congrArg Pic0.mk (map_add _ _ _) end SemilinearAut end AlgebraicCurve namespace AlgebraicCurve namespace SemilinearAut variable {K F : Type*} [Field K] [Field F] [Algebra K F] theorem smul_zsmul (g : SemilinearAut K F) (m : ℤ) (x : Pic0 K F) : g • (m • x) = m • (g • x) := map_zsmul (DistribSMul.toAddMonoidHom (Pic0 K F) g) m x theorem smul_mem_torsion (g : SemilinearAut K F) {n : ℕ} {x : Pic0 K F} (hx : x ∈ Pic0.torsion K F n) : g • x ∈ Pic0.torsion K F n := by rw [Pic0.mem_torsion] at hx ⊢ rw [← smul_zsmul, hx] exact smul_zero (A := Pic0 K F) g instance instSMulTorsion (n : ℕ) : SMul (SemilinearAut K F) (Pic0.torsion K F n) := ⟨fun g x => ⟨g • (x : Pic0 K F), smul_mem_torsion g x.property⟩⟩ @[simp] theorem coe_torsion_smul {n : ℕ} (g : SemilinearAut K F) (x : Pic0.torsion K F n) : ((g • x : Pic0.torsion K F n) : Pic0 K F) = g • (x : Pic0 K F) := rfl instance instDistribMulActionTorsion (n : ℕ) : DistribMulAction (SemilinearAut K F) (Pic0.torsion K F n) where one_smul x := Subtype.ext <| one_smul _ (x : Pic0 K F) mul_smul g h x := Subtype.ext <| mul_smul g h (x : Pic0 K F) smul_zero g := Subtype.ext <| smul_zero (A := Pic0 K F) g smul_add g x y := Subtype.ext <| smul_add g (x : Pic0 K F) (y : Pic0 K F) end SemilinearAut namespace Pic0 variable {K F : Type*} [Field K] [Field F] [Algebra K F] instance instModuleZModTorsion (n : ℕ) : Module (ZMod n) (torsion K F n) := AddCommGroup.zmodModule fun x => by apply Subtype.ext change ((n • x : torsion K F n) : Pic0 K F) = 0 rw [AddSubgroupClass.coe_nsmul, ← Nat.cast_smul_eq_nsmul ℤ n (x : Pic0 K F)] exact mem_torsion.mp x.property end Pic0 namespace SemilinearAut variable {K F : Type*} [Field K] [Field F] [Algebra K F] instance instSMulCommClassZModTorsion (n : ℕ) : SMulCommClass (SemilinearAut K F) (ZMod n) (Pic0.torsion K F n) where smul_comm g c x := ZMod.map_smul (DistribSMul.toAddMonoidHom (Pic0.torsion K F n) g) c x variable (K F) in def torsionRep (n : ℕ) : SemilinearAut K F →* Module.End (ZMod n) (Pic0.torsion K F n) := DistribMulAction.toModuleEnd (ZMod n) (Pic0.torsion K F n) @[simp] theorem torsionRep_apply {n : ℕ} (g : SemilinearAut K F) (x : Pic0.torsion K F n) : torsionRep K F n g x = g • x := rfl end SemilinearAut end AlgebraicCurve
Statements phrased using this module (322)
- Galois transitivity on places above a fixed place
AlgebraicCurve.Place.exists_algEquiv_smul_eq_of_restrict_eq0 below · depth 11 - F'-automorphisms fix restrictions of places to F'
AlgebraicCurve.Place.restrict_ofAlgAut_smul0 below · depth 11 - Roof package along a surjective leg of function fields
AlgebraicCurve.Pic0.roof_package_of_surjective167 below · depth 12 - Pinned automorphism intertwines degeneracy maps and divisor-class pullback
ModularCurve.heckeBetaHBar_pins_and_smul_pullbackAlongHom_of_qExpand_pins5 below · depth 12 - Restriction along σ is the action of σ⁻¹
AlgebraicCurve.Place.restrictAlong_algEquiv_eq_ofAlgAut_symm_smul0 below · depth 13 - Image point's place is the restriction along Φ
AlgebraicCurve.TwoChartIntegralModel.pointEquivPlace_eq_restrictAlong_of_chartPin0 below · depth 13 - Pull-back along a K-automorphism is the semilinear action
AlgebraicCurve.Divisor.pullbackAlong_algEquiv_eq_ofAlgAut_smul0 below · depth 14 - Existence of the Weil pairing on Pic⁰[n]
AlgebraicCurve.Pic0.exists_weilPairing306 below · depth 14 - Extending constant-field automorphisms to F-fixing semilinear automorphisms
AlgebraicCurve.SemilinearAut.exists_baseAut_eq_of_constantFieldExtension1 below · depth 14 - Compatibility of the two actions of Aut(F/K) on places
AlgebraicCurve.SemilinearAut.ofAlgAut_smul_place0 below · depth 14 - Schmidt descent for G-invariant divisors of a constant field extension
AlgebraicCurve.Divisor.existsUnique_pullbackConstants_eq_of_forall_smul_eq8 below · depth 15 - Frobenius-fixed divisor classes contain Frobenius-fixed divisors
AlgebraicCurve.Divisor.exists_smul_eq_and_isPrincipal_sub_of_frobeniusSemilinear0 below · depth 15 - Hilbert decomposition over a rational place of K(t)
AlgebraicCurve.Place.ord_restrictAlong_eq_natCard_algHom_of_isGalois28 below · depth 15 - Equivariant reduction of ofJ(t) at a place over j₀
ModularCurve.exists_equivariant_torsion_reduction_ofJ45 below · depth 15 - Frobenius-semilinear level-N model of the generic elliptic curve
ModularCurve.exists_frobeniusSemilinear_torsionModel_ofJ_univ312 below · depth 16 - A j-fixing semilinear automorphism moves Pₐ to P_{τ(a)}
ModularCurve.smul_charLGeomPlaceOfPoint_of_smul_jqModC16 below · depth 16 - Equivariant torsion reduction: j of the Vélu quotient and ramification
ModularCurve.exists_equivariant_torsion_reduction_ofJ_evalAt_fullKernelQuotient_j_ord_mul_natCard389 below · depth 18 - Equivariant reduction of torsion for the generic curve over the j-line
ModularCurve.exists_equivariant_torsion_reduction_ofJ_forall_place_reduceHom45 below · depth 18 - Coefficient Frobenius carries a moduli place to the Frobenius twist
ModularCurve.isModuliPlaceOf_map_frobenius_smul0 below · depth 18 - Galois trace of a divisor equals π^*π_*
AlgebraicCurve.Divisor.sum_galois_smul_eq_pullback_pushforward11 below · depth 19 - Equivariance of the conorm on Pic⁰ under compatible semilinear automorphisms
AlgebraicCurve.Pic0.conorm_smul_eq_smul_conorm_of_semilinearAut_compatible0 below · depth 19 - Natural equivariant uniformisation of Jacobians of Mumford quotients
AlgebraicCurve.Pic0.exists_equivariantUniformization_family_natural_of_mumfordQuotient_of_v_card_stabilizer_eq_one296 below · depth 19 - Unique homomorphic extension of a semilinear S-action to a constant-field extension
AlgebraicCurve.SemilinearAut.existsUnique_monoidHom_baseAut_eq_smul_algebraMap_eq_of_constantFieldExtension2 below · depth 19 - Quotient-graph presentation of the Mumford side at q'
CerednikDrinfeld.exists_quotientPresentation_classSet_hecke_of_descentIntertwining_one_zero3,953 below · depth 19 - Quotient-graph presentation at q with class set and Hecke
CerednikDrinfeld.exists_quotientPresentation_classSet_hecke_of_descentIntertwining_zero_one3,951 below · depth 19 - Symmetry group with compatible semilinear actions over q'
CerednikDrinfeld.exists_symmetryGroup_semilinearAction_invariantFieldOf_of_descentIntertwining_one_zero43 below · depth 19 - Symmetry group of the Čerednik–Drinfeld tower at q
CerednikDrinfeld.exists_symmetryGroup_semilinearAction_invariantFieldOf_of_descentIntertwining_zero_one39 below · depth 19 - Invariant fields of the level groups at q' are curves
CerednikDrinfeld.isCurveOver_invariantFieldOf_levelGroups_of_descentIntertwining_one_zero3,838 below · depth 19 - Mumford fields of the level groups are curves over C
CerednikDrinfeld.isCurveOver_invariantFieldOf_levelGroups_of_descentIntertwining_zero_one3,838 below · depth 19 - Level-group vertex stabilisers have order prime to q'
CerednikDrinfeld.valuation_natCard_stabilizer_vertex_levelGroups_eq_one_of_descentIntertwining_one_zero3,792 below · depth 19 - Vertex stabilisers of the level groups have order prime to q
CerednikDrinfeld.valuation_natCard_stabilizer_vertex_levelGroups_eq_one_of_descentIntertwining_zero_one3,792 below · depth 19 - Push-forward square for pinned Mumford uniformisations along φ
AlgebraicCurve.Pic0.eFull_comp_pullback_eq_mk_pushforwardAlong_of_mumfordQuotient_theta65 below · depth 20 - Pullback compatibility of pinned Mumford uniformisations of Pic⁰
AlgebraicCurve.Pic0.eFull_comp_pushforward_eq_mk_pullbackAlong_of_mumfordQuotient_theta_of_v_card_stabilizer_eq_one138 below · depth 20 - Equivariant Manin–Drinfeld uniformisation of Jacobians of Mumford quotients
AlgebraicCurve.Pic0.exists_equivariantUniformization_of_mumfordQuotient_theta_of_mem_valuationSubring_iff_of_v_card_stabilizer_eq_one247 below · depth 20 - Adjointness of pullback and pushforward for Mumford period pairings
AlgebraicCurve.Pic0.periodPairing_pullback_eq_periodPairing_pushforward_of_mumfordQuotient_theta50 below · depth 20 - Semilinear automorphisms extend uniquely along a constant field extension
AlgebraicCurve.SemilinearAut.existsUnique_baseAut_eq_smul_algebraMap_eq_of_constantFieldExtension1 below · depth 20 - Atkin–Lehner relations for the Čerednik level groups
CerednikDrinfeld.CosetGraph.atkinLehner_relations_levelGroups_place38 below · depth 20 - Class-set dictionary for the Bruhat–Tits quotient at r
CerednikDrinfeld.CosetGraph.exists_quot_equiv_classSet_shift_forget_of_mumfordSideFrame3,794 below · depth 20 - Mumford frame at r: tame stabilisers, finite quotients, class sets
CerednikDrinfeld.CosetGraph.finite_stabilizer_and_finite_quot_and_exists_equiv_classSet_of_mumfordSideFrame3,783 below · depth 20 - Commuting Atkin–Lehner involutions from Čerednik descent data
CerednikDrinfeld.HeckeTower.atkinLehner_involutive_comm_galois_of_descentIntertwining_one_zero39 below · depth 20 - Degeneracy maps intertwine Galois and Atkin–Lehner actions
CerednikDrinfeld.HeckeTower.smul_phi_eq_phi_smul_of_descentIntertwining_one_zero39 below · depth 20 - Realisation-independent permutation actions on quotients of the Bruhat–Tits tree
CerednikDrinfeld.exists_perm_quotVert_quotEdge_realisation_independent_of_descentIntertwining_one_zero3,952 below · depth 20 - Realisation-independent permutation actions on Bruhat–Tits tree quotients
CerednikDrinfeld.exists_perm_quotVert_quotEdge_realisation_independent_of_descentIntertwining_zero_one3,950 below · depth 20 - A place with j-pole fixed by the translation automorphism
ModularCurve.LevelN.exists_place_ord_neg_forall_smul_eq6 below · depth 20 - Place above j(τ₀) fixed by stabiliser automorphisms
ModularCurve.LevelN.exists_place_ord_sub_pos_forall_smul_eq6 below · depth 20 - Semilinear equivariance of the divisorial Weil pairing
AlgebraicCurve.DivisorialWeilPairingData.pair_semilinearSmul0 below · depth 21 - Antisymmetric Weil pairing on the torsion of Pic⁰
AlgebraicCurve.Pic0.exists_antisymmWeilPairing302 below · depth 21 - Theta torus point lifting a two-point divisor and its push-forward
AlgebraicCurve.Pic0.exists_eFull_eq_mk_single_sub_single_and_eFull_comp_pullback_eq_mk_pushforwardAlong_of_mumfordQuotient_theta62 below · depth 21 - A theta torus point compatible with degeneracy push-forward
AlgebraicCurve.Pic0.exists_eFull_eq_mk_single_sub_single_and_eFull_comp_pushforward_eq_mk_pullbackAlong_of_mumfordQuotient_theta_of_v_card_stabilizer_eq_one135 below · depth 21 - Period datum of a Mumford quotient pinned to analytic periods
AlgebraicCurve.Pic0.exists_periodDatum_Q_mul_period_eq_one_of_mumfordQuotient81 below · depth 21 - Theta uniformisation of Pic⁰ of a tame Mumford quotient
AlgebraicCurve.Pic0.exists_torusPoints_uniformization_of_periodDatum_of_mumfordQuotient_of_v_card_stabilizer_eq_one146 below · depth 21 - Equivariance of the period pairing and the theta-pinned uniformisation
AlgebraicCurve.Pic0.periodDatum_equivariant_of_theta_pinned_uniformization_of_mumfordQuotient125 below · depth 21 - Chart-supported degree-zero representatives of inertia-invariant Tate vectors
AlgebraicCurve.exists_chartSupported_repr_of_mem_invariants_rationalTateModule_of_semistableCovering_of_discFibres_of_rankOne_of_lifts_of_charZero_of_semistableModel185 below · depth 21 - Existence of chartwise reduction on inertia invariants
AlgebraicCurve.exists_linearMap_rationalTateModule_reduction_of_semistableCovering_of_discFibres_of_rankOne_of_lifts_of_charZero_of_semistableModel187 below · depth 21 - Bombieri's Galois-closure counting identity for places
AlgebraicCurve.finrank_mul_natCard_fixedPoints_restrictAlong_eq_sum_natCard6 below · depth 21 - Vanishing of chart reduction on S-invariants equals augmentation span
AlgebraicCurve.red_eq_zero_iff_mem_span_smul_sub_of_forall_smul_eq_of_semistableCovering_of_discFibres_of_rankOne_of_lifts_of_charZero_of_semistableModel497 below · depth 21 - Fixing the Δ-invariant field forces ρ(g)∈ρ(Δ)
CerednikDrinfeld.apply_mem_map_of_forall_smul_invariantFieldOf_eq_of_relIndex_ne_zero_of_frame3,899 below · depth 21 - Elements fixing the Mumford invariant field lie in ρ(Δ)
CerednikDrinfeld.apply_mem_map_of_forall_smul_invariantFieldOf_eq_of_relIndex_ne_zero_of_frame_one_zero3,899 below · depth 21 - Čerednik descent intertwining: base level implies all levels
CerednikDrinfeld.descentIntertwining_of_base_one_zero3,911 below · depth 21 - Čerednik–Drinfeld descent intertwining: all levels from the base level
CerednikDrinfeld.descentIntertwining_of_base_zero_one3,910 below · depth 21 - Pull-back along γ sends pt(τ) to pt(γ⁻¹τ)
ModularCurve.ComplexPlaceDictionaryOf.ofAlgAut_smul_pt_eq_pt_inv_smul2 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 - 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 - A j-fixing semilinear automorphism fixes the place at infinity
ModularCurve.smul_charLGeomPlaceEquiv_placeInfty_of_smul_jqModC16 below · depth 21 - Principal theta divisors on a Mumford quotient are periods
AlgebraicCurve.Pic0.exists_prod_theta_eq_period_of_isPrincipal_of_v_card_stabilizer_eq_one138 below · depth 22 - Equal theta multipliers give a principal divisor on a Mumford quotient
AlgebraicCurve.Pic0.isPrincipal_sum_sub_sum_of_prod_theta_eq_of_v_card_stabilizer_eq_one119 below · depth 22 - Stability of a section-cut residue disc under a semilinear automorphism
AlgebraicCurve.SemilinearAut.mem_iff_smul_mem_of_forall_mem_iff_sections0 below · depth 22 - Tropically principal divisors are chart-representable in chart-degrees zero
AlgebraicCurve.exists_add_sum_sub_sum_mem_principal_of_degree_add_sum_eq_zero_of_valuation_mul_prod_eq_of_lattice_of_semistableCovering_of_discFibres_of_rankOne166 below · depth 22 - Kummer-normalised representatives of ℓ^k-torsion classes on a semistable covering
AlgebraicCurve.exists_mk_eq_forall_mem_support_pow_evalAt_param_eq_of_zsmul_eq_zero_of_semistableCovering_of_discFibres_of_rankOne_of_charZero_of_semistableModel165 below · depth 22 - Triviality of annulus Kummer values along dual-graph cycles
AlgebraicCurve.exists_residue_prod_zpow_eq_one_of_forall_mapDomain_placeMap_eq_zero_of_forall_annulus_sum_eq_zero_of_prod_valuation_evalAt_zpow_eq_one_of_semistableCovering_of_discFibres_of_rankOne31 below · depth 22 - Slope formula for a function on a semistable covering
AlgebraicCurve.exists_slopes_degree_add_sum_eq_zero_and_valuation_mul_prod_eq_of_ord_of_semistableCovering_of_discFibres_of_rankOne2 below · depth 22 - Reduction-killed invariant Tate vectors lie in the monodromy span
AlgebraicCurve.mem_span_smul_sub_of_red_eq_zero_of_forall_smul_eq_of_semistableCovering_of_discFibres_of_rankOne_of_lifts_of_charZero_of_semistableModel496 below · depth 22 - Monodromy differences lie in the kernel of chartwise reduction
AlgebraicCurve.red_eq_zero_of_mem_span_smul_sub_of_forall_smul_eq_of_semistableCovering_of_discFibres_of_rankOne_of_lifts_of_charZero_of_semistableModel188 below · depth 22 - Galois transport of a theta-pinned Mumford torus point
CerednikDrinfeld.Mumford.exists_monoidHom_theta_coeffMap_precomp_apply_eq_of_apply_eq8 below · depth 22 - Pinned theta multipliers exist for every pair of points
CerednikDrinfeld.Mumford.exists_theta_multiplier_and_torusPoint_apply_eq_of_mumfordQuotient49 below · depth 22 - Semilinear automorphism realised by (n,t) transports places accordingly
CerednikDrinfeld.Omega.semilinearAut_smul_pt_eq_pt_smul_of_mem_toValuationSubring_iff1 below · depth 22 - Inertia naturality on the supersingular charts
ModularCurve.FullLevel.SemistableCovering.naturality_inertia_supersingular_of_discTransport_of_inTube_of_perm_drinfeld3,874 below · depth 22 - Full-level test function: Igusa unit, vanishing over s, annulus-unit
ModularCurve.FullLevel.exists_fullLevelFunction_residue_zero_unit_igusa_ord_zero_tubeAnnulus_jE46 below · depth 22 - Tube annuli at a supersingular place, with discs and crossing models
ModularCurve.FullLevel.exists_tubeAnnuli_width_inertia_discs_charted_inertNodes_nodeRings_nodeCharts_moduliHasse4,080 below · depth 22 - No smooth-point package at a reciprocal annulus pair
ModularCurve.FullLevel.not_smoothPointPackage_of_annulusPair_attached_igusaEnd_of_testFunction_fullLevel1 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 - 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 - 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 - 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 - 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 - 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 - 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 - 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 - Equivariant Abel–Jacobi bijection for X_H(M) over ℂ
ModularCurve.exists_bijective_heckeEquivariant_addMonoidHom_pic0_complex_xH_quotient_periodLatticeOf_slash490 below · depth 22 - Semilinear transport of places under a curve-model automorphism
AlgebraicCurve.CurveModel.pointEquivPlace_eq_smul_pointEquivPlace_of_fromSpecStalk_comp_eq_of_apply_closedPoint_eq0 below · depth 23 - Equivariance of evaluation at a place under semilinear automorphisms
AlgebraicCurve.Place.evalAt_smul_smul_eq_baseAut_evalAt0 below · depth 23 - A ℚ̄-linear automorphism is determined by its action on places
AlgebraicCurve.SemilinearAut.eq_of_forall_smul_place_eq14 below · depth 23 - Vanishing cycles span the monodromy differences, naturally
AlgebraicCurve.exists_vanishingCycles_smul_sub_mem_span_of_semistableCovering_of_discFibres_of_rankOne_of_lifts_of_src_ne_tgt_of_charZero_of_semistableModel_of_forall_pow_eq_self_of_algEquiv1,137 below · depth 23 - Toric bound for the kernel of chartwise reduction
AlgebraicCurve.finrank_ker_reduction_add_le_of_semistableCovering_of_discFibres_of_rankOne_of_lifts_of_charZero_of_semistableModel298 below · depth 23 - One S-element moving an ℓ-th root of π cuts out all invariants
AlgebraicCurve.ker_sub_one_eq_iInf_ker_of_pow_eq_of_baseAut_ne_of_semistableCovering_of_discFibres_of_rankOne_of_lifts_of_charZero_of_semistableModel285 below · depth 23 - Level-two monodromy law on the rational Tate module
AlgebraicCurve.rationalGaloisRep_apply_sub_eq_sub_of_semistableCovering_of_discFibres_of_rankOne_of_lifts_of_charZero_of_semistableModel131 below · depth 23 - Chartwise reduction vanishes on averages of chart-trivial automorphisms
AlgebraicCurve.red_apply_eq_zero_of_sum_rationalGaloisRep_eq_zero_of_forall_inducesOnChart_refl_of_mem_invariants1 below · depth 23 - Naturality of chartwise ℓ-adic reduction under a chart-stabilising automorphism
AlgebraicCurve.red_rationalGaloisRep_apply_eq_rationalGaloisRep_red_of_inducesOnChart_of_placeMap_smul_of_isRational_of_mem_invariants0 below · depth 23 - Equal supports and degrees force equal Hecke correspondences
CerednikDrinfeld.HeckeTower.correspondence_eq_of_support_eq_of_finrankAlong_eq66 below · depth 23 - Rigidity of Hecke tower data with equal divisor correspondences
CerednikDrinfeld.HeckeTower.exists_algEquiv_forall_comp_phi_eq_of_correspondence_eq67 below · depth 23 - Pull-back along α sends pt(τ) to pt(α⁻¹τ)
ModularCurve.ComplexPlaceDictionaryOf.ofAlgAut_smul_pt_eq_pt_inv_smul_of_qExpansion_slash2 below · depth 23 - Inertia naturality on the supersingular charts, q=3
ModularCurve.FullLevel.SemistableCovering.naturality_inertia_supersingular_of_discTransport_of_inTube_of_perm_drinfeld_of_eq_three_of_dvd3,868 below · depth 23 - Inertia naturality on the supersingular charts, q=2
ModularCurve.FullLevel.SemistableCovering.naturality_inertia_supersingular_of_discTransport_of_inTube_of_perm_drinfeld_of_eq_two_of_dvd3,866 below · depth 23 - Inertia stabilises the supersingular valuation rings O_{SS}(s)
ModularCurve.FullLevel.arithmeticGalois_smul_mem_drinfeldRing_iff_of_componentChart3,870 below · depth 23 - A test function vanishing on the supersingular component, q=3
ModularCurve.FullLevel.exists_fullLevelFunction_residue_zero_unit_igusa_ord_zero_tubeAnnulus_jE_of_eq_three_of_dvd46 below · depth 23 - Full-level test function at q=2: Igusa unit, zero residue
ModularCurve.FullLevel.exists_fullLevelFunction_residue_zero_unit_igusa_ord_zero_tubeAnnulus_jE_of_eq_two_of_dvd46 below · depth 23 - Supersingular prolongation with smooth charts, node presentations, Hasse J
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodePresentations_crossUnits_igusaOverS_inertia_nodeCharts_hasseJ3,844 below · depth 23 - Supersingular prolongation: charts, node annuli, cross units, inertia
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodePresentations_crossUnits_inertia3,845 below · depth 23 - Tube annuli and residue discs at a supersingular place (q=3)
ModularCurve.FullLevel.exists_tubeAnnuli_width_inertia_discs_charted_inertNodes_nodeRings_nodeCharts_moduliHasse_of_eq_three_of_dvd3,933 below · depth 23 - Tube annuli, discs and node rings at one supersingular place (q=2)
ModularCurve.FullLevel.exists_tubeAnnuli_width_inertia_discs_charted_inertNodes_nodeRings_nodeCharts_moduliHasse_of_eq_two_of_dvd3,933 below · depth 23 - No smooth-point package at an Igusa end, q=3
ModularCurve.FullLevel.not_smoothPointPackage_of_annulusPair_attached_igusaEnd_of_testFunction_fullLevel_of_eq_three_of_dvd1 below · depth 23 - No smooth-point package at an Igusa-end node, q=2
ModularCurve.FullLevel.not_smoothPointPackage_of_annulusPair_attached_igusaEnd_of_testFunction_fullLevel_of_eq_two_of_dvd1 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 - 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 - 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 - 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 - 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
… and 172 more statements (search for the module name to find them).