Definitions/Def_HahnSeries_RamificationBound.lean
Ramification bounds and -ramified Puiseux subfields of Hahn series
Over a field K, the Hahn series field \mathrm{HahnSeries}\ \mathbb{Q}\ K plays the role of the field of Puiseux series K((t^{\mathbb Q})), and this module records the apparatus for exponents with denominator dividing a fixed natural number e. First, ramScale e is the additive monoid homomorphism \mathbb Z \to \mathbb Q given by k \mapsto k/e (so, by the convention k/0 = 0, it is the zero map when e = 0); ramScale_apply records its value, ramScale_injective states that it is injective when e > 0, and ramScale_le_iff states that for e > 0 it reflects and preserves the order, k/e \le l/e \iff k \le l. Using these two facts, puiseuxRamEmb is the ring homomorphism \mathrm{HahnSeries}\ \mathbb Z\ K \to \mathrm{HahnSeries}\ \mathbb Q\ K obtained by reindexing the exponent group along k \mapsto k/e, that is, the embedding K((s)) \hookrightarrow K((t^{\mathbb Q})) sending s to t^{1/e}.
Second, HasRamBound e y is the predicate on a Hahn series y with rational exponents asserting that its support is contained in the image of k \mapsto k/e, i.e. that all exponents occurring in y lie in \tfrac1e\mathbb Z; for e = 0 this reads as support contained in \{0\}. Third, for e > 0, puiseuxRamSubfield K he is the subfield of \mathrm{HahnSeries}\ \mathbb Q\ K given by the field range of puiseuxRamEmb, i.e. K((t^{1/e})) realised inside K((t^{\mathbb Q})). The definition is by image, not by the support condition: the identification of this subfield with the set of series satisfying HasRamBound e is a separate assertion and is not built into the definitions here.
Relation to Mathlib
The ambient objects are Mathlib's HahnSeries and its exponent-reindexing ring homomorphism HahnSeries.embDomainRingHom; the scaling map ramScale, the ramification-bound predicate and the e-ramified subfield are the project's own notions.
Where it is used
These definitions provide the series-theoretic language for Puiseux expansions of bounded ramification index, used in the treatment of the j-line covering by modular curves, where local branches have ramification index dividing 3 above j=0, dividing 2 above j=1728, and 1 elsewhere.
References
- R. J. Walker, Algebraic Curves, Princeton University Press, 1950, Chapter IV
- O. Zariski and P. Samuel, Commutative Algebra II, Van Nostrand, 1960
References are suggested automatically and have not been individually verified.
English text generated automatically from the Lean source; the Lean statement is authoritative.
- 43 lines
- 7 declarations
- used in the statements of 23 theorems and imported by 32 proofs
- imports 0 definition modules
Source file: Definitions/Def_HahnSeries_RamificationBound.lean
Declarations
- def
HahnSeries.ramScale - theorem
HahnSeries.ramScale_apply - theorem
HahnSeries.ramScale_injective - theorem
HahnSeries.ramScale_le_iff - def
HahnSeries.puiseuxRamEmb - def
HahnSeries.HasRamBound - def
HahnSeries.puiseuxRamSubfield
Source
import Mathlib set_option autoImplicit false noncomputable section namespace HahnSeries variable {K : Type*} [Field K] def ramScale (e : ℕ) : ℤ →+ ℚ where toFun k := (k : ℚ) / e map_zero' := by simp map_add' a b := by simp only [Int.cast_add]; rw [add_div] @[simp] theorem ramScale_apply (e : ℕ) (k : ℤ) : ramScale e k = (k : ℚ) / e := rfl theorem ramScale_injective {e : ℕ} (he : 0 < e) : Function.Injective (ramScale e) := by intro a b hab have he' : (e : ℚ) ≠ 0 := Nat.cast_ne_zero.mpr he.ne' simp only [ramScale_apply, div_eq_div_iff he' he'] at hab exact_mod_cast mul_right_cancel₀ he' hab theorem ramScale_le_iff {e : ℕ} (he : 0 < e) (a b : ℤ) : ramScale e a ≤ ramScale e b ↔ a ≤ b := by have he' : (0 : ℚ) < e := Nat.cast_pos.mpr he simp only [ramScale_apply, div_le_div_iff_of_pos_right he', Int.cast_le] def puiseuxRamEmb {e : ℕ} (he : 0 < e) : HahnSeries ℤ K →+* HahnSeries ℚ K := HahnSeries.embDomainRingHom (ramScale e) (ramScale_injective he) (ramScale_le_iff he) def HasRamBound (e : ℕ) (y : HahnSeries ℚ K) : Prop := y.support ⊆ Set.range (fun k : ℤ => (k : ℚ) / e) variable (K) in def puiseuxRamSubfield {e : ℕ} (he : 0 < e) : Subfield (HahnSeries ℚ K) := (puiseuxRamEmb (K := K) he).fieldRange end HahnSeries end
Statements phrased using this module (23)
- Hahn-series embedding with bounded ramification yields a place
AlgebraicCurve.Place.exists_ord_mul_eq_order_of_hasRamBound0 below · depth 11 - Bounded Puiseux denominators bound ramification over a closed point
AlgebraicCurve.Place.ord_dvd_of_forall_hahnSeries_embedding_hasRamBound25 below · depth 11 - Unramifiedness from integral Puiseux exponents at a simple root
AlgebraicCurve.Place.ord_eq_one_of_forall_hahnSeries_embedding_hasRamBound_one25 below · depth 11 - Membership in the e-ramified Puiseux subfield
HahnSeries.mem_puiseuxRamSubfield_iff0 below · depth 11 - Roots of Φ_N(a+t,Y) are Laurent series for odd N
ModularCurve.ModularPolynomialData.hasRamBound_one_of_isRoot_off_zero_1728_of_odd209 below · depth 11 - Roots of Φ_N(t,Y) over ℚ̄ have ramification bound 3 (N odd)
ModularCurve.ModularPolynomialData.hasRamBound_three_of_isRoot_at_zero_of_odd209 below · depth 11 - Roots of Φ_N(1728+t,Y) have ramification bound 2 for odd N
ModularCurve.ModularPolynomialData.hasRamBound_two_of_isRoot_at_1728_of_odd209 below · depth 11 - Normalised Hahn-series embeddings induce places of F_N
ModularCurve.exists_place_of_emb97 below · depth 11 - Normalised Hahn-series embeddings at a place above j₀
ModularCurve.natCard_normalized_algHom_jBar_eq_toNat_ord151 below · depth 11 - Puiseux bound d forces ord_W(p)∣ d
AlgebraicCurve.Place.ord_dvd_of_hahnSeries_embedding_of_isGalois18 below · depth 12 - Laurent embedding over a simple root forces ord_W p = 1
AlgebraicCurve.Place.ord_eq_one_of_hahnSeries_embedding_of_isGalois18 below · depth 12 - Newton–Puiseux bound: roots have exponents in tfrac1n!ℤ
HahnSeries.hasRamBound_natDegree_factorial_of_isRoot0 below · depth 12 - Roots of Φ_N(j(E),Y) lie in L
ModularCurve.ModularPolynomialData.mem_of_isRoot_map_j_of_transcendental_of_odd203 below · depth 12 - Normalised Hahn-series embeddings inducing a place above j₀
ModularCurve.natCard_normalized_algHom_hahnSeries_jBar_sub_eq_toNat_ord0 below · depth 12 - Torsion coordinates of a good-reduction model are Laurent
WeierstrassCurve.hasRamBound_one_of_nsmul_eq_zero_of_isUnit_discriminant_powerSeries2 below · depth 12 - Descent to integer exponents in the Hahn field K((t^ℚ))
HahnSeries.hasRamBound_one_of_forall_ringEquiv_apply_eq0 below · depth 13 - Roots of Φ_N(j(W),Y) lie in the N-torsion field
ModularCurve.ModularPolynomialData.mem_of_isRoot_map_j_of_transcendental213 below · depth 13 - Order of jmath̄ at its zeros divides three, under a branch bound
ModularCurve.ord_jBar_dvd_three_of_pos_of_forall_isRoot_hasRamBound300 below · depth 13 - Ramification bounds are closed under addition
HahnSeries.HasRamBound.add1 below · depth 14 - Constant Hahn series have ramification bound e
HahnSeries.hasRamBound_C1 below · depth 14 - Natural numbers have every ramification bound in HahnSeries ℚ K
HahnSeries.hasRamBound_natCast1 below · depth 14 - The term c t has ramification bound e
HahnSeries.hasRamBound_single_one1 below · depth 14 - Zeros of ̄ j - j₀ count the degree over ℚ̄(̄ j)
ModularCurve.sum_ord_jBar_sub_eq_finrank186 below · depth 14