Definitions/Def_ModularCurve_UVCrossingModel.lean
Crossing local model and its branch swap
For a commutative ring W and an element \pi \in W, uvCrossingIdeal is the principal ideal of the two-variable formal power series ring W[[u,v]] (realised as MvPowerSeries (Fin 2) W, with u = X_0, v = X_1) generated by X_0 X_1 - C\,\pi, and UVCrossingModel W π is the quotient ring W[[u,v]]/(uv - \pi). Attached to it are the quotient map mk, the images U and V of the two variables, the element const π w given by the image of the constant series C\,w together with the ring homomorphism constHom \colon W \to W[[u,v]]/(uv-\pi) obtained by composing C with mk, and the surjectivity of mk. The abbreviation wittCrossingModel p k, for a prime p and a field k, specialises this to W = W(p,k), the ring of p-typical Witt vectors of k, and \pi = p, giving W(k)[[u,v]]/(uv - p).
The second half constructs the involution exchanging the two variables. uvSwapEquiv is the ring automorphism of W[[u,v]] induced by renaming along the transposition of 0 and 1 in Fin 2; the lemmas record that it sends X_0 \mapsto X_1, X_1 \mapsto X_0, fixes constants, fixes the generator X_0X_1 - C\,\pi, and hence carries uvCrossingIdeal W π onto itself. Consequently crossingSwap π is the induced ring automorphism of W[[u,v]]/(uv-\pi), compatible with mk and uvSwapEquiv. Finally S π and D π are the symmetric and antisymmetric coordinates u + v and u - v, and fixedSubring π is the subring on which crossingSwap π agrees with the identity, i.e. \{x : \text{crossingSwap}\,\pi\,(x) = x\}, this characterisation being recorded as mem_fixedSubring_iff. All of this is a construction of a specific ring with an involution; no regularity, completeness or moduli-theoretic property is asserted here.
Relation to Mathlib
Built directly on Mathlib's MvPowerSeries, Ideal.Quotient and MvPowerSeries.renameEquiv; Mathlib has no notion of such a crossing local model, so the ring, the variable-swap automorphism and the fixed subring are the project's own definitions.
Where it is used
The ring W(\overline{\mathbb F}_p)[[u,v]]/(uv-p) is the standard local model for the completed local ring of a modular curve with \Gamma_0(p)-level structure at a supersingular point, where the two branches u = 0 and v = 0 of the special fibre correspond to the two components of the mod p fibre and the variable swap models the Atkin–Lehner involution w_p. It therefore serves as the local input for the study of modular curves and their Jacobians at p in the route to Fermat's Last Theorem.
References
- P. Deligne and M. Rapoport, Les schémas de modules de courbes elliptiques, in: Modular Functions of One Variable II, Lecture Notes in Mathematics 349, Springer, 1973, 143–316 (Ch. V)
- N. M. Katz and B. Mazur, Arithmetic Moduli of Elliptic Curves, Annals of Mathematics Studies 108, Princeton University Press, 1985, Theorem 13.4.7
- B. Mazur, Modular curves and the Eisenstein ideal, Publications Mathématiques de l'IHÉS 47 (1977), 33–186
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 115 lines
- 25 declarations
- used in the statements of 624 theorems and imported by 653 proofs
- imports 0 definition modules
Source file: Definitions/Def_ModularCurve_UVCrossingModel.lean
Imports
- only Mathlib
Declarations
- abbrev
ModularCurve.uvCrossingIdeal - abbrev
ModularCurve.UVCrossingModel - def
ModularCurve.UVCrossingModel.mk - def
ModularCurve.UVCrossingModel.U - def
ModularCurve.UVCrossingModel.V - def
ModularCurve.UVCrossingModel.const - def
ModularCurve.UVCrossingModel.constHom - theorem
ModularCurve.UVCrossingModel.constHom_apply - theorem
ModularCurve.UVCrossingModel.mk_surjective - abbrev
ModularCurve.wittCrossingModel - def
ModularCurve.uvSwapEquiv - theorem
ModularCurve.uvSwapEquiv_apply - theorem
ModularCurve.uvSwapEquiv_X_zero - theorem
ModularCurve.uvSwapEquiv_X_one - theorem
ModularCurve.uvSwapEquiv_C - theorem
ModularCurve.uvSwapEquiv_crossing - theorem
ModularCurve.map_uvSwapEquiv_uvCrossingIdeal - def
ModularCurve.UVCrossingModel.crossingSwap - theorem
ModularCurve.UVCrossingModel.crossingSwap_mk - def
ModularCurve.UVCrossingModel.S - def
ModularCurve.UVCrossingModel.D - theorem
ModularCurve.UVCrossingModel.S_def - theorem
ModularCurve.UVCrossingModel.D_def - def
ModularCurve.UVCrossingModel.fixedSubring - theorem
ModularCurve.UVCrossingModel.mem_fixedSubring_iff
Source
import Mathlib set_option autoImplicit false universe u namespace ModularCurve noncomputable section abbrev uvCrossingIdeal (W : Type u) [CommRing W] (π : W) : Ideal (MvPowerSeries (Fin 2) W) := Ideal.span {(MvPowerSeries.X 0 : MvPowerSeries (Fin 2) W) * MvPowerSeries.X 1 - MvPowerSeries.C π} abbrev UVCrossingModel (W : Type u) [CommRing W] (π : W) : Type u := MvPowerSeries (Fin 2) W ⧸ uvCrossingIdeal W π namespace UVCrossingModel variable {W : Type u} [CommRing W] def mk (π : W) : MvPowerSeries (Fin 2) W →+* UVCrossingModel W π := Ideal.Quotient.mk _ def U (π : W) : UVCrossingModel W π := mk π (MvPowerSeries.X 0) def V (π : W) : UVCrossingModel W π := mk π (MvPowerSeries.X 1) def const (π : W) (w : W) : UVCrossingModel W π := mk π (MvPowerSeries.C w) def constHom (π : W) : W →+* UVCrossingModel W π := (mk π).comp (MvPowerSeries.C : W →+* MvPowerSeries (Fin 2) W) theorem constHom_apply (π : W) (w : W) : constHom π w = const π w := rfl theorem mk_surjective (π : W) : Function.Surjective (mk (W := W) π) := Ideal.Quotient.mk_surjective end UVCrossingModel abbrev wittCrossingModel (p : ℕ) [Fact p.Prime] (k : Type u) [Field k] : Type u := UVCrossingModel (WittVector p k) (p : WittVector p k) section VariableSwap variable {W : Type u} [CommRing W] def uvSwapEquiv : MvPowerSeries (Fin 2) W ≃+* MvPowerSeries (Fin 2) W := (MvPowerSeries.renameEquiv W (Equiv.swap (0 : Fin 2) 1)).toRingEquiv theorem uvSwapEquiv_apply (f : MvPowerSeries (Fin 2) W) : uvSwapEquiv f = MvPowerSeries.rename (⇑(Equiv.swap (0 : Fin 2) 1)) f := rfl theorem uvSwapEquiv_X_zero : uvSwapEquiv (MvPowerSeries.X (0 : Fin 2) : MvPowerSeries (Fin 2) W) = MvPowerSeries.X 1 := by rw [uvSwapEquiv_apply, MvPowerSeries.rename_X, Equiv.swap_apply_left] theorem uvSwapEquiv_X_one : uvSwapEquiv (MvPowerSeries.X (1 : Fin 2) : MvPowerSeries (Fin 2) W) = MvPowerSeries.X 0 := by rw [uvSwapEquiv_apply, MvPowerSeries.rename_X, Equiv.swap_apply_right] theorem uvSwapEquiv_C (w : W) : uvSwapEquiv (MvPowerSeries.C w : MvPowerSeries (Fin 2) W) = MvPowerSeries.C w := by rw [uvSwapEquiv_apply, MvPowerSeries.rename_C] theorem uvSwapEquiv_crossing (π : W) : uvSwapEquiv ((MvPowerSeries.X 0 : MvPowerSeries (Fin 2) W) * MvPowerSeries.X 1 - MvPowerSeries.C π) = (MvPowerSeries.X 0 : MvPowerSeries (Fin 2) W) * MvPowerSeries.X 1 - MvPowerSeries.C π := by rw [map_sub, map_mul, uvSwapEquiv_X_zero, uvSwapEquiv_X_one, uvSwapEquiv_C, mul_comm] theorem map_uvSwapEquiv_uvCrossingIdeal (π : W) : Ideal.map (uvSwapEquiv (W := W)) (uvCrossingIdeal W π) = uvCrossingIdeal W π := by rw [show uvCrossingIdeal W π = Ideal.span {(MvPowerSeries.X 0 : MvPowerSeries (Fin 2) W) * MvPowerSeries.X 1 - MvPowerSeries.C π} from rfl, Ideal.map_span, Set.image_singleton, uvSwapEquiv_crossing] end VariableSwap namespace UVCrossingModel variable {W : Type u} [CommRing W] def crossingSwap (π : W) : UVCrossingModel W π ≃+* UVCrossingModel W π := Ideal.quotientEquiv (uvCrossingIdeal W π) (uvCrossingIdeal W π) uvSwapEquiv (map_uvSwapEquiv_uvCrossingIdeal π).symm theorem crossingSwap_mk (π : W) (f : MvPowerSeries (Fin 2) W) : crossingSwap π (UVCrossingModel.mk π f) = UVCrossingModel.mk π (uvSwapEquiv f) := rfl def S (π : W) : UVCrossingModel W π := U π + V π def D (π : W) : UVCrossingModel W π := U π - V π theorem S_def (π : W) : S π = U π + V π := rfl theorem D_def (π : W) : D π = U π - V π := rfl def fixedSubring (π : W) : Subring (UVCrossingModel W π) := RingHom.eqLocus (crossingSwap π : UVCrossingModel W π →+* UVCrossingModel W π) (RingHom.id _) theorem mem_fixedSubring_iff {π : W} {x : UVCrossingModel W π} : x ∈ fixedSubring π ↔ crossingSwap π x = x := Iff.rfl end UVCrossingModel end end ModularCurve
Statements phrased using this module (624)
- Node annulus at a supersingular place with parameter y
ModularCurve.PlaceSpecialization.ProlongationTuple.exists_annulus_dom_iff_reduceFst_eq_and_param_eq_y_of_ringEquiv_uvCrossingModel587 below · depth 15 - Completed node ring as crossing model W[[U,V]]/(UV-π^E)
ModularCurve.PlaceSpecialization.ProlongationTuple.exists_exponent_ringEquiv_adicCompletion_nodeIntegersOver_uvCrossingModel1,154 below · depth 15 - Node parameter separates the places above a supersingular place
ModularCurve.PlaceSpecialization.ProlongationTuple.eq_of_evalAt_y_eq_of_reduceFst_eq_of_ringEquiv_uvCrossingModel219 below · depth 16 - Admissible values attained by y at places over a supersingular node
ModularCurve.PlaceSpecialization.ProlongationTuple.exists_reduceFst_eq_and_evalAt_y_eq_of_ringEquiv_uvCrossingModel506 below · depth 16 - Completed node ring is a crossing model with order laws
ModularCurve.PlaceSpecialization.ProlongationTuple.exists_ringEquiv_adicCompletion_nodeIntegersOver_uvCrossingModel_of_isMaximal408 below · depth 16 - Unit principle at a supersingular node of X₀(Nq)
ModularCurve.PlaceSpecialization.ProlongationTuple.exists_zpow_unit_principle_evalAt_y_of_ringEquiv_uvCrossingModel416 below · depth 16 - Gauss order at the first end adds the varpi-exponent
ModularCurve.PlaceSpecialization.ProlongationTuple.gaussOrder_fst_end_ringEquiv_adicCompletion_eq_add_of_eq_nodeConst_pow_mul2 below · depth 16 - Depth-zero Gauss order of varpiᵈux' in the crossing model
ModularCurve.PlaceSpecialization.ProlongationTuple.gaussOrder_snd_end_ringEquiv_adicCompletion_eq_add_of_eq_nodeConst_pow_mul2 below · depth 16 - Node coordinate minus its value is a uniformiser
ModularCurve.PlaceSpecialization.ProlongationTuple.ord_y_sub_algebraMap_evalAt_eq_one_of_ringEquiv_uvCrossingModel501 below · depth 16 - Depth-wise zero count at a node equals crossing-model count
ModularCurve.PlaceSpecialization.ProlongationTuple.sum_ord_eq_finsum_rank_mul_length_of_total_eq199 below · depth 16 - Node total over a supersingular place via the crossing model
ModularCurve.PlaceSpecialization.ProlongationTuple.sum_ord_eq_finsum_rank_mul_length_total_of_nodeResidue_ne_zero429 below · depth 16 - Total order over a node bounded by horizontal crossing-model count
ModularCurve.PlaceSpecialization.ProlongationTuple.sum_ord_le_finsum_rank_mul_length_total196 below · depth 16 - π is a non-zero-divisor on W[[u,v]]/(uv-π)
ModularCurve.UVCrossingModel.const_mem_nonZeroDivisors0 below · depth 16 - Unique normal form a(U)+b(V) in the crossing model
ModularCurve.UVCrossingModel.existsUnique_normalForm0 below · depth 16 - Horizontal primes at depth p/q counted by the index drop
ModularCurve.UVCrossingModel.finsum_rank_mul_length_eq_circleIndexDrop39 below · depth 16 - Total zero count equals slope drop of the Gauss polygon
ModularCurve.UVCrossingModel.finsum_rank_mul_length_eq_sInf_sub_sSup35 below · depth 16 - Additivity of the Gauss order on the crossing model
ModularCurve.UVCrossingModel.gaussOrder_mul0 below · depth 16 - Scaled Gauss order attained at the normal form
ModularCurve.UVCrossingModel.gaussOrder_scaled_eq_repGaussOrder_normalForm0 below · depth 16 - Grid reading of Gauss-order differences on the crossing model
ModularCurve.UVCrossingModel.gridSecondDiff_eq_circleIndexDrop_sub_of_forall_offGrid_eq7 below · depth 16 - Grid reading of the Gauss-order difference at scale e'
ModularCurve.UVCrossingModel.gridSecondDiff_eq_circleIndexDrop_sub_of_forall_offGrid_eq_scaled7 below · depth 16 - Gauss order of a normal form equals infimum of term orders
ModularCurve.UVCrossingModel.repGaussOrder_normalForm_eq_iInf_termOrder0 below · depth 16 - Gauss order vanishes and least dominant index equals m
ModularCurve.UVCrossingModel.sInf_dominantIndices_eq_of_sub_mul_U_pow_mem0 below · depth 16 - Additivity of extremal dominant indices at the annulus ends
ModularCurve.UVCrossingModel.sInf_dominantIndices_zero_mul_and_sSup_dominantIndices_mul33 below · depth 16 - Largest dominant index equals minus the branch order
ModularCurve.UVCrossingModel.sSup_dominantIndices_eq_neg_of_sub_mul_V_pow_mem0 below · depth 16 - Normal form for a pair cutting out a crossing UV = p^E
IsLocalRing.eq_and_exists_isUnit_and_eq_mul_of_mul_eq_pow_of_span_pair_isPrime0 below · depth 17 - Descent of a crossing presentation to a noetherian local ring
IsLocalRing.exists_crossingPresentation_of_ringEquiv_adicCompletion_uvCrossingModel30 below · depth 17 - Branch-adapted crossing presentation of a completed local ring
IsLocalRing.exists_ringEquiv_adicCompletion_uvCrossingModel_of_mul_eq_pow_mul_unit28 below · depth 17 - Places over a supersingular node counted by crossing-model branches
ModularCurve.PlaceSpecialization.ProlongationTuple.card_eq_finsum_finrank_quotient_of_forall_iff_evalAt_eq_zero467 below · depth 17 - Coefficient rigidity of the crossing presentation
ModularCurve.PlaceSpecialization.ProlongationTuple.exists_ringEquiv_adicCompletion_coeffSubring_forall_apply_nodeConst_eq_const5 below · depth 17 - Rational depth window for places over a supersingular node
ModularCurve.PlaceSpecialization.ProlongationTuple.exists_xDepth_pow_eq_valuation_pow_of_reduceFst_eq135 below · depth 17 - Branch lengths in the crossing model equal lengths at a node prime
ModularCurve.PlaceSpecialization.ProlongationTuple.length_localizedModule_quotient_map_eq_of_mem_minimalPrimes468 below · depth 17 - Crossing-model constant π forces varpi to generate mathfrak m_{A∩ K}
ModularCurve.PlaceSpecialization.ProlongationTuple.maximalIdeal_coeffSubring_eq_span_of_ringEquiv_apply_nodeConst_eq_const5 below · depth 17 - Evaluations along one branch of a node multiply to a norm
ModularCurve.PlaceSpecialization.ProlongationTuple.prod_evalAt_eq_norm_quotient_of_forall_iff_exists_ker_eq179 below · depth 17 - Places over a supersingular node bounded by horizontal primes
ModularCurve.PlaceSpecialization.ProlongationTuple.sum_ord_le_finsum_rank_mul_length_of_ringEquiv_uvCrossingModel195 below · depth 17 - Order sum at a node place: length times branch rank bound
ModularCurve.PlaceSpecialization.ProlongationTuple.sum_toNat_ord_le_length_mul_finsum_finrank_of_forall_mem_iff_evalAt_eq_zero183 below · depth 17 - Scaling invariance of dominant indices under (v,E,t)↦(qv,qE,qt)
ModularCurve.UVCrossingModel.dominantIndices_scale0 below · depth 17 - A factorial scale at which dominant indices persist
ModularCurve.UVCrossingModel.exists_forall_factorial_dvd_sInf_dominantIndices_mem_succ2 below · depth 17 - Every element of the crossing model is a + bU with a,b invariant
ModularCurve.UVCrossingModel.exists_mem_fixedSubring_eq_add_mul_U8 below · depth 17 - Rational depth of horizontal primes in the crossing model
ModularCurve.UVCrossingModel.exists_mul_length_eq_mul_finrank_of_ne_bot_of_const_notMem35 below · depth 17 - A crossing-model prime with norm polynomial vanishing at c₀
ModularCurve.UVCrossingModel.exists_prime_const_notMem_and_norm_sub_eq_eval_of_pow_eq_mul43 below · depth 17 - Branch quotient of the uv=π crossing model
ModularCurve.UVCrossingModel.exists_ringEquiv_quotient_span_U_powerSeries0 below · depth 17 - The V-branch of the crossing model is (W/π)[[T]]
ModularCurve.UVCrossingModel.exists_ringEquiv_quotient_span_V_powerSeries0 below · depth 17 - Dominant indices of χ_U shift those of x
ModularCurve.UVCrossingModel.exists_sInf_sSup_dominantIndices_charpoly_eq_add33 below · depth 17 - Free finite quotient of rank the Gauss polygon drop
ModularCurve.UVCrossingModel.free_finite_finrank_quotient_span_of_isUnit_coeff26 below · depth 17 - Multiplicativity of the scaled Gauss order at depth p/q
ModularCurve.UVCrossingModel.gaussOrder_mul_scale0 below · depth 17 - Left secant of the Gauss order equals the top dominant index
ModularCurve.UVCrossingModel.gaussOrder_sub_pred_eq_sSup_dominantIndices0 below · depth 17 - Right slope of the Gauss order at depth p
ModularCurve.UVCrossingModel.gaussOrder_succ_sub_eq_sInf_dominantIndices0 below · depth 17 - The crossing model W[[u,v]]/(uv-varpi^e) is a normal local domain
ModularCurve.UVCrossingModel.isIntegrallyClosed_of_uniformizer_pow24 below · depth 17 - Normality of the crossing model over a complete discrete valuation ring
ModularCurve.UVCrossingModel.isIntegrallyClosed_of_uniformizer_pow_of_isAdicComplete25 below · depth 17 - The crossing model W[[u,v]]/(uv-π) is Noetherian
ModularCurve.UVCrossingModel.isNoetherianRing1 below · depth 17 - Maximal ideal of the crossing model W[[u,v]]/(uv-π)
ModularCurve.UVCrossingModel.maximalIdeal_eq_map_maximalIdeal_sup_span_pair0 below · depth 17 - Krull dimension at most two for the crossing model
ModularCurve.UVCrossingModel.ringKrullDim_le_two26 below · depth 17 - Additivity of extreme dominant indices under multiplication
ModularCurve.UVCrossingModel.sInf_dominantIndices_mul_and_sSup_dominantIndices_mul32 below · depth 17 - Finitely many horizontal primes contain a nonzero element
ModularCurve.UVCrossingModel.setOf_horizontal_mem_finite26 below · depth 17 - Two-element slope law on the crossing-model annulus
ModularCurve.UVCrossingModel.slopeDrop_sub_eq_circleIndexDrop_sub_of_forall_circleIndexDrop_eq6 below · depth 17 - Branch ideals of the crossing model UV=π^E
ModularCurve.UVCrossingModel.span_inf_span_eq_and_pow_notMem_and_iInf_sup_span_pow_eq0 below · depth 17 - Places on one branch bounded by that branch's W-rank
ModularCurve.PlaceSpecialization.ProlongationTuple.card_le_finrank_quotient_of_forall_ker_eq7 below · depth 18 - Places over a supersingular node bounded by total branch rank
ModularCurve.PlaceSpecialization.ProlongationTuple.card_le_finsum_finrank_quotient_map_of_forall_mem_iff_evalAt_eq_zero137 below · depth 18 - Per-depth zero count at a supersingular node
ModularCurve.PlaceSpecialization.ProlongationTuple.sum_toNat_ord_le_length_mul_finsum_finrank_of_forall_mem_iff_evalAt_eq_zero_of_xDepth_pow_eq182 below · depth 18 - The relation U· V=π in the crossing model
ModularCurve.UVCrossingModel.U_mul_V0 below · depth 18 - U is not fixed by the branch-exchange involution
ModularCurve.UVCrossingModel.U_notMem_fixedSubring4 below · depth 18 - Dominant indices at interior depth: finite and nonempty
ModularCurve.UVCrossingModel.dominantIndices_finite_nonempty0 below · depth 18 - Crossing model as a quadratic algebra over D[[s]]
ModularCurve.UVCrossingModel.exists_ringEquiv_adjoinRoot18 below · depth 18 - Crossing model as a quadratic algebra over W[[s]]
ModularCurve.UVCrossingModel.exists_ringEquiv_adjoinRoot_of_isPrecomplete22 below · depth 18 - Horizontal primes of the crossing model give finite free W-quotients
ModularCurve.UVCrossingModel.free_and_finite_quotient_of_ne_bot_of_const_notMem36 below · depth 18 - W[[u,v]]/(uv-π) is local for π a non-unit
ModularCurve.UVCrossingModel.isLocalRing_of_not_isUnit1 below · depth 18 - Module-finiteness of crossing-model quotients by ideals avoiding both branches
ModularCurve.UVCrossingModel.moduleFinite_quotient_of_not_le_span_pair35 below · depth 18 - Places over a supersingular node bounded by branch ranks
ModularCurve.PlaceSpecialization.ProlongationTuple.card_le_finsum_finrank_quotient_map_of_xDepth_pow_eq136 below · depth 19 - Distinctness of the two branch coordinates u ≠ v
ModularCurve.UVCrossingModel.U_ne_V2 below · depth 19 - Vieta relation U²-S U+π=0 in the crossing model
ModularCurve.UVCrossingModel.U_quadratic1 below · depth 19 - The crossing involution sends U to V
ModularCurve.UVCrossingModel.crossingSwap_U0 below · depth 19 - Invariants of W[[u,v]]/(uv-π) lift to symmetric series
ModularCurve.UVCrossingModel.exists_uvSwapEquiv_eq_and_mk_eq_of_mem_fixedSubring3 below · depth 19 - Nontriviality of W[[u,v]]/(uv-π) for non-unit π
ModularCurve.UVCrossingModel.nontrivial_of_not_isUnit0 below · depth 19 - Crossing model for the completed node ring at j=0,1728
ModularCurve.exists_ringEquiv_adicCompletion_modularLocalizedAtPoint_uvCrossingModel_of_eq_zero_or_eq_1728422 below · depth 19 - Fixed ring of a node automorphism is a crossing model
ModularCurve.LambdaNodeLocalized.exists_ringHom_uvCrossingModel_pow_jWidth_range_eq_fixedPoints_adicCompletion361 below · depth 20 - Branch pins of the crossing model at j ∈ {0,1728}
ModularCurve.LambdaNodeLocalized.exists_span_pair_eq_of_uvCrossingModel_apply_eq_qExpand_two_jq_sub_of_kroneckerCongruence9 below · depth 20 - Crossing-chart expansion of J-x and J_q-x^q at a wide node
ModularCurve.LambdaNodeLocalized.exists_units_uvCrossingModel_apply_eq_qExpand_two_jq_sub_of_range_eq_fixedPoints347 below · depth 20 - Branch-norm factorisation of the y-product at a supersingular node
ModularCurve.PlaceSpecialization.ProlongationTuple.exists_prod_evalAt_y_eq_pow_mul_prod_units_of_forall_iff_evalAt_eq_zero180 below · depth 20 - Reading first-branch leading coefficients in the crossing model
ModularCurve.PlaceSpecialization.ProlongationTuple.hasValue_nodeResidueFst_div_nodeResidueFst_y_pow_of_sub_mul_V_pow_mem_of_hasValue1 below · depth 20 - Second-branch value of f/x^m at a supersingular node
ModularCurve.PlaceSpecialization.ProlongationTuple.hasValue_nodeResidueSnd_div_nodeResidueSnd_x_pow_of_sub_mul_U_pow_mem_of_hasValue1 below · depth 20 - In the crossing model, U does not lie in (V)
ModularCurve.UVCrossingModel.U_notMem_span_V1 below · depth 20 - Adic completeness of the uv=π crossing model
ModularCurve.UVCrossingModel.isAdicComplete_maximalIdeal3 below · depth 20 - Multiplicativity of extreme dominant leading residues
ModularCurve.UVCrossingModel.leadingResidue_nfCoeff_sInf_dominantIndices_zero_mul_and_sSup_mul34 below · depth 20 - Residue of norms on finite free quotients of the crossing model
ModularCurve.UVCrossingModel.residue_norm_quotient_mk_eq_residue_constantCoeff_pow_finrank3 below · depth 20 - Completed λ-node ring at a supersingular point is a crossing
ModularCurve.LambdaNodeLocalized.exists_ringEquiv_adicCompletion_lambdaLocalizedAtPoint_uvCrossingModel345 below · depth 21 - Node values as a product of branch norms
ModularCurve.PlaceSpecialization.ProlongationTuple.prod_evalAt_eq_prod_norm_quotient_of_forall_iff_evalAt_eq_zero179 below · depth 21 - Fixed ring of a tangentially diagonal automorphism of uv=π
ModularCurve.UVCrossingModel.exists_algHom_range_eq_fixedPoints_apply_U_apply_V_of_tangent13 below · depth 21 - Horizontal prime of the crossing model through V-varpiᵈ
ModularCurve.UVCrossingModel.exists_prime_V_sub_const_pow_mem26 below · depth 21 - Semistable model with descent from a disc-charted covering
ModularCurve.FullLevel.SemistableCovering.exists_semistableModel_descent_of_discCharts_of_noCuspFreePackageSS_of_jPins_of_nodeRings_nodeCharts4,476 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 - Attachment of the node annulus to the first component chart
ModularCurve.PlaceSpecialization.ProlongationTuple.isAttached_fst_of_ringEquiv_uvCrossingModel_of_regularityLaw388 below · depth 22 - Attachment of the opposite node annulus to the second chart
ModularCurve.PlaceSpecialization.ProlongationTuple.isAttached_snd_of_ringEquiv_uvCrossingModel_of_regularityLaw388 below · depth 22 - Rescaling crossing coordinates by a unit and its inverse
ModularCurve.UVCrossingModel.exists_algEquiv_apply_U_eq_mul1 below · depth 22 - μₑ-invariants of a crossing model form the e-fold model
ModularCurve.UVCrossingModel.exists_powMap_range_eq_fixedPoints3 below · depth 22 - Linearising a tame finite-order automorphism of a crossing model
ModularCurve.UVCrossingModel.exists_unit_eigen_of_tangent5 below · depth 22 - Branch decomposition of the norm on R/xR for W[[U,V]]/(UV-varpi^e)
ModularCurve.UVCrossingModel.norm_quotient_span_eq_finprod_norm_quotient_pow_length1 below · depth 22 - Node regularity and the slope law from layered crossing presentations
AlgebraicCurve.NodeAnnulusEngine.ord_residue_nonneg_and_finsum_ord_eq_ord_residue_add_of_ringEquiv_uvCrossingModel_layers108 below · depth 23 - Reciprocal annulus pair at a crossing-model node
AlgebraicCurve.exists_annulusPair_isAttached_of_ringEquiv_uvCrossingModel_of_nodeCoordinates3 below · depth 23 - Branch places and node coordinates at an ordinary double point
AlgebraicCurve.exists_nodeRing_coords_and_branch_unique_and_residue_surjective_of_ringEquiv_adicCompletion_stalk_of_isUnit_of_isIntegrallyClosed45 below · depth 23 - Node-ring recognition: mathcal O_{X,x} as a localisation of T
AlgebraicGeometry.mem_localRing_node_iff_exists_mul_eq_of_nodeChart_of_forall_not_dominates59 below · depth 23 - Semistable model with descent from a disc-charted covering, q=3
ModularCurve.FullLevel.SemistableCovering.exists_semistableModel_descent_of_discCharts_of_noCuspFreePackageSS_of_jPins_of_nodeRings_nodeCharts_of_eq_three_of_dvd4,246 below · depth 23 - Semistable model with descent from a disc-charted covering, q=2
ModularCurve.FullLevel.SemistableCovering.exists_semistableModel_descent_of_discCharts_of_noCuspFreePackageSS_of_jPins_of_nodeRings_nodeCharts_of_eq_two_of_dvd4,246 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 - u is a non-zero-divisor on W[[u,v]]/(uv-π)
ModularCurve.UVCrossingModel.U_mem_nonZeroDivisors2 below · depth 23 - Fixed points of the diagonal automorphism of W[[x,y]]/(xy-π)
ModularCurve.UVCrossingModel.exists_diagAut_fixed_iff0 below · depth 23 - Weight-zero series are e-th expansions modulo X₀X₁-π
ModularCurve.UVCrossingModel.exists_mk_eq_mk_expand_of_dvd_sub0 below · depth 23 - Descent of the nodal normal form uv=t, 𝔪=(u,v)
ModularCurve.UVCrossingModel.exists_mul_eq_and_maximalIdeal_eq_span_pair_of_ringEquiv_adicCompletion26 below · depth 23 - Injectivity of the e-th power map between crossing models
ModularCurve.UVCrossingModel.exists_powMap_injective0 below · depth 23 - Completed local ring at a singular point of the X₁(Mp) model
ModularCurve.XOneP.exists_ringEquiv_adicCompletion_stalk_uvCrossingModel_unramified_of_not_isRegularLocalRing_fibre_twoChartIntegralModel_x1_mul2,852 below · depth 23 - Node places separated by the value of the coordinate y
AlgebraicCurve.NodeAnnulusEngine.eq_of_mem_of_evalAt_eq0 below · depth 24 - Admissible values of a node coordinate are attained
AlgebraicCurve.NodeAnnulusEngine.exists_mem_and_evalAt_eq0 below · depth 24 - Node places count horizontal zeros in a uv-crossing model
AlgebraicCurve.NodeAnnulusEngine.finite_and_finsum_ord_eq_finsum_finrank_mul_length_of_ringEquiv_uvCrossingModel99 below · depth 24 - Order at the first end is minus the largest dominant index
AlgebraicCurve.NodeAnnulusEngine.ord_residue_smul_eq_neg_sSup_dominantIndices_of_ringEquiv_uvCrossingModel38 below · depth 24 - Order at the U-end as least dominant index
AlgebraicCurve.NodeAnnulusEngine.ord_residue_smul_eq_sInf_dominantIndices_of_ringEquiv_uvCrossingModel38 below · depth 24 - Node coordinate minus its value is a uniformiser
AlgebraicCurve.NodeAnnulusEngine.ord_sub_evalAt_eq_one0 below · depth 24 - Normality and branch valuation rings of a node-ring layer
AlgebraicCurve.NodeRingLayers.mem_of_isIntegral_and_exists_valuationSubring_localization_of_uvCrossingModel51 below · depth 24 - Constant residues and node generators for the local ring at x
AlgebraicCurve.exists_sub_algebraMap_not_isUnit_and_exists_eq_mul_add_of_iso_pullback_of_maximalIdeal_eq_span21 below · depth 24 - Distinct non-maximal branch kernels on a descended node ring
AlgebraicCurve.ker_residue_ne_and_ne_maximalIdeal_of_iso_pullback_of_specializes_of_ne2 below · depth 24 - Node local ring lies in both branches and all S-places
AlgebraicCurve.localRing_le_integers_and_forall_mem_toValuationSubring_and_algebraMap_mem_localRing0 below · depth 24 - Regularity at a node from integrality on both branches
AlgebraicCurve.mem_localRing_of_mem_integers_of_forall_mem_toValuationSubring_of_ringEquiv_adicCompletion_stalk_of_isIntegrallyClosed31 below · depth 24 - Primes below the node ideal are the two branch centres
AlgebraicGeometry.forall_mem_iff_not_exists_or_of_isPrime_of_ne_nodeIdeal_of_nodeChart52 below · depth 24 - Transport of a crossing-model presentation along a ring isomorphism
IsLocalRing.exists_ringHom_ringEquiv_adicCompletion_uvCrossingModel_of_ringEquiv0 below · depth 24 - Supersingular regular prolongation: charts, node models, affine chart
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodePresentations_cover_nodeCharts_hasseJ_drinfeldInertia_affineChart3,767 below · depth 24 - Supersingular prolongation at q=3: charts, annuli, node models, Drinfeld identification
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodePresentations_crossUnits_igusaOverS_inertia_nodeCharts_hasseJ_of_eq_three_of_dvd3,838 below · depth 24 - Supersingular prolongation, node package and Drinfeld inertia at q=2
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodePresentations_crossUnits_igusaOverS_inertia_nodeCharts_hasseJ_of_eq_two_of_dvd3,836 below · depth 24 - Supersingular prolongation at q=3: charts, node annuli, Drinfeld action
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodePresentations_crossUnits_inertia_of_eq_three_of_dvd3,839 below · depth 24 - Supersingular Gauss prolongation at q=2: charts, node annuli, Drinfeld
ModularCurve.FullLevel.exists_supersingularRegularProlongation_smoothPointCharts_nodePresentations_crossUnits_inertia_of_eq_two_of_dvd3,837 below · depth 24 - Level orbits and generators for a supersingular prolongation
ModularCurve.FullLevel.supersingularProlongation_drinfeldQuotient_levelOrbits_generators_inertia_of_drinfeldIdentification_of_affineChart144 below · depth 24 - Node annuli and crossing data over a supersingular place
ModularCurve.FullLevel.supersingularProlongation_exists_nodeAnnuli_nodePresentations_cover_crossUnits_zeroFree_of_nodePresentations_nodeCharts_hasseJ215 below · depth 24 - No cusp-free smooth-point chart at an end of the supersingular component
ModularCurve.FullLevel.supersingularProlongation_not_smoothPointPackage_of_mem_ends_nodeCharts_hasseJ_cuspFree197 below · depth 24 - Semilinear transport of smooth-point packages off the ends
ModularCurve.FullLevel.supersingularProlongation_smoothPointPackage_semilinearTransport_of_cuspFree0 below · depth 24 - Uniqueness of the smooth-point package on the supersingular component
ModularCurve.FullLevel.supersingularProlongation_smoothPointPackage_unique64 below · depth 24 - The two branches of the crossing model are distinct
ModularCurve.UVCrossingModel.V_notMem_span_U1 below · depth 24 - Divisors of varpi^m in the crossing model are monomials
ModularCurve.UVCrossingModel.exists_eq_unit_mul_U_pow_mul_V_pow_mul_const_pow_of_dvd20 below · depth 24 - Descent of node coordinates from the crossing-model completion
ModularCurve.UVCrossingModel.exists_mul_eq_pow_mul_and_maximalIdeal_eq_span_of_ringEquiv_adicCompletion_pow5 below · depth 24 - The branch ideal (U) in the crossing model is prime
ModularCurve.UVCrossingModel.isPrime_span_U2 below · depth 24 - Primality of the branch ideal (V) in the crossing model
ModularCurve.UVCrossingModel.isPrime_span_V2 below · depth 24 - Regularity of W[[u,v]]/(uv-π)
ModularCurve.UVCrossingModel.isRegularLocalRing10 below · depth 24 - Maximal ideal of W[[u,v]]/(uv-π) is (u,v)
ModularCurve.UVCrossingModel.maximalIdeal_eq_span_pair1 below · depth 24 - The two non-maximal primes through t are the formal branches
ModularCurve.UVCrossingModel.mem_iff_ringEquiv_adicCompletion_mem_span_or_swap_of_ne0 below · depth 24 - The two branches are the minimal primes of (UV)
ModularCurve.UVCrossingModel.minimalPrimes_span_U_mul_V8 below · depth 24 - dim W[[u,v]]/(uv-π)=2 over a discrete valuation ring
ModularCurve.UVCrossingModel.ringKrullDim_eq_two9 below · depth 24 - Tame crossing-model form of the completed stalk at a fibre-singular point
ModularCurve.XOneP.exists_ringEquiv_adicCompletion_stalk_uvCrossingModel_unramified_of_not_isRegularLocalRing_fibre_twoChartIntegralModel_x1_mul_of_tameLevel2,812 below · depth 24 - Crossing normal form descends along prime-to-p level raising
ModularCurve.XOneP.exists_ringEquiv_adicCompletion_stalk_uvCrossingModel_unramified_of_primeToP_levelRaise_twoChartIntegralModel_x1_mul1,591 below · depth 24
… and 474 more statements (search for the module name to find them).