Definitions/Def_ModularCurve_LevelRelabelling.lean
Relabelling level structures by integral 2 × 2 matrices
This module defines the operation of changing the basis of a level structure by a 2\times 2 integer matrix, in two incarnations, and a predicate pinning down automorphisms of a full-level moduli problem as such relabellings.
For a Weierstrass curve W over a field T, toPoint sends a coordinate pair (x,y) to the affine point Point.some x y when (x,y) is a nonsingular point of the affine model, and to the point at infinity otherwise, while ofPoint returns the coordinates of an affine point and (0,0) at infinity. With these, LevelPData.relabel W g D takes the quadruple D=(x_P,y_P,x_Q,y_Q) of ModularCurve.LevelPData T, converts it to a pair P,Q of points of W.toAffine.Point, and records the coordinates of g_{00}\cdot P+g_{10}\cdot Q and g_{01}\cdot P+g_{11}\cdot Q; that is, the row vector (P,Q) is multiplied on the right by g, the integers acting by the Mathlib group law.
In the Drinfeld setting, for a projective Weierstrass curve W over a commutative ring T with a relative group law G on its projective model, zsmulSection defines the action of \mathbb{Z} on sections by G.nsmul for non-negative integers and by G.inv of G.nsmul for negative ones, and zlinComb G P Q a b is aP+bQ formed with G.mul. Then RawDrinfeldPair.relabel 𝒢 g x hΔ keeps the curve of x and replaces (P,Q) by (P,Q)\cdot g, using the group law 𝒢\,T\,x.\mathrm{curve}\,h_\Delta supplied by the family 𝒢 at the unit discriminant witness h_\Delta.
Finally, IsModuliRelabelling A ℓ M' q hℓ hN 𝒢 𝒯 ρ is a predicate on a family \rho indexed by \Gamma_0(M') of automorphisms of the moduli datum attached to rigidData A ℓ M' q hℓ hN 𝒢 𝒯: it asserts that for every \gamma, every field T which is an A-algebra, and raw data x,x' over T with x.\mathrm{level}.2.2.\mathrm{curve} of unit discriminant, if x' has the same curve as x, the same first level component (the kernel polynomial at level M'), its LevelPData component equal to LevelPData.relabel of that of x by the integral matrix underlying \gamma, and its raw Drinfeld pair equal to RawDrinfeldPair.relabel of that of x by the same matrix, then (\rho\,\gamma).\mathrm{act} carries the class of x to the class of x' in the quotient by variable changes. The condition is imposed only on field-valued points and is stated without constructing the relabelled raw datum.
Relation to Mathlib
Mathlib supplies the group law on affine points of a Weierstrass curve used by toPoint/ofPoint, and the congruence subgroups CongruenceSubgroup.Gamma0; the level structures, the relative group laws on projective models and the moduli data relabelled here are the project's own notions.
Where it is used
These relabellings express the right action of \Gamma_0(M') on the level data of the fine moduli problem for elliptic curves with a cyclic subgroup, a Katz level-\ell basis and a Drinfeld \Gamma(q)-basis; the predicate IsModuliRelabelling is what ties a given family of automorphisms of the moduli problem to the matrix action, and so to the action on q-expansions used on the modular-curve side of the argument.
References
- N. M. Katz and B. Mazur, Arithmetic Moduli of Elliptic Curves, Annals of Mathematics Studies 108, Princeton University Press, 1985
- J. H. Silverman, The Arithmetic of Elliptic Curves, 2nd edition, Graduate Texts in Mathematics 106, 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.
- 87 lines
- 7 declarations
- used in the statements of 259 theorems and imported by 290 proofs
- imports 5 definition modules
Source file: Definitions/Def_ModularCurve_LevelRelabelling.lean
Imports
Imported by
- no other definition module
Declarations
- def
ModularCurve.LevelRelabelling.toPoint - def
ModularCurve.LevelRelabelling.ofPoint - def
ModularCurve.LevelRelabelling.LevelPData.relabel - def
ModularCurve.LevelRelabelling.zsmulSection - def
ModularCurve.LevelRelabelling.zlinComb - def
ModularCurve.LevelRelabelling.RawDrinfeldPair.relabel - def
ModularCurve.LevelRelabelling.IsModuliRelabelling
Source
import Mathlib import Definitions.Def_ModularCurve_LevelModuliPackage import Definitions.Def_ModularCurve_WeierstrassLevelModuliDatum import Definitions.Def_ModularCurve_WeierstrassLevelComponents import Definitions.Def_ModularCurve_KatzLevelP import Definitions.Def_WeierstrassCurve_DrinfeldLevelFunctor set_option autoImplicit false universe u noncomputable section open scoped Classical namespace ModularCurve.LevelRelabelling section LevelP variable {T : Type u} [Field T] (W : WeierstrassCurve T) def toPoint (x y : T) : W.toAffine.Point := if h : W.toAffine.Nonsingular x y then WeierstrassCurve.Affine.Point.some x y h else 0 def ofPoint : W.toAffine.Point → T × T | WeierstrassCurve.Affine.Point.zero => (0, 0) | WeierstrassCurve.Affine.Point.some x y _ => (x, y) def LevelPData.relabel (g : Matrix (Fin 2) (Fin 2) ℤ) (D : ModularCurve.LevelPData T) : ModularCurve.LevelPData T := let P := toPoint W D.xP D.yP let Q := toPoint W D.xQ D.yQ let P' := ofPoint W (g 0 0 • P + g 1 0 • Q) let Q' := ofPoint W (g 0 1 • P + g 1 1 • Q) ⟨P'.1, P'.2, Q'.1, Q'.2⟩ end LevelP section Drinfeld open WeierstrassCurve.DrinfeldGlobal WeierstrassProjModel variable {T : Type u} [CommRing T] {W : WeierstrassCurve.Projective T} def zsmulSection (G : RelativeGroupLaw T (projModelStrCR W)) : ℤ → Section W → Section W | Int.ofNat k, P => G.nsmul _ k P | Int.negSucc k, P => G.inv _ (G.nsmul _ (k + 1) P) def zlinComb (G : RelativeGroupLaw T (projModelStrCR W)) (P Q : Section W) (a b : ℤ) : Section W := G.mul _ (zsmulSection G a P) (zsmulSection G b Q) variable {A : Type u} [CommRing A] [Algebra A T] def RawDrinfeldPair.relabel (𝒢 : GroupLaws A) (g : Matrix (Fin 2) (Fin 2) ℤ) (x : RawDrinfeldPair T) (hΔ : IsUnit x.curve.Δ) : RawDrinfeldPair T := ⟨x.curve, zlinComb (𝒢 T x.curve hΔ) x.P x.Q (g 0 0) (g 1 0), zlinComb (𝒢 T x.curve hΔ) x.P x.Q (g 0 1) (g 1 1)⟩ end Drinfeld section Pin open WeierstrassCurve.DrinfeldGlobal WeierstrassProjModel def IsModuliRelabelling (A : Type u) [CommRing A] (ℓ M' q : ℕ) (hℓ : ∀ (T : Type u) [CommRing T] [Algebra A T] (W : WeierstrassCurve T) (C : WeierstrassCurve.VariableChange T) (D : ModularCurve.LevelPData T), ModularCurve.IsLevelPStructure W ℓ D → ModularCurve.IsLevelPStructure (C • W) ℓ (D.variableChange C)) (hN : ∀ (T : Type u) [CommRing T] [Algebra A T] (W : WeierstrassCurve T) (C : WeierstrassCurve.VariableChange T) (h : Polynomial T), W.IsCyclicKernel M' h → (C • W).IsCyclicKernel M' (ModularCurve.kernelVariableChangeDeg C ((M' - 1) / 2) h)) (𝒢 : GroupLaws A) (𝒯 : LevelTransport A 𝒢 q) (ρ : ↥(CongruenceSubgroup.Gamma0 M') → (rigidData A ℓ M' q hℓ hN 𝒢 𝒯).toLevelModuliDatum.ProblemAut) : Prop := ∀ (γ : ↥(CongruenceSubgroup.Gamma0 M')) (T : Type u) [Field T] [Algebra A T] (x x' : (rigidData A ℓ M' q hℓ hN 𝒢 𝒯).Raw T) (hΔ : IsUnit x.level.2.2.curve.Δ), x'.curve = x.curve → x'.level.1 = x.level.1 → x'.level.2.1 = LevelPData.relabel x.curve ((γ : Matrix.SpecialLinearGroup (Fin 2) ℤ) : Matrix (Fin 2) (Fin 2) ℤ) x.level.2.1 → x'.level.2.2 = RawDrinfeldPair.relabel 𝒢 ((γ : Matrix.SpecialLinearGroup (Fin 2) ℤ) : Matrix (Fin 2) (Fin 2) ℤ) x.level.2.2 hΔ → (ρ γ).act (Quot.mk _ x) = Quot.mk _ x' end Pin end ModularCurve.LevelRelabelling end
Statements phrased using this module (259)
- Special-fibre points of the rigid chart as level structures
ModularCurve.FullLevel.exists_ssFibreDictionary_chartAlgFin_rigidDataPow2,868 below · depth 28 - Transitivity of Γ(N₀) on Weil-normalised level-ℓ structures
ModularCurve.LevelRelabelling.exists_mem_Gamma_relabel_eq_of_weilPairing0_eq45 below · depth 28 - Special-fibre dictionary for the rigid chart at level Γ(q)∩Γ₁(ℓ_g)∩Γ₀(M')
ModularCurve.FullLevel.Diamond.exists_ssFibreDictionary_chartAlgFin_rigidDataGamma1Pow2,857 below · depth 29 - Constancy of the level-ℓ' Weil pairing on the special fibre
ModularCurve.FullLevel.exists_forall_weilPairing0_eq_of_eq_map_classify_rigidDataPow42 below · depth 29 - Tate point of the Γ₀(M')-rigidified problem and level automorphisms
ModularCurve.FullLevel.exists_pt_forall_isLevelAutAt_map_eq_act_of_exists_ringHom_gamma0Pow_of_tate330 below · depth 29 - No q-torsion and alignment above a supersingular place
ModularCurve.FullLevel.forall_nsmul_eq_zero_and_exists_variableChange_of_over_of_eq_map_classify_rigidDataPow_of_tatePoint2,862 below · depth 29 - Classifying map's image is the integral closure of A[j]
ModularCurve.FullLevel.range_classify_eq_chartAlgFin_of_jOf_eq_jqNModC_of_exists_ringHom_gamma0Pow2,210 below · depth 29 - Relabelling action of Γ₀(M') on the rigidified moduli problem
ModularCurve.LevelRelabelling.exists_isModuliRelabelling_gamma0Pow129 below · depth 29 - Cusp-regular integral level-M' functions lie in the j-chart
ModularCurve.FullLevel.Diamond.coeffEmb_mem_chartAlgFin_of_cuspRegular_of_mem_integers827 below · depth 30 - Directed supersingular-fibre dictionary for the Γ₁(ℓ_g)-rigid moduli data
ModularCurve.FullLevel.Diamond.exists_ssFibreDictionary_chartAlgFin_rigidDataGamma1Pow_directedAt2,856 below · depth 30 - Density of the full-level classifying image at the Tate point
ModularCurve.FullLevel.dense_range_classify_of_jOf_eq_jqNModC_of_exists_ringHom_gamma0Pow_of_finiteType486 below · depth 30 - One moduli place for all rigid-chart points over s
ModularCurve.FullLevel.exists_place_forall_isModuliPlaceOf_of_over_of_eq_map_classify_rigidDataPow_of_tatePoint2,858 below · depth 30 - Level automorphisms act on the Tate datum by γ-relabelling
ModularCurve.FullLevel.exists_variableChange_act_mapRing_eq_relabel_of_isLevelAutAt_of_level_fst_gamma0Pow246 below · depth 30 - Tate raw datum: weight-one twist, cusp levels, j=j(mathsf q^{qℓ})
ModularCurve.FullLevel.exists_variableChange_raw_rigidData_tate_weightOne_level_fst_gamma0Pow286 below · depth 30 - Integral closedness of the q-expansion image of the moduli ring
ModularCurve.FullLevel.mem_range_of_isIntegral_range_levelModuliPackageAbs_qExpansion_of_isIntegral_of_dense_of_exists_ringHom_gamma0Pow2,176 below · depth 30 - Universal Katz level-ℓ Weil pairing as ℓ-th root of unity
ModularCurve.LevelComponent.exists_pow_eq_one_and_forall_weilPairing0_toPoint_mapRing_eq_of_mk_eq_univ39 below · depth 30 - Relabelling by g then g' with gg' ≡ 1 (mod q)
ModularCurve.LevelRelabelling.RawDrinfeldPair.relabel_relabel_eq_self_of_mul_map_eq_one_of_isLevel104 below · depth 30 - Relabelling problem automorphisms for the Γ₀(M')×Γ(ℓ)×Γ(q) datum
ModularCurve.LevelRelabelling.exists_problemAut_relabel_one_mul_of_isUnit_det_gamma0Pow128 below · depth 30 - Invariance of the point-level Weil pairing under coordinate change
WeierstrassCurve.Affine.weilPairing0_toPoint_variableChange2 below · depth 30 - Level automorphisms act on the Tate point by diamond relabelling
ModularCurve.FullLevel.Diamond.exists_pt_forall_isLevelAutAt_map_eq_act_of_exists_ringHom_rigidDataH1Pow_of_tate_pinGamma1350 below · depth 31 - Vanishing q-torsion and line alignment at supersingular places
ModularCurve.FullLevel.Diamond.forall_nsmul_eq_zero_and_exists_variableChange_and_inLine_of_over_of_eq_map_classify_rigidDataH1Pow_of_tatePoint_pinGamma12,852 below · depth 31 - Range of the H₁-classifying map is the finite chart algebra
ModularCurve.FullLevel.Diamond.range_classify_eq_chartAlgFin_of_jOf_eq_jqNModC_of_exists_ringHom_rigidDataH1Pow2,131 below · depth 31 - Galois translate of the Tate point relabels its Drinfeld pair
ModularCurve.FullLevel.exists_level_snd_snd_act_mapRing_eq_relabel_gamma0Pow230 below · depth 31 - Level automorphisms act on the Tate point by relabelling
ModularCurve.FullLevel.exists_pt_forall_isLevelAutAt_map_eq_act_of_exists_ringHom_gamma0Pow330 below · depth 31 - Supersingular fibre dictionary with automorphism count at s
ModularCurve.FullLevel.exists_ssFibreDictionary_autCount_chartAlgFin_rigidDataPow2,889 below · depth 31 - A unit μ with ⟨μ,0,0,0⟩·τ_*x having the curve of x
ModularCurve.FullLevel.exists_units_curve_act_mapRing_eq_of_isLevelAutAt_gamma0Pow147 below · depth 31 - Closed points above a supersingular place carry no q-torsion
ModularCurve.FullLevel.forall_nsmul_eq_zero_of_over_of_eq_map_classify_rigidDataPow104 below · depth 31 - Components of the full-level moduli ring are normal
ModularCurve.FullLevel.isIntegrallyClosed_quotient_of_mem_minimalPrimes_levelModuliPackageAbs_gamma0Pow2,174 below · depth 31 - Components of the full-level moduli ring have reduced special fibre
ModularCurve.FullLevel.isReduced_residueField_tensorProduct_quotient_of_mem_minimalPrimes_levelModuliPackageAbs_gamma0Pow2,167 below · depth 31 - Minimal primes of the full-level moduli ring are conjugate
ModularCurve.FullLevel.ker_classify_mem_minimalPrimes_and_forall_exists_algEquiv_comap_eq_gamma0Pow2,100 below · depth 31 - Kernel of the q-expansion map is a minimal prime
ModularCurve.FullLevel.ker_mem_minimalPrimes_of_levelModuliPackageAbs_qExpansion_of_dense_of_exists_ringHom_gamma0Pow0 below · depth 31 - Level automorphisms fix the Γ₀-slot at the Tate point
ModularCurve.FullLevel.level_fst_act_mapRing_eq_of_curve_eq_units_of_level_fst_gamma0Pow128 below · depth 31 - Level-ℓ slot of the twisted τ-transport is the γ-relabelling
ModularCurve.FullLevel.level_snd_fst_act_mapRing_eq_relabel_gamma0Pow141 below · depth 31 - Equal floor readings and supersingular fibre force equal Γ₀(M')-class
ModularCurve.FullLevel.moduliPoint_mk_eq_of_forall_apply_qExpand_eq_of_eq_map_classify_rigidDataPow_of_tatePoint2,857 below · depth 31 - Linked Γ₁(ℓ)-point is ℓ^{k-1} times a kernel root
ModularCurve.IsGamma1Link.exists_root_toPoint_eq_pow_smul_toPoint_of_isAlgClosed16 below · depth 31 - Local constancy of the Weil pairing of a level-ℓ basis
ModularCurve.LevelComponent.exists_not_mem_and_exists_pow_eq_one_forall_weilPairing0_toPoint_mapRing_localizationAway_eq33 below · depth 31 - Relabelling a Drinfeld basis depends only on g mod q
ModularCurve.LevelRelabelling.RawDrinfeldPair.relabel_eq_relabel_of_map_eq_of_isLevel_of_two_le3 below · depth 31 - Relabelling raw Drinfeld pairs is a right M₂(ℤ)-action
ModularCurve.LevelRelabelling.RawDrinfeldPair.relabel_relabel0 below · depth 31 - Diamond relabelling by Γ₀(M') on `rigidDataH1Pow`
ModularCurve.LevelRelabelling.exists_isModuliRelabelling_rigidDataH1Pow180 below · depth 31 - Natural relabelling of level-ℓ data by integral matrices
ModularCurve.LevelRelabelling.exists_natural_relabel_levelPData19 below · depth 31 - Weil-normalised level-ℓ structures number #SL₂(ℤ/ℓ)
ModularCurve.LevelRelabelling.natCard_isLevelPStructure_weilPairing0_eq_eq_natCard_specialLinearGroup51 below · depth 31 - Rigidity of Katz level-ℓ structures over algebraically closed fields
ModularCurve.LevelRelabelling.variableChange_eq_one_of_smul_eq_of_variableChange_eq_of_isLevelPStructure3 below · depth 31 - Invariance of the in-line polynomial under P↦[a]P
ModularCurve.exists_inLineMulPoly_eq_C_mul_of_toPoint_eq_zsmul_of_eval_prePsi_eq_zero6 below · depth 31 - Presentation independence of the point-level Weil pairing
WeierstrassCurve.Affine.weilPairing0_toPoint_eq_of_baseChange_eq0 below · depth 31 - Commutativity of origin-pinned relative group laws on Weierstrass models
WeierstrassCurve.DrinfeldGlobal.GroupLaws.mul_comm_of_isOriginIdentity99 below · depth 31 - Relabelling a Drinfeld basis by a matrix with unit determinant mod q
WeierstrassCurve.DrinfeldGlobal.IsDrinfeldBasis.zlinComb_zlinComb_of_isUnit_det0 below · depth 31 - Relabelling commutes with variable-change transport of Drinfeld pairs
WeierstrassCurve.DrinfeldGlobal.LevelTransport.act_relabel_eq_relabel_act24 below · depth 31 - Negation variable change transports to group-law inversion
WeierstrassCurve.DrinfeldGlobal.LevelTransport.exists_act_neg_comp_eqToHom_eq_inv85 below · depth 31 - Base change commutes with GL₂(ℤ)-relabelling of raw Drinfeld pairs
WeierstrassCurve.DrinfeldGlobal.LevelTransport.map_relabel_eq_relabel_map24 below · depth 31 - Sections through an independent q-torsion pair are a Drinfeld basis
WeierstrassCurve.DrinfeldGlobal.isDrinfeldBasis_of_isSectionThrough_of_torsion_basis118 below · depth 31 - Dense image of the H₁ classifying map at j(q^q)
ModularCurve.FullLevel.Diamond.dense_range_classify_of_jOf_eq_jqNModC_of_exists_ringHom_rigidDataH1Pow_of_finiteType492 below · depth 32 - A single moduli place above a supersingular place, H₁ level
ModularCurve.FullLevel.Diamond.exists_place_forall_isModuliPlaceOf_of_over_of_eq_map_classify_rigidDataH1Pow_of_tatePoint_pinGamma12,847 below · depth 32 - Level automorphism at γ⁻¹ realises the diamond relabelling
ModularCurve.FullLevel.Diamond.exists_variableChange_act_mapRing_eq_relabel_of_isLevelAutAt_of_level_fst_rigidDataH1Pow252 below · depth 32 - Tate point of the H₁ moduli problem over K
ModularCurve.FullLevel.Diamond.exists_variableChange_raw_rigidData_tate_weightOne_level_fst_rigidDataH1Pow300 below · depth 32 - Reduced special fibre on each component of the H₁ moduli ring
ModularCurve.FullLevel.Diamond.isReduced_residueField_tensorProduct_quotient_of_mem_minimalPrimes_levelModuliPackageAbs_rigidDataH1Pow2,116 below · depth 32 - Every minimal prime is a j-fixing translate of the Tate kernel
ModularCurve.FullLevel.Diamond.ker_classify_mem_minimalPrimes_and_forall_exists_algEquiv_comap_eq_rigidDataH1Pow1,974 below · depth 32 - Integral closedness of the q-expansion image, Γ₁(ℓ_g) edition
ModularCurve.FullLevel.Diamond.mem_range_of_isIntegral_range_levelModuliPackageAbs_qExpansion_of_isIntegral_of_dense_of_exists_ringHom_rigidDataH1Pow2,124 below · depth 32 - Density of the classifying map at the pinned Tate point
ModularCurve.FullLevel.dense_range_classify_of_muTuple_pin_gamma0Pow722 below · depth 32 - Supersingular places read off injectively from Γ₀(M')-classes
ModularCurve.FullLevel.exists_injective_forall_place_eq_of_forall_evalAt_eq_of_eq_map_classify_rigidDataPow_of_tatePoint2,847 below · depth 32 - Closed points of the rigid j-chart read rational floor places
ModularCurve.FullLevel.exists_place_forall_evalAt_eq_apply_qExpand_of_eq_map_classify_rigidDataPow865 below · depth 32 - Level automorphisms act on the Tate point as relabelling
ModularCurve.FullLevel.exists_pt_forall_isLevelAutAt_map_eq_act_of_exists_ringHom_gamma0Pow_of_tate_of_algebra_of_isScalarTower332 below · depth 32 - Transport of level automorphism and supersingular point to j-chart
ModularCurve.FullLevel.exists_ringHom_chartAlgFin_levelAut_comap_eq_of_isLevelAutAt_of_ringHom_cyclotomic_rigidDataPow968 below · depth 32 - Admissible constants over a cyclotomic discrete valuation ring
ModularCurve.FullLevel.exists_valuationSubring_admissibleConstants_over_cyclotomic11 below · depth 32 - Flatness of the full-level moduli ring over a discrete valuation ring
ModularCurve.FullLevel.flat_levelModuliPackageAbs_gamma0Pow_of_isDiscreteValuationRing_of_five_le1,383 below · depth 32 - Minimal primes of the full-level moduli ring as relabelling translates
ModularCurve.FullLevel.forall_exists_algEquiv_comap_ker_classify_eq_of_dense_gamma0Pow1,747 below · depth 32 - Normality of generic fibres of the full-level moduli ring
ModularCurve.FullLevel.isDomain_and_isIntegrallyClosed_tensorProduct_quotient_of_mem_minimalPrimes_levelModuliPackageAbs_gamma0Pow1,387 below · depth 32 - Geometric integrality of components of the full-level moduli ring
ModularCurve.FullLevel.isDomain_tensorProduct_quotient_of_mem_minimalPrimes_levelModuliPackageAbs_gamma0Pow_of_isPrimitiveRoot2,104 below · depth 32 - Reduced special fibre at a supersingular point of a full-level component
ModularCurve.FullLevel.isReduced_residueField_tensorProduct_adicCompletion_quotient_of_nthSeries_eq_mul_X_pow_mul_of_pow_sub_one_eq_mul_levelModuliPackageAbs_gamma0Pow1,474 below · depth 32 - Reduced special fibre at an ordinary point
ModularCurve.FullLevel.isReduced_residueField_tensorProduct_adicCompletion_quotient_of_nthSeries_eq_mul_X_pow_of_isPrimitiveRoot_levelModuliPackageAbs_gamma0Pow1,459 below · depth 32 - Kernel of the classifying map at j(q^{qℓ}) is minimal
ModularCurve.FullLevel.ker_classify_mem_minimalPrimes_of_jOf_eq_jqNModC_gamma0Pow104 below · depth 32 - Level automorphisms in Γ(ℓ')∩Γ₀(M') fix supersingular closed points
ModularCurve.FullLevel.levelAut_sub_self_mem_of_isLevelAutAt_of_mem_Gamma_of_over_ssPlace_rigidDataPow2,871 below · depth 32 - A Γ₀(M') element fixing the Tate point is ± 1 mod qℓ
ModularCurve.FullLevel.map_eq_one_or_eq_neg_one_of_act_eq_self_gamma0Pow106 below · depth 32 - Automorphisms of the Γ₀(M')-fibre datum over a supersingular place
ModularCurve.FullLevel.natCard_variableChange_act_curve_eq_and_level_fst_eq_eq_two_mul_placeWidthChar_of_over_of_eq_map_classify_rigidDataPow_of_tatePoint2,872 below · depth 32 - Degeneracy image of a cusp-regular integral function is chart-integral
ModularCurve.FullLevel.qExpand_mem_chartAlgFin_of_cuspRegular_of_mem_integers828 below · depth 32 - Level automorphism acts on transported cusp data through γ
ModularCurve.FullLevel.zsmul_toPoint_add_zsmul_toPoint_eq_toPoint_levelAut_of_map_eq_cuspData_of_exists_ringHom140 below · depth 32 - Relabelling a level-ℓ structure by a matrix invertible mod ℓ
ModularCurve.IsLevelPStructure.relabel_of_isUnit_det4 below · depth 32 - Relabelling a level-ℓ structure is a right GL₂(ℤ/ℓ)-action
ModularCurve.IsLevelPStructure.relabel_relabel_and_relabel_one_and_relabel_eq_of_map_eq4 below · depth 32 - Relabelling level-ℓ data commutes with Weierstrass coordinate changes
ModularCurve.IsLevelPStructure.relabel_variableChange5 below · depth 32 - Universal relabelling of the level-ℓ basis exists
ModularCurve.LevelP.exists_levelPData_map_eq_relabel_univData5 below · depth 32 - Natural [a]-multiplication on Γ₁(ℓ)-data over A-algebras
ModularCurve.LevelRelabelling.exists_natural_zsmul_gamma1Point172 below · depth 32 - Relabelled level data read back as the relabelled points
ModularCurve.LevelRelabelling.toPoint_relabel_eq_zsmul_add_zsmul0 below · depth 32 - Weil pairing of a Katz level-ℓ structure is primitive
WeierstrassCurve.Affine.isPrimitiveRoot_weilPairing0_toPoint_of_isLevelPStructure44 below · depth 32 - Diamond invariance of the in-line product polynomial for sections
WeierstrassCurve.DrinfeldGlobal.exists_isUnit_inLineMulPoly_eq_C_mul_of_isSectionThrough_zsmulSection178 below · depth 32 - Transport along a change of variables on sections through a point
WeierstrassCurve.DrinfeldGlobal.isSectionThrough_act_of_isSectionTransport0 below · depth 32 - Sections of a transported Drinfeld pair pass through f-images
WeierstrassCurve.DrinfeldGlobal.isSectionThrough_map_of_isSectionTransport0 below · depth 32 - Integer combinations of sections pass through the combined points
WeierstrassCurve.DrinfeldGlobal.isSectionThrough_zlinComb_of_isSectionThrough86 below · depth 32 - Moduli reading of a supersingular point of the cyclotomic two-chart model
ModularCurve.FullLevel.AuxLevel.exists_levelModuliPackageAbs_gamma0Pow_ringEquiv_adicCompletion_stalk_const_classify_levelAut_of_mem_ssJSet2,259 below · depth 33 - Transported μ_{p^k} kernel has coefficients in the level-H₁ field
ModularCurve.FullLevel.Diamond.coeff_kernelVariableChangeDeg_mem_range_of_variableChange_tateToricPoint_fst_mem_range_rigidDataH1Pow58 below · depth 33 - Transport of the Drinfeld Γ(q)-pair is relabelling by γ
ModularCurve.FullLevel.Diamond.exists_level_snd_snd_act_mapRing_eq_relabel_rigidDataH1Pow236 below · depth 33 - Transport of a cyclotomic level automorphism to the k₀-chart
ModularCurve.FullLevel.Diamond.exists_ringHom_chartAlgFin_levelAut_comap_eq_of_isLevelAutAt_of_ringHom_cyclotomic_rigidDataGamma1Pow939 below · depth 33 - Level automorphism rescales the Tate datum by a weight-one unit
ModularCurve.FullLevel.Diamond.exists_units_curve_act_mapRing_eq_of_isLevelAutAt_rigidDataH1Pow151 below · depth 33 - K-rationality of the weight-one twist of Tate(mathsf q^q)
ModularCurve.FullLevel.Diamond.exists_variableChange_weightOne_tateBase_mem_laurentBaseChange_and_cuspData_mem_of_exists_ringHom_pinGamma1114 below · depth 33 - Flatness over a DVR of the H₁-level fine moduli ring
ModularCurve.FullLevel.Diamond.flat_levelModuliPackageAbs_rigidDataH1Pow_of_isDiscreteValuationRing1,398 below · depth 33 - Minimal primes as j₀-fixing translates of the Tate kernel
ModularCurve.FullLevel.Diamond.forall_exists_algEquiv_comap_ker_classify_eq_of_dense_rigidDataH1Pow1,745 below · depth 33 - Supersingular specialisations of the H₁ datum have no q-torsion
ModularCurve.FullLevel.Diamond.forall_nsmul_eq_zero_of_over_of_eq_map_classify_rigidDataH1Pow104 below · depth 33 - Components of the H₁ fine moduli ring stay integral over L
ModularCurve.FullLevel.Diamond.isDomain_tensorProduct_quotient_of_mem_minimalPrimes_levelModuliPackageAbs_rigidDataH1Pow_of_isPrimitiveRoot2,056 below · depth 33 - Minimal-prime quotients of the H₁ moduli ring are normal
ModularCurve.FullLevel.Diamond.isIntegrallyClosed_quotient_of_mem_minimalPrimes_levelModuliPackageAbs_rigidDataH1Pow2,123 below · depth 33 - Reduced special fibre at a supersingular point, H₁ level
ModularCurve.FullLevel.Diamond.isReduced_residueField_tensorProduct_adicCompletion_quotient_of_nthSeries_eq_mul_X_pow_mul_of_pow_sub_one_eq_mul_levelModuliPackageAbs_rigidDataH1Pow1,485 below · depth 33 - Reduced special fibre at an ordinary point, H₁ level
ModularCurve.FullLevel.Diamond.isReduced_residueField_tensorProduct_adicCompletion_quotient_of_nthSeries_eq_mul_X_pow_of_isPrimitiveRoot_levelModuliPackageAbs_rigidDataH1Pow1,471 below · depth 33 - Dense q-expansion kernel is a minimal prime (H₁ level)
ModularCurve.FullLevel.Diamond.ker_mem_minimalPrimes_of_levelModuliPackageAbs_qExpansion_of_dense_of_exists_ringHom_rigidDataH1Pow0 below · depth 33 - Trivial-diamond level automorphisms fix supersingular chart points
ModularCurve.FullLevel.Diamond.levelAut_sub_self_mem_of_isLevelAutAt_of_mem_gamma0_of_apply_eq_one_of_over_ssPlace_rigidDataGamma1Pow2,859 below · depth 33 - Γ₀(M')-component fixed by the rescaled level automorphism
ModularCurve.FullLevel.Diamond.level_fst_act_mapRing_eq_of_curve_eq_units_of_level_fst_rigidDataH1Pow14 below · depth 33 - Equal floor readings force equal Γ₀(M')-moduli class
ModularCurve.FullLevel.Diamond.moduliPoint_mk_eq_of_forall_apply_eq_of_eq_map_classify_rigidDataH1Pow_of_tatePoint_pinGamma12,846 below · depth 33 - Diamond action: Γ₁(ℓ_g)-point of the τ-transport is γ₀₀-fold
ModularCurve.FullLevel.Diamond.toPoint_level_snd_fst_act_mapRing_eq_zsmul_toPoint_of_curve_eq_units_rigidDataH1Pow142 below · depth 33 - Minimal primes of the moduli ring dominate the j-line
ModularCurve.FullLevel.comap_adjoin_jZero_eq_bot_of_mem_minimalPrimes_gamma0Pow1,397 below · depth 33 - Weil pairings separate relabelled full-level components
ModularCurve.FullLevel.det_eq_of_ker_classify_act_eq_of_relabel_gamma0Pow281 below · depth 33 - Closed points of the rigid chart read through R₀
ModularCurve.FullLevel.exists_algHom_forall_apply_residue_eq_apply_qExpand_of_eq_map_classify_rigidDataPow860 below · depth 33 - Minimal primes of the full-level moduli ring are q-expansion kernels
ModularCurve.FullLevel.exists_algHom_laurentSeries_ker_eq_of_mem_minimalPrimes_levelModuliPackageAbs_gamma0Pow_of_isPrimitiveRoot2,101 below · depth 33 - Constants of A=A₀[ζ_q] lie in the classifying map's image
ModularCurve.FullLevel.exists_classify_eq_algebraMap_of_adjoin_eq_top_gamma0Pow_of_finite_residueField1,417 below · depth 33 - Γ₀(M')-layer lies in fractions of classify-values at the Tate point
ModularCurve.FullLevel.exists_classify_eq_of_coe_eq_qExpand_of_mem_laurentBaseChange_gamma0Pow_tatePoint456 below · depth 33 - Supersingular closed point lifts to the chart over admissible constants
ModularCurve.FullLevel.exists_isMaximal_chartAlgFin_comap_eq_of_coeffMap_cyclotomic_rigidDataPow197 below · depth 33 - Read place is a moduli place of the Frobenius-twisted fibre
ModularCurve.FullLevel.exists_isModuliPlaceOf_map_frobenius_of_forall_evalAt_eq_of_eq_map_classify_rigidDataPow_of_tatePoint2,828 below · depth 33 - Transport of level automorphisms along a cyclotomic coefficient map
ModularCurve.FullLevel.exists_ringHom_chartAlgFin_isLevelAutAt_restrict_comp_eq_of_isLevelAutAt_cyclotomic_rigidDataPow242 below · depth 33 - Supersingular fibre dictionary with Γ₀(M') relabelling
ModularCurve.FullLevel.exists_ssFibreDictionary_relabel_of_isLevelAutAt_chartAlgFin_rigidDataPow2,868 below · depth 33 - Supersingular points of the j-chart lie over supersingular places
ModularCurve.FullLevel.exists_ssPlace_under_of_isMaximal_chartAlgFin_of_mem_ssJSet_rigidDataPow891 below · depth 33 - Generic rank of the moduli component through a dense point
ModularCurve.FullLevel.finrank_fractionRing_tensorProduct_quotient_ker_classify_eq_of_dense_gamma0Pow346 below · depth 33 - Classifying map has image the j-finite chart algebra
ModularCurve.FullLevel.forall_classify_mem_chartAlgFin_and_forall_exists_classify_eq_of_jOf_eq_jqNModC_gamma0Pow_of_isScalarTower2,213 below · depth 33 - Generic fibre of the full-level moduli ring: reduced, of rank ψ(M')|GL₂(𝔽_ℓ)||GL₂(𝔽_q)|/2
ModularCurve.FullLevel.isReduced_and_finrank_fractionRing_tensorProduct_levelModuliPackageAbs_eq_gamma0Pow301 below · depth 33 - Kernel of the Tate-point classifying map lies in every prime power
ModularCurve.FullLevel.ker_classify_le_pow_of_isPrime_of_jOf_eq_jqNModC_gamma0Pow_of_adjoin_eq_top2,123 below · depth 33 - Level automorphism fixing the Tate point's classifying image is trivial
ModularCurve.FullLevel.levelAut_eq_one_of_forall_apply_classify_eq_gamma0Pow_tatePoint312 below · depth 33 - Unramified descent of completed local rings at an ordinary point
ModularCurve.FullLevel.nonempty_ringEquiv_adicCompletion_quotient_adicCompletion_unramified_of_nthSeries_eq_mul_X_pow_levelModuliPackageAbs_gamma0Pow1,455 below · depth 33 - Completed local ring at a supersingular point descends to an unramified base
ModularCurve.FullLevel.nonempty_ringEquiv_adicCompletion_quotient_adicCompletion_unramified_of_nthSeries_eq_mul_X_pow_mul_levelModuliPackageAbs_gamma0Pow1,455 below · depth 33 - Relabelling by γ∈Γ(ℓ')∩Γ₀(M') fixes a supersingular class
ModularCurve.FullLevel.quotMk_eq_of_relabel_of_mem_Gamma_of_forall_smul_eq_zero_rigidDataPow10 below · depth 33 - Smoothness of the generic fibre of the full-level moduli ring
ModularCurve.FullLevel.smooth_tensorProduct_levelModuliPackageAbs_gamma0Pow_of_isFractionRing213 below · depth 33 - Relabelling rigidity for Katz level-ℓ structures over a field
ModularCurve.IsLevelPStructure.map_eq_of_relabel_variableChange_eq4 below · depth 33 - Complete local ring at a supersingular point, with level relabelling
ModularCurve.LevelModuliPackageAbs.exists_isDrinfeldBasisAdic_isRegularLocalRing_hasseParam_problemAut_linearPart_adicCompletion_of_forall_mem_ssJSet_gamma0Pow1,093 below · depth 33 - Relabelling by a matrix invertible mod qℓ gives problem automorphisms
ModularCurve.LevelRelabelling.exists_problemAut_relabel_of_isUnit_det_gamma0Pow128 below · depth 33 - Relabelling commutes with a Weierstrass change of variables
ModularCurve.LevelRelabelling.relabel_smul_variableChange1 below · depth 33 - Relabelling cusp data on the Tate curve is linear in (v,w)
ModularCurve.LevelRelabelling.relabel_tateBase_cuspData_eq_cuspData_zsmul_add_zsmul50 below · depth 33 - Tate-curve divisibility of the level kernel into `inLineMulPoly`
ModularCurve.dvd_inLineMulPoly_of_map_eq_variableChange_tateBase_tateToricPoint_of_map_eq_kernelVariableChangeDeg19 below · depth 33 - Toric ℓ-torsion points give Γ₁(ℓ)-points on the Tate curve
ModularCurve.isGamma1Point_tateBase_tateToricPoint_of_isPrimitiveRoot17 below · depth 33 - Torsion basis at the Tate cusp pair of level q
ModularCurve.torsion_basis_of_map_eq_variableChange_tateBase_cuspData86 below · depth 33 - Non-zero multiples of an ℓ-torsion section avoid infinity
WeierstrassCurve.DrinfeldGlobal.exists_isSectionThrough_zsmulSection_of_eval_prePsi_eq_zero119 below · depth 33 - Relabelling fixing a Drinfeld basis reduces to ± 1
WeierstrassCurve.DrinfeldGlobal.map_eq_of_act_relabel_eq98 below · depth 33 - Moduli reading of a supersingular stalk with level-automorphism dictionary
ModularCurve.FullLevel.AuxLevelOne.exists_levelModuliPackageAbs_rigidDataH1Pow_ringEquiv_adicCompletion_stalk_const_classify_levelAut_of_mem_ssJSet_of_isPrimitiveRoot_mul_of_dvd2,214 below · depth 34 - Minimal primes of the H₁ moduli ring contract to zero
ModularCurve.FullLevel.Diamond.comap_adjoin_jZero_eq_bot_of_mem_minimalPrimes_rigidDataH1Pow1,409 below · depth 34 - Drinfeld relabellings with equal classifying kernels have congruent determinants
ModularCurve.FullLevel.Diamond.det_eq_of_ker_classify_act_eq_of_relabel_drinfeld_rigidDataH1Pow270 below · depth 34 - Minimal primes of the H₁ moduli ring as q-expansion kernels
ModularCurve.FullLevel.Diamond.exists_algHom_laurentSeries_ker_eq_of_mem_minimalPrimes_levelModuliPackageAbs_rigidDataH1Pow_of_isPrimitiveRoot2,053 below · depth 34 - Supersingular places injectively indexed by Γ₀(M')-moduli points
ModularCurve.FullLevel.Diamond.exists_injective_forall_place_eq_of_forall_evalAt_eq_of_eq_map_classify_rigidDataH1Pow_of_tatePoint_pinGamma12,836 below · depth 34 - A maximal ideal of the k₀-chart contracting to y₁
ModularCurve.FullLevel.Diamond.exists_isMaximal_chartAlgFin_comap_eq_of_coeffMap_cyclotomic_rigidDataGamma1Pow198 below · depth 34 - One rational place reads all admissible functions at H₁ level
ModularCurve.FullLevel.Diamond.exists_place_forall_evalAt_eq_apply_of_eq_map_classify_rigidDataH1Pow864 below · depth 34 - Transfer of level automorphisms to the j-finite chart
ModularCurve.FullLevel.Diamond.exists_ringHom_chartAlgFin_isLevelAutAt_restrict_comp_eq_of_isLevelAutAt_cyclotomic_rigidDataGamma1Pow212 below · depth 34 - Directed supersingular-fibre dictionary under Γ₀(M')-level automorphisms
ModularCurve.FullLevel.Diamond.exists_ssFibreDictionary_chartAlgFin_rigidDataGamma1Pow_directedAt_of_mem_gamma02,856 below · depth 34 - Supersingular chart points lie over supersingular places (Γ₁(ℓ_g) frame)
ModularCurve.FullLevel.Diamond.exists_ssPlace_under_of_isMaximal_chartAlgFin_of_mem_ssJSet_rigidDataGamma1Pow890 below · depth 34 - Rank of the H₁ classifying quotient at a dense j(mathsf q^q) point
ModularCurve.FullLevel.Diamond.finrank_fractionRing_tensorProduct_quotient_ker_classify_eq_of_dense_rigidDataH1Pow341 below · depth 34 - Normality of generic fibres of the H₁ moduli components
ModularCurve.FullLevel.Diamond.isDomain_and_isIntegrallyClosed_tensorProduct_quotient_of_mem_minimalPrimes_levelModuliPackageAbs_rigidDataH1Pow1,402 below · depth 34 - Reduced generic fibre of the H₁ moduli ring, with its rank
ModularCurve.FullLevel.Diamond.isReduced_and_finrank_fractionRing_tensorProduct_levelModuliPackageAbs_eq_rigidDataH1Pow309 below · depth 34 - q-expansion criterion at a supersingular point, H₁ level
ModularCurve.FullLevel.Diamond.mem_of_forall_coeff_mem_maximalIdeal_of_isMaximal_of_mem_ssJSet_chartAlgFin_rigidDataGamma1Pow_of_isPrimitiveRoot_mul2,299 below · depth 34 - Unramified model for an ordinary completed local ring
ModularCurve.FullLevel.Diamond.nonempty_ringEquiv_adicCompletion_quotient_adicCompletion_unramified_of_nthSeries_eq_mul_X_pow_levelModuliPackageAbs_rigidDataH1Pow1,468 below · depth 34 - Supersingular completed local ring descends to an unramified base
ModularCurve.FullLevel.Diamond.nonempty_ringEquiv_adicCompletion_quotient_adicCompletion_unramified_of_nthSeries_eq_mul_X_pow_mul_levelModuliPackageAbs_rigidDataH1Pow1,469 below · depth 34
… and 109 more statements (search for the module name to find them).