Definitions/Def_ModularCurve_WeierstrassGamma1Pow.lean
Weierstrass Γ₁(ℓ)-point level component and associated rigid data
For a commutative ring A, a natural number \ell and an A-algebra T, the carrier used here is ModularCurve.LevelPData T, the datum of two affine points recorded by their coordinates x_P,y_P,x_Q,y_Q \in T, with its base-change operation map along a ring homomorphism and its variableChange action of WeierstrassCurve.VariableChange T. The predicate ModularCurve.IsGamma1Point W ℓ D, for a Weierstrass curve W over T, is a structure with four fields: (x_P,y_P) satisfies the affine Weierstrass equation of W; the \ell-th pre-division polynomial of W vanishes at x_P, i.e. (W.\mathrm{preΨ}\ \ell)(x_P)=0; and x_Q=x_P, y_Q=y_P, so that the second point is a duplicate of the first and the transport laws already available for LevelPData can be reused. Thus the condition is a condition on the chosen Weierstrass model: it asserts only that x_P is a root of the \ell-division polynomial, with no exact-order, primitivity, or compatibility-with-other-slots requirement. ModularCurve.IsGamma1Point.map records that the predicate is preserved by a ring homomorphism f : A \to B, applied to W and to the coordinates of D.
ModularCurve.gamma1Component A ℓ hℓ packages this as a LevelComponent A: objects LevelPData T, level condition IsGamma1Point W ℓ, functoriality by coordinatewise base change, and the action of variable changes by LevelPData.variableChange; the compatibility of the level condition with variable changes is not proved here but taken as the hypothesis hℓ. Finally WeierstrassCurve.DrinfeldGlobal.rigidDataGamma1Pow A ℓ M' q hℓ hM 𝒢 𝒯 is the RigidWeierstrassData A obtained from the triple product of the \Gamma_0(M') prime-power kernel-polynomial component, this \Gamma_1(\ell)-point component, and the Drinfeld basis component of level q attached to 𝒢 and 𝒯; its points over T are equivalence classes, for the variable-change relation, of quadruples consisting of a Weierstrass curve with invertible discriminant together with the three level data.
Relation to Mathlib
Mathlib supplies the ambient notions used: WeierstrassCurve, its pre-division polynomials preΨ, affine equations, and variable changes. The level carriers and bookkeeping structures (LevelPData, LevelComponent, RigidWeierstrassData) are the project's own; Mathlib has no notion of level structure on a Weierstrass model.
Where it is used
These data feed the project's Weierstrass-model description of modular curves with auxiliary level structure, in the form used to compare Drinfeld-basis level data with the \Gamma_0- and \Gamma_1-type conditions appearing in the modularity-lifting argument. The \Gamma_1(\ell) slot replaces a full level-\ell basis by a single point whose x-coordinate kills the \ell-division polynomial; conditions relating this point to the \Gamma_0(M') kernel polynomial are not part of the predicate and must be supplied separately by users of the datum.
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, Graduate Texts in Mathematics 106, Springer, 1986
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 65 lines
- 7 declarations
- used in the statements of 160 theorems and imported by 170 proofs
- imports 1 definition modules
Source file: Definitions/Def_ModularCurve_WeierstrassGamma1Pow.lean
Imported by
Declarations
- structure
ModularCurve.IsGamma1Point - field
ModularCurve.IsGamma1Point.equation_P - field
ModularCurve.IsGamma1Point.xQ_eq - field
ModularCurve.IsGamma1Point.yQ_eq - theorem
ModularCurve.IsGamma1Point.map - def
ModularCurve.gamma1Component - def
WeierstrassCurve.DrinfeldGlobal.rigidDataGamma1Pow
Source
import Mathlib import Definitions.Def_ModularCurve_WeierstrassGamma0Pow set_option autoImplicit false universe u namespace ModularCurve structure IsGamma1Point {A : Type u} [CommRing A] (W : WeierstrassCurve A) (ℓ : ℕ) (D : LevelPData A) : Prop where equation_P : W.toAffine.Equation D.xP D.yP preΨ_P : (W.preΨ ℓ).eval D.xP = 0 xQ_eq : D.xQ = D.xP yQ_eq : D.yQ = D.yP namespace IsGamma1Point variable {A : Type u} {B : Type u} [CommRing A] [CommRing B] {W : WeierstrassCurve A} {ℓ : ℕ} {D : LevelPData A} theorem map (h : IsGamma1Point W ℓ D) (f : A →+* B) : IsGamma1Point (W.map f) ℓ (D.map f) where equation_P := h.equation_P.map f preΨ_P := by rw [LevelPData.map_xP, WeierstrassCurve.map_preΨ, Polynomial.eval_map, Polynomial.eval₂_at_apply, h.preΨ_P, map_zero] xQ_eq := by rw [LevelPData.map_xQ, LevelPData.map_xP, h.xQ_eq] yQ_eq := by rw [LevelPData.map_yQ, LevelPData.map_yP, h.yQ_eq] end IsGamma1Point noncomputable def gamma1Component (A : Type u) [CommRing A] (ℓ : ℕ) (hℓ : ∀ (T : Type u) [CommRing T] [Algebra A T] (W : WeierstrassCurve T) (C : WeierstrassCurve.VariableChange T) (D : LevelPData T), IsGamma1Point W ℓ D → IsGamma1Point (C • W) ℓ (D.variableChange C)) : LevelComponent A where obj T _ _ := LevelPData T IsLevel W D := IsGamma1Point W ℓ D map f D := D.map f.toRingHom act C D := D.variableChange C map_id _ := rfl map_comp _ _ _ := rfl act_one D := LevelPData.variableChange_one D act_mul C C' D := LevelPData.variableChange_mul C C' D map_act f C D := LevelPData.map_variableChange f.toRingHom C D isLevel_map f _ _ hD := hD.map f.toRingHom isLevel_act C W D hD := hℓ _ W C D hD end ModularCurve namespace WeierstrassCurve.DrinfeldGlobal noncomputable def rigidDataGamma1Pow (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.IsGamma1Point W ℓ D → ModularCurve.IsGamma1Point (C • W) ℓ (D.variableChange C)) (hM : ∀ (T : Type u) [CommRing T] [Algebra A T] (W : WeierstrassCurve T) (C : WeierstrassCurve.VariableChange T) (p k : ℕ) (h : Polynomial T), ModularCurve.IsGamma0PowAt W p k h → ModularCurve.IsGamma0PowAt (C • W) p k (ModularCurve.kernelVariableChangeDeg C (ModularCurve.gamma0PowDeg p k) h)) (𝒢 : GroupLaws A) (𝒯 : LevelTransport A 𝒢 q) : ModularCurve.RigidWeierstrassData.{u} A := ((ModularCurve.gamma0PowComponent A M' hM).prod ((ModularCurve.gamma1Component A ℓ hℓ).prod (levelComponent A 𝒢 q 𝒯))).toRigid end WeierstrassCurve.DrinfeldGlobal
Statements phrased using this module (160)
- Special-fibre dictionary for the rigid chart at level Γ(q)∩Γ₁(ℓ_g)∩Γ₀(M')
ModularCurve.FullLevel.Diamond.exists_ssFibreDictionary_chartAlgFin_rigidDataGamma1Pow2,857 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 - Representability of the H₁=Γ₀(M')∩Γ₁(ℓ) Weierstrass problem
ModularCurve.FullLevel.Diamond.exists_levelModuliPackageAbs_isIntegral_adjoin_of_isSectionTransport_of_isNoetherianRing_rigidDataH1Pow129 below · depth 31 - 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 - Linked Γ₁(ℓ)-point is ℓ^{k-1} times a kernel root
ModularCurve.IsGamma1Link.exists_root_toPoint_eq_pow_smul_toPoint_of_isAlgClosed16 below · depth 31 - Diamond relabelling by Γ₀(M') on `rigidDataH1Pow`
ModularCurve.LevelRelabelling.exists_isModuliRelabelling_rigidDataH1Pow180 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 - Representability of raw H₁-level data over A
ModularCurve.FullLevel.Diamond.exists_represents_raw_rigidDataH1Pow71 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 - Integrality of the H₁-moduli ring over A[j₀]
ModularCurve.FullLevel.Diamond.isIntegral_adjoin_j0_levelModuliPackageAbs_rigidDataH1Pow99 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 - Unique Tate normal form for a Γ₁(ℓ)-point
ModularCurve.IsGamma1Point.existsUnique_variableChange_isNormalForm6 below · depth 32 - Invariance of Γ₁(ℓ)-point data under Weierstrass coordinate changes
ModularCurve.IsGamma1Point.variableChange0 below · depth 32 - Rigidity of Γ₁(ℓ)-points under variable changes
ModularCurve.IsGamma1Point.variableChange_eq_one_of_smul_eq_of_variableChange_eq7 below · depth 32 - Natural [a]-multiplication on Γ₁(ℓ)-data over A-algebras
ModularCurve.LevelRelabelling.exists_natural_zsmul_gamma1Point172 below · depth 32 - Cyclic generator of order M' cut by the Γ₀(M')-tuple
WeierstrassCurve.DrinfeldGlobal.exists_addOrderOf_eq_forall_isRoot_level_fst_of_raw_rigidDataH1Pow5 below · depth 32 - Equal Γ₀(M')-moduli points give a common change of variables
WeierstrassCurve.DrinfeldGlobal.exists_variableChange_curve_eq_level_fst_eq_of_moduliPoint_mk_eq_of_raw_rigidDataH1Pow2 below · depth 32 - Two H₁-admissible Γ₁(ℓ_g)-points on one curve lie in line
WeierstrassCurve.DrinfeldGlobal.inLine_level_snd_fst_xP_of_curve_eq_of_level_fst_eq_rigidDataH1Pow20 below · depth 32 - Moduli package at a supersingular point of the two-chart model
ModularCurve.FullLevel.AuxLevelOne.exists_levelModuliPackageAbs_rigidDataH1Pow_ringEquiv_adicCompletion_stalk_const_of_mem_ssJSet_of_isPrimitiveRoot_mul_of_dvd2,163 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 - Base change of the abstract H₁ level-moduli package
ModularCurve.FullLevel.Diamond.exists_levelModuliPackageAbs_restrictScalars_rigidDataH1Pow0 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 - Raw Γ₀(M')–Γ₁(ℓ)–Γ(q) data are representable by a finite-type algebra
ModularCurve.FullLevel.Diamond.exists_represents_raw_rigidDataGamma1Pow70 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 - Igusa bound: [SL₂(ℤ):±Γ_{H_1}]≤[T:L(j(x))]
ModularCurve.FullLevel.Diamond.index_le_finrank_adjoin_jOf_of_transcendental_jOf_rigidDataH1Pow417 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 - Valuative criterion over the j-line for the H₁ moduli ring
ModularCurve.FullLevel.Diamond.levelModuliPackageAbs_apply_mem_valuationSubring_of_isDiscreteValuationRing_of_j0_mem_rigidDataH1Pow93 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 - Regular complete local ring at a supersingular Drinfeld-level point
ModularCurve.LevelModuliPackageAbs.exists_isDrinfeldBasisAdic_isRegularLocalRing_hasseParam_adicCompletion_of_forall_mem_ssJSet_rigidDataH1Pow1,053 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 - 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 - Reading H₁-level structures over an algebraically closed field
ModularCurve.FullLevel.Diamond.exists_levelReading_baseChange_of_isAlgClosed_rigidDataH1Pow43 below · depth 34 - Points with integral j over a DVR lift, H₁-level
ModularCurve.FullLevel.Diamond.exists_map_eq_of_isDiscreteValuationRing_of_jOf_mem_range_rigidDataH1Pow91 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 - Flatness and normal components of the H₁ moduli ring
ModularCurve.FullLevel.Diamond.flat_and_isIntegrallyClosed_quotient_of_mem_minimalPrimes_levelModuliPackageAbs_of_maximalIdeal_eq_span_natCast_rigidDataH1Pow1,381 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 - Reducedness modulo 1-ζ_q at a supersingular point (H₁ level)
ModularCurve.FullLevel.Diamond.isReduced_adicCompletion_quotient_span_one_sub_of_isPrimitiveRoot_of_nthSeries_eq_mul_X_pow_mul_levelModuliPackageAbs_rigidDataH1Pow1,045 below · depth 34 - Reducedness of widehatB₀_𝔪/(1-ζ) at an ordinary point
ModularCurve.FullLevel.Diamond.isReduced_adicCompletion_quotient_span_one_sub_of_pow_eq_one_of_nthSeries_eq_mul_X_pow_levelModuliPackageAbs_rigidDataH1Pow1,165 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 - Trivial-diamond Γ₀(M')-relabelling fixes supersingular Γ₁(ℓ_g)-points
ModularCurve.FullLevel.Diamond.quotMk_eq_of_relabel_of_apply_eq_one_of_forall_smul_eq_zero_rigidDataGamma1Pow7 below · depth 34 - Diamond action on the toric point of the Tate curve
ModularCurve.FullLevel.Diamond.toPoint_levelAut_eq_zsmul_toPoint_of_map_eq_tateToricPoint_rigidDataH1Pow141 below · depth 34 - Level automorphism relabels the Tate cusp pair by γ
ModularCurve.FullLevel.Diamond.zsmul_toPoint_add_zsmul_toPoint_eq_toPoint_levelAut_of_map_eq_cuspData_rigidDataH1Pow146 below · depth 34 - Hasse parameter and j at a supersingular Drinfeld point
ModularCurve.LevelModuliPackageAbs.exists_coeff_nthSeries_sub_mul_mem_span_and_map_j0_sub_algebraMap_eq_mul_eval_of_factorsThrough_rigidDataH1Pow78 below · depth 34 - Supersingular completion: Drinfeld basis, Hasse parameter, relabelling linear part
ModularCurve.LevelModuliPackageAbs.exists_isDrinfeldBasisAdic_isRegularLocalRing_hasseParam_problemAut_linearPart_adicCompletion_of_forall_mem_ssJSet_rigidDataH1Pow1,117 below · depth 34 - Rigidified universality of the H₁ moduli ring at a supersingular point
ModularCurve.LevelModuliPackageAbs.exists_reducesToOrigin_isDrinfeldBasisAdic_universal_of_factorsThrough_rigidDataH1Pow972 below · depth 34 - Relabelling the Drinfeld pair by g gives a moduli automorphism
ModularCurve.LevelRelabelling.exists_problemAut_relabel_drinfeld_of_isUnit_det_rigidDataH1Pow108 below · depth 34 - Specialisation of the H₁ chart yields a κ(A)-algebra homomorphism
ModularCurve.FullLevel.Diamond.exists_algHom_forall_apply_residue_eq_apply_of_eq_map_classify_rigidDataH1Pow859 below · depth 35 - Existence of a moduli place for the Frobenius-twisted Γ₀(M')-class
ModularCurve.FullLevel.Diamond.exists_isModuliPlaceOf_map_frobenius_of_forall_evalAt_eq_of_eq_map_classify_rigidDataH1Pow_of_tatePoint_pinGamma12,817 below · depth 35 - A primitive q-th root of unity on each component of the H₁ moduli ring
ModularCurve.FullLevel.Diamond.exists_isPrimitiveRoot_quotient_mk_of_mem_minimalPrimes_levelModuliPackageAbs_of_maximalIdeal_eq_span_natCast_rigidDataH1Pow1,425 below · depth 35 - Tate Γ₁(ℓ_g) point identifies level automorphisms with relabelling, sub-base edition
ModularCurve.FullLevel.Diamond.exists_pt_forall_isLevelAutAt_map_eq_act_of_exists_ringHom_rigidDataH1Pow_of_tate_pinGamma1_of_isScalarTower352 below · depth 35 - Completions away from q are integrally closed domains
ModularCurve.FullLevel.Diamond.isDomain_and_isIntegrallyClosed_adicCompletion_of_not_mem_levelModuliPackageAbs_rigidDataH1Pow286 below · depth 35 - Completed local ring at an ordinary point is normal
ModularCurve.FullLevel.Diamond.isDomain_and_isIntegrallyClosed_adicCompletion_of_nthSeries_eq_mul_X_pow_levelModuliPackageAbs_rigidDataH1Pow1,165 below · depth 35 - Normality of completed local rings at supersingular points
ModularCurve.FullLevel.Diamond.isDomain_and_isIntegrallyClosed_adicCompletion_of_nthSeries_eq_mul_X_pow_mul_levelModuliPackageAbs_rigidDataH1Pow1,029 below · depth 35 - Gauss nonunits lie in the supersingular maximal ideal
ModularCurve.FullLevel.Diamond.mem_of_coe_mem_nonunits_of_isMaximal_of_mem_ssJSet_chartAlgFin2,297 below · depth 35 - Count of H₁-moduli points above a transcendental j
ModularCurve.FullLevel.Diamond.natCard_algHom_apply_jOf_univ_eq_of_transcendental_rigidDataH1Pow245 below · depth 35 - No minimal prime of the generic fibre is maximal
ModularCurve.FullLevel.Diamond.not_isMaximal_of_mem_minimalPrimes_tensorProduct_rigidDataH1Pow244 below · depth 35 - Smoothness of the generic fibre of the H₁ moduli ring
ModularCurve.FullLevel.Diamond.smooth_tensorProduct_levelModuliPackageAbs_rigidDataH1Pow_of_isFractionRing231 below · depth 35 - Dual-number points with constant transcendental j are constant
ModularCurve.FullLevel.Diamond.snd_apply_eq_zero_of_apply_jOf_univ_eq_dualNumber_rigidDataH1Pow220 below · depth 35 - Lifting full-level points along a scalar restriction
ModularCurve.FullLevel.exists_pt_restrictScalars_jOf_eq_classify_comp_eq_rigidDataH1Pow_of_isPrimitiveRoot_mul_of_dvd0 below · depth 35 - Uniqueness of the classifying map at level H₁
ModularCurve.LevelModuliPackageAbs.algHom_eq_of_isBaseChange_lawIso_appAdic_eq_rigidDataH1Pow77 below · depth 35 - Ordinary H₁ local ring as W₀[[t]][X]/(g), g Eisenstein-like
ModularCurve.LevelModuliPackageAbs.exists_algEquiv_adjoinRoot_powerSeries_of_factorsThrough_of_nthSeries_eq_mul_X_pow_rigidDataH1Pow1,153 below · depth 35 - Existence of the classifying W₀-algebra map on formal deformations
ModularCurve.LevelModuliPackageAbs.exists_algHom_isBaseChange_lawIso_appAdic_eq_rigidDataH1Pow947 below · depth 35 - Relabelling automorphisms act linearly on Drinfeld origin parameters
ModularCurve.LevelModuliPackageAbs.exists_ringEquiv_originParam_linearPart_of_problemAut_relabel_of_reducesToOrigin_universal_rigidDataH1Pow_of_mem_ssJSet218 below · depth 35 - Residue base change and Drinfeld basis of the reduced law
ModularCurve.LevelModuliPackageAbs.isBaseChange_and_isDrinfeldBasisAdic_residue_of_toPowerSeries_eq_rigidDataH1Pow3 below · depth 35 - Equal `classify` kernels give equal Drinfeld Weil pairing values
ModularCurve.LevelModuliPackageAbs.weilPairing0_drinfeld_mapRing_eq_of_ker_classify_eq_rigidDataH1Pow254 below · depth 35 - Γ₁(ℓ)-points of the generic fibre descend to R₀
ModularCurve.exists_map_eq_and_isGamma1Point_of_isGamma1Point_map1 below · depth 35 - Good integral model over a DVR from a Γ₁(ℓ)-point and integral j
WeierstrassCurve.exists_variableChange_smul_eq_map_of_isGamma1Point_of_jOfUnit_mem_range21 below · depth 35 - Supersingular maximal ideals agreeing on q-substituted functions coincide
ModularCurve.FullLevel.Diamond.eq_of_isMaximal_of_mem_ssJSet_of_forall_coe_eq_qExpand_iff_chartAlgFin2,214 below · depth 36 - Tangent vectors at geometric points of the H₁ moduli ring
ModularCurve.FullLevel.Diamond.exists_algHom_dualNumber_fst_eq_snd_ne_zero_rigidDataH1Pow237 below · depth 36 - Branch reading gives an embedding of the full level-M' field
ModularCurve.FullLevel.Diamond.exists_algHom_modularFunctionFieldFullC_forall_apply_residue_eq_ringHom_of_transcendental_rigidDataH1Pow_of_tatePoint_pinGamma1864 below · depth 36 - Relabelled Drinfeld pair at the Tate point, level H₁
ModularCurve.FullLevel.Diamond.exists_isSectionThrough_relabel_coe_eq_cuspData_of_dvd_rigidDataH1Pow179 below · depth 36 - Frobenius twist of the H₁ branch after place extension
ModularCurve.FullLevel.Diamond.exists_place_curve_reduction_eq_map_frobenius_cyclicQuotientJ_eq_of_levelAut_of_originChart_rigidDataH1Pow_of_tatePoint_pinGamma12,187 below · depth 36 - Branch place at a supersingular point of the H₁ chart
ModularCurve.FullLevel.Diamond.exists_place_ringHom_chartAlgFin_residue_eq_originChart_levelAut_of_forall_nsmul_eq_zero_rigidDataH1Pow_of_tatePoint_pinGamma12,343 below · depth 36 - Formal smoothness of the H₁ moduli local rings away from q
ModularCurve.FullLevel.Diamond.formallySmooth_localization_atPrime_of_not_mem_levelModuliPackageAbs_rigidDataH1Pow231 below · depth 36 - Lifting H₁ moduli points along nilpotent-kernel surjections
ModularCurve.FullLevel.Diamond.map_surjective_of_surjective_of_ker_pow_eq_bot_of_isUnit_rigidDataH1Pow230 below · depth 36 - Counting linked Γ₀(M')–Γ₁(ℓ_g)–Γ(q) level structures
ModularCurve.FullLevel.Diamond.natCard_isLevel_rigidDataH1Pow_eq_of_isAlgClosed238 below · depth 36 - Dimension ≤ 1 at q-invertible maximal ideals of B₀
ModularCurve.FullLevel.Diamond.ringKrullDim_localization_atPrime_le_one_of_not_mem_levelModuliPackageAbs_rigidDataH1Pow101 below · depth 36 - Doubled point count of the rigid H₁ problem at j=t
ModularCurve.FullLevel.Diamond.two_mul_natCard_pt_jOf_eq_eq_natCard_isLevel_rigidDataH1Pow_of_isAlgClosed9 below · depth 36 - Unique lifting of Γ₁(ℓ)-points along nilpotent thickenings
ModularCurve.IsGamma1Point.existsUnique_map_eq_of_surjective_of_ker_pow_eq_bot5 below · depth 36 - Igusa presentation of the ordinary local ring, normal position
ModularCurve.LevelModuliPackageAbs.exists_algEquiv_adjoinRoot_powerSeries_of_nthSeries_eq_mul_X_pow_of_eq_one_of_ne_one_rigidDataH1Pow1,139 below · depth 36 - Relabelling automorphism of the rigidified ring R
ModularCurve.LevelModuliPackageAbs.exists_algEquiv_comp_eq_classify_act_of_problemAut_relabel_of_factorsThrough_rigidDataH1Pow183 below · depth 36 - Artinian points with prescribed reduction arise from R → T
ModularCurve.LevelModuliPackageAbs.exists_algHom_of_raw_lawIso_appAdic_eq_rigidDataH1Pow26 below · depth 36 - Linear part of a Γ₀(M')-relabelling on Drinfeld origin parameters
ModularCurve.LevelModuliPackageAbs.exists_originParam_linearPart_of_algHom_comp_eq_classify_act_of_problemAut_relabel_rigidDataH1Pow_of_mem_ssJSet214 below · depth 36 - Artinian lift of a Drinfeld basis to a raw H₁ datum
ModularCurve.LevelModuliPackageAbs.exists_raw_lawIso_appAdic_eq_of_isDrinfeldBasisAdic_rigidDataH1Pow934 below · depth 36 - Basis relabelling by γ is induced by an automorphism of B₀
ModularCurve.LevelModuliPackageAbs.exists_raw_linComb_algEquiv_map_univ_eq_rigidDataH1Pow113 below · depth 36 - Equality of moduli points from matching Drinfeld basis data
ModularCurve.LevelModuliPackageAbs.map_univ_eq_of_isBaseChange_lawIso_appAdic_eq_rigidDataH1Pow76 below · depth 36 - Transported Tate cusp pair as a q-torsion basis
ModularCurve.torsion_basis_of_map_eq_variableChange_tateBase_cuspData_of_mul_eq86 below · depth 36 - Specialisation of j(qᵈ) as q-th power of cyclic-quotient invariant
ModularCurve.FullLevel.Diamond.apply_eq_cyclicQuotientJ_pow_of_levelAut_of_originChart_of_forall_nsmul_eq_zero_rigidDataH1Pow_of_tatePoint_pinGamma12,178 below · depth 37 - Non-constant dual-number point gives non-zero tangent vector
ModularCurve.FullLevel.Diamond.exists_algHom_dualNumber_fst_eq_snd_ne_zero_of_exists_pt_dualNumber_rigidDataH1Pow0 below · depth 37 - Fine moduli package for Γ₀(N)-kernels and a linked Γ₁(ℓ)-point
ModularCurve.FullLevel.Diamond.exists_levelModuliPackageAbs_trivial_rigidDataH1Pow38 below · depth 37 - First Drinfeld section is the origin on the Gauss branch
ModularCurve.FullLevel.Diamond.exists_originChart_fst_of_forall_ringHom_eq_zero_iff_mem_nonunits_rigidDataH1Pow_of_tatePoint_pinGamma123 below · depth 37 - Non-constant first-order deformations of H₁-moduli points
ModularCurve.FullLevel.Diamond.exists_pt_dualNumber_map_fstHom_eq_ne_map_inlAlgHom_rigidDataH1Pow235 below · depth 37 - Étale part of the pinned H₁ Tate point as a q-expansion
ModularCurve.FullLevel.Diamond.exists_raw_etale_map_eq_map_qExpand_of_tatePoint_pinGamma1150 below · depth 37 - Residual triviality of variable changes at level Γ₁(ℓ_g)
ModularCurve.FullLevel.variableChange_map_eq_one_of_eq_act_of_map_residue_eq_rigidDataH1Pow8 below · depth 37 - Lifting the Γ₁-link along a nilpotent thickening
ModularCurve.IsGamma1Link.of_map_of_surjective_of_ker_pow_eq_bot18 below · depth 37 - First-order action of a relabelling on Drinfeld origin parameters
ModularCurve.LevelModuliPackageAbs.apply_originParam_sub_inv_u_mul_mem_sq_of_act_mapRing_eq_relabel_rigidDataH1Pow118 below · depth 37 - First-order deformations with q-torsion section form a line (H₁ level)
ModularCurve.LevelModuliPackageAbs.exists_algHom_dualNumber_of_represents_nsmul_eq_one_of_nthSeries_eq_mul_X_pow_rigidDataH1Pow937 below · depth 37 - Relabelling automorphism pulls back by a variable change
ModularCurve.LevelModuliPackageAbs.exists_variableChange_act_mapRing_classify_act_univ_eq_relabel_toPoint_of_mem_gamma0_of_isDomain_rigidDataH1Pow_of_isUnit180 below · depth 37 - Two deformations with isomorphic formal groups differ by a trivial variable change
ModularCurve.LevelModuliPackageAbs.exists_variableChange_map_eq_one_smul_map_eq_map_of_lawIso_rigidDataH1Pow47 below · depth 37 - Kernel data of two lifts differ by the variable change
ModularCurve.LevelModuliPackageAbs.kernel_map_eq_kernelVariableChangeDeg_of_smul_map_eq_rigidDataH1Pow12 below · depth 37 - Equality of Γ₁(ℓ_g)-data under an infinitesimal variable change
ModularCurve.LevelModuliPackageAbs.levelPData_map_eq_variableChange_of_smul_map_eq_rigidDataH1Pow6 below · depth 37 - Transport of Drinfeld pairs under a residually trivial variable change
ModularCurve.LevelModuliPackageAbs.levelTransport_map_eq_act_map_of_smul_map_eq_rigidDataH1Pow23 below · depth 37 - Completed local ring at level H₁ is S[X]/(g)
ModularCurve.LevelModuliPackageAbs.nonempty_algEquiv_adjoinRoot_of_factorsThrough_of_nthSeries_eq_X_mul_mul_of_isDomain_adjoinRoot_rigidDataH1Pow968 below · depth 37 - Completed stalk of the linked Γ₀(M')×Γ₁(ℓ) package is W₀[[t]]
ModularCurve.LevelModuliPackageAbs.nonempty_algEquiv_powerSeries_of_factorsThrough_trivial_rigidDataH1Pow39 below · depth 37 - Residue compatibility of the classifying map for `rigidDataH1Pow`
ModularCurve.LevelModuliPackageAbs.residue_classify_eq_of_map_residue_eq_rigidDataH1Pow4 below · depth 37 - Rigidity of the scalar of a relabelling automorphism at supersingular j
ModularCurve.LevelModuliPackageAbs.u_pow_sub_one_mem_and_of_act_mapRing_eq_relabel_rigidDataH1Pow_of_mem_ssJSet182 below · depth 37 - Drinfeld slot relabelling by g is a problem automorphism
ModularCurve.LevelRelabelling.exists_problemAut_act_mk_eq_mk_relabel_of_isUnit_det_rigidDataH1Pow105 below · depth 37 - Equal raw H₁-classes with cut-out generators give equal moduli points
WeierstrassCurve.DrinfeldGlobal.moduliPoint_mk_eq_of_quot_mk_eq_of_raw_rigidDataH1Pow6 below · depth 37 - Rigidity of raw H₁-data with origin Drinfeld pairs
WeierstrassCurve.DrinfeldGlobal.rigidDataH1Pow_raw_eq_act_of_curve_eq_of_level_eq_of_pair_eq_one3 below · depth 37 - Classifying preimage of j(mathsf q^{qd}) computing quotient j-invariants
ModularCurve.FullLevel.Diamond.exists_classify_preimage_forall_apply_eq_cyclicQuotientJ_etale_rigidDataH1Pow_of_tatePoint_pinGamma12,170 below · depth 38 - Tangent line of the Γ₀(M')∩Γ₁(ℓ) Weierstrass moduli problem
ModularCurve.FullLevel.Diamond.exists_forall_eq_map_dualNumber_smul_of_trivial_rigidDataH1Pow29 below · depth 38 - Representability of the raw Γ₀(N)–Γ₁(ℓ) Weierstrass functor
ModularCurve.FullLevel.Diamond.exists_represents_raw_trivial_rigidDataH1Pow4 below · depth 38 - Raw étale Γ₀(M')∩Γ₁(ℓ_g)-structure on the twisted Tate curve
ModularCurve.FullLevel.Diamond.exists_variableChange_raw_etale_tate_weightOne_level_fst_level_snd_fst_of_ker148 below · depth 38 - Exactly q-1 minimal primes in the H₁ moduli ring
ModularCurve.FullLevel.Diamond.finite_minimalPrimes_and_ncard_eq_sub_one_of_jOf_eq_jqNModC_rigidDataH1Pow1,973 below · depth 38 - Integrality over A[j₀] for the Γ₀(N)×Γ₁(ℓ) moduli ring
ModularCurve.FullLevel.Diamond.isIntegral_adjoin_j0_levelModuliPackageAbs_trivial_rigidDataH1Pow30 below · depth 38 - Infinitesimal lifting for the H₁ rigid Weierstrass moduli problem
ModularCurve.FullLevel.Diamond.map_surjective_of_surjective_of_ker_pow_eq_bot_of_isUnit_trivial_rigidDataH1Pow26 below · depth 38 - Infinitesimal rigidity of the Γ₀(M')∩Γ₁(ℓ_g) level datum
ModularCurve.LevelComponent.act_eq_of_mapRing_fstHom_eq_of_map_fstHom_eq_one_of_smul_curve_eq_rigidDataH1Pow14 below · depth 38
… and 10 more statements (search for the module name to find them).