Definitions/Def_ModularCurve_UVCrossingGaussOrder.lean
Gauss orders on the crossing model
Throughout, W is a commutative ring, and the crossing model \mathrm{UVCrossingModel}\ W\ \pi is the quotient of W[[U,V]] = MvPowerSeries (Fin 2) W by the ideal generated by X_0X_1 - \pi, with quotient map mk π.
Two embeddings of one-variable series are defined coefficientwise: inU a is the two-variable series whose coefficient at a multi-index d is the d_0-th coefficient of a when d_1 = 0 and 0 otherwise, i.e. a(U); symmetrically inV b is b(V). The lemmas coeff_inU and coeff_inV record these coefficient formulas.
The weight function annulusWeight e t d is the natural number d_0 t + d_1 (e - t), the subtraction being truncated subtraction in \mathbb{N}. Given a function v : W \to \mathbb{N}\cup\{\infty\} (the intended input being an additive valuation) and natural numbers e, t, the order of a representative is
\mathrm{repGaussOrder}\ v\ e\ t\ F \;=\; \inf_{d \in \mathbb{N}^2} \bigl( v(\mathrm{coeff}_d F) + d_0 t + d_1 (e-t) \bigr),
an infimum in \mathbb{N}\cup\{\infty\} over all multi-indices. The order of an element x of the crossing model is then the supremum of \mathrm{repGaussOrder}\ v\ e\ t\ F over all F \in W[[U,V]] with \mathrm{mk}\ \pi\ F = x:
\mathrm{gaussOrder}\ v\ \pi\ e\ t\ x \;=\; \sup \{\mathrm{repGaussOrder}\ v\ e\ t\ F : \mathrm{mk}\ \pi\ F = x\},
so that it is defined through presentations of x rather than intrinsically. No hypotheses beyond commutativity of W are imposed on v, \pi, e or t.
The remaining declarations are the order-theoretic interface: repGaussOrder_le (the infimum is bounded by each term), le_repGaussOrder_iff (a bound n \le \mathrm{repGaussOrder} holds precisely when it holds coefficientwise), repGaussOrder_le_gaussOrder (each representative bounds the order of its class from below), and gaussOrder_le_iff (an upper bound for the order of a class is equivalent to the same bound for every representative).
Relation to Mathlib
Mathlib has no weighted order or Gauss-type valuation on such a crossing model; these are the project's own definitions, built on Mathlib's MvPowerSeries, PowerSeries and the complete lattice structure of \mathbb{N}\cup\{\infty\}.
Where it is used
The crossing model W[[U,V]]/(UV-\pi) is the shape of the completed local ring of a modular curve at a supersingular point, and the weights d_0 t + d_1(e-t) interpolate between the two branches, the parameter t playing the role of the valuation of U on the annulus cut out by UV = \pi. These definitions supply the vocabulary in which later statements about such local rings (slope behaviour in t, multiplicativity, normal forms) are phrased.
References
- S. Bosch, U. Güntzer and R. Remmert, Non-Archimedean Analysis, Grundlehren der mathematischen Wissenschaften 261, Springer, 1984
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 53 lines
- 11 declarations
- used in the statements of 28 theorems and imported by 39 proofs
- imports 1 definition modules
Source file: Definitions/Def_ModularCurve_UVCrossingGaussOrder.lean
Declarations
- def
ModularCurve.UVCrossingModel.inU - def
ModularCurve.UVCrossingModel.inV - theorem
ModularCurve.UVCrossingModel.coeff_inU - theorem
ModularCurve.UVCrossingModel.coeff_inV - def
ModularCurve.UVCrossingModel.annulusWeight - def
ModularCurve.UVCrossingModel.repGaussOrder - def
ModularCurve.UVCrossingModel.gaussOrder - theorem
ModularCurve.UVCrossingModel.repGaussOrder_le - theorem
ModularCurve.UVCrossingModel.le_repGaussOrder_iff - theorem
ModularCurve.UVCrossingModel.repGaussOrder_le_gaussOrder - theorem
ModularCurve.UVCrossingModel.gaussOrder_le_iff
Source
import Mathlib import Definitions.Def_ModularCurve_UVCrossingModel set_option autoImplicit false universe u namespace ModularCurve.UVCrossingModel noncomputable section variable {W : Type u} [CommRing W] def inU (a : PowerSeries W) : MvPowerSeries (Fin 2) W := fun d => if d 1 = 0 then PowerSeries.coeff (d 0) a else 0 def inV (b : PowerSeries W) : MvPowerSeries (Fin 2) W := fun d => if d 0 = 0 then PowerSeries.coeff (d 1) b else 0 theorem coeff_inU (a : PowerSeries W) (d : Fin 2 →₀ ℕ) : MvPowerSeries.coeff d (inU a) = if d 1 = 0 then PowerSeries.coeff (d 0) a else 0 := rfl theorem coeff_inV (b : PowerSeries W) (d : Fin 2 →₀ ℕ) : MvPowerSeries.coeff d (inV b) = if d 0 = 0 then PowerSeries.coeff (d 1) b else 0 := rfl def annulusWeight (e t : ℕ) (d : Fin 2 →₀ ℕ) : ℕ := d 0 * t + d 1 * (e - t) def repGaussOrder (v : W → ℕ∞) (e t : ℕ) (F : MvPowerSeries (Fin 2) W) : ℕ∞ := ⨅ d : Fin 2 →₀ ℕ, v (MvPowerSeries.coeff d F) + (annulusWeight e t d : ℕ∞) def gaussOrder (v : W → ℕ∞) (π : W) (e t : ℕ) (x : UVCrossingModel W π) : ℕ∞ := ⨆ F ∈ {F : MvPowerSeries (Fin 2) W | mk π F = x}, repGaussOrder v e t F theorem repGaussOrder_le (v : W → ℕ∞) (e t : ℕ) (F : MvPowerSeries (Fin 2) W) (d : Fin 2 →₀ ℕ) : repGaussOrder v e t F ≤ v (MvPowerSeries.coeff d F) + (annulusWeight e t d : ℕ∞) := iInf_le _ d theorem le_repGaussOrder_iff (v : W → ℕ∞) (e t : ℕ) (F : MvPowerSeries (Fin 2) W) (n : ℕ∞) : n ≤ repGaussOrder v e t F ↔ ∀ d, n ≤ v (MvPowerSeries.coeff d F) + (annulusWeight e t d : ℕ∞) := le_iInf_iff theorem repGaussOrder_le_gaussOrder (v : W → ℕ∞) (π : W) (e t : ℕ) (F : MvPowerSeries (Fin 2) W) : repGaussOrder v e t F ≤ gaussOrder v π e t (mk π F) := le_iSup₂ (f := fun G (_ : G ∈ {G : MvPowerSeries (Fin 2) W | mk π G = mk π F}) => repGaussOrder v e t G) F rfl theorem gaussOrder_le_iff (v : W → ℕ∞) (π : W) (e t : ℕ) (x : UVCrossingModel W π) (n : ℕ∞) : gaussOrder v π e t x ≤ n ↔ ∀ F, mk π F = x → repGaussOrder v e t F ≤ n := iSup₂_le_iff end end ModularCurve.UVCrossingModel
Statements phrased using this module (28)
- 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 - 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 - 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 - 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 - 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 - Dominant indices at interior depth: finite and nonempty
ModularCurve.UVCrossingModel.dominantIndices_finite_nonempty0 below · depth 18 - Multiplicativity of extreme dominant leading residues
ModularCurve.UVCrossingModel.leadingResidue_nfCoeff_sInf_dominantIndices_zero_mul_and_sSup_mul34 below · depth 20 - 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 - Orders at both branches of a monomial germ wV^e
AlgebraicCurve.NodeAnnulusEngine.residue_eq_zero_and_ord_residue_eq_and_ord_residue_smul_eq_neg_of_eq_mul_V_pow32 below · depth 27