Documentation

TauCeti.RingTheory.LaurentSeries.Level.Basis

Power bases of ramified Laurent-series levels #

For a positive integer d, every Laurent series has a unique decomposition

f = ∑ r : Fin d, X ^ r * expand d (contract d f r).

Here contract d f r retains the coefficients of f in the congruence class r modulo d and sends each exponent d * k + r to k. This realizes the Laurent-series field in the variable u as a degree-d extension of the Laurent-series field in t = u ^ d, with power basis 1, u, ..., u ^ (d - 1).

The source and target fields have the same underlying Laurent-series type but different algebra structures. TauCeti.LaurentSeries.Level K d is therefore a wrapped copy of K⸨X⸩, with the base-field map given by LaurentSeries.expand K d. It embeds into the Puiseux field as its actual level-d subfield. Transporting the power basis proves that this subfield has degree d; since every Puiseux series lies in some level, the Puiseux field is algebraic over K⸨X⸩ in every characteristic.

The actual levels form a lattice of intermediate fields mirroring divisibility: level n lies in level m exactly when n ∣ m, the intersection of levels n and m is level gcd n m, their compositum is level lcm n m, level one is K⸨X⸩ and the levels exhaust the Puiseux field. These formulas reduce questions about finitely many ramified subextensions, such as the smallest level containing given Puiseux series, to divisibility of the levels.

The contraction and decomposition API follows the design proposed in Mathlib PR #42313.

Main definitions #

Main results #

structure TauCeti.LaurentSeries.Level (K : Type u_1) [Field K] (d : ℕ+) :
Type u_1

A wrapped copy of the Laurent-series field at ramified level d. Its field structure is the usual one, while its K⸨X⸩-algebra structure sends the base parameter to the d-th power of the level parameter. The wrapper avoids installing two algebra structures on K⸨X⸩ itself.

  • ofLaurentSeries :: (
    • toLaurentSeries : LaurentSeries K

      The Laurent series underlying an element of a ramified level.

  • )
Instances For
    theorem TauCeti.LaurentSeries.Level.ext {K : Type u_1} {inst✝ : Field K} {d : ℕ+} {x y : Level K d} (toLaurentSeries : x.toLaurentSeries = y.toLaurentSeries) :
    x = y
    theorem TauCeti.LaurentSeries.Level.ext_iff {K : Type u_1} {inst✝ : Field K} {d : ℕ+} {x y : Level K d} :

    The underlying Laurent series of a ramified-level element.

    Instances For
      @[instance_reducible]
      noncomputable instance TauCeti.LaurentSeries.Level.instField (K : Type u_1) [Field K] (d : ℕ+) :
      Field (Level K d)

      A ramified level has the field structure of its underlying Laurent series.

      The ring equivalence from a ramified level to its underlying Laurent-series field.

      Instances For
        noncomputable def TauCeti.LaurentSeries.Level.algebraMap (K : Type u_1) [Field K] (d : ℕ+) :

        The base-field map into level d, given on underlying Laurent series by expansion X ↦ X ^ d.

        Instances For
          @[instance_reducible]
          noncomputable instance TauCeti.LaurentSeries.Level.instAlgebraLaurentSeries (K : Type u_1) [Field K] (d : ℕ+) :

          Level d is a K⸨X⸩-algebra through the expansion X ↦ X ^ d.

          @[simp]

          The algebra map into a ramified level is expansion on underlying Laurent series.

          @[simp]

          Wrapping and then taking the underlying Laurent series is the identity.

          noncomputable def TauCeti.LaurentSeries.Level.basis (K : Type u_2) [Field K] (d : ℕ+) :

          The basis of level d obtained by splitting exponents modulo d.

          Instances For
            noncomputable def TauCeti.LaurentSeries.Level.parameter (K : Type u_2) [Field K] (d : ℕ+) :
            Level K d

            The level parameter u, whose d-th power is the base parameter.

            Instances For
              @[simp]

              The underlying Laurent series of the level parameter is X.

              The level parameter is a d-th root of the base parameter.

              @[simp]
              theorem TauCeti.LaurentSeries.Level.basis_apply (K : Type u_2) [Field K] (d : ℕ+) (r : Fin ↑d) :
              (basis K d) r = parameter K d ^ ↑r

              The basis vectors of level d are 1, u, ..., u ^ (d - 1).

              @[simp]
              theorem TauCeti.LaurentSeries.Level.basis_repr_apply (K : Type u_2) [Field K] (d : ℕ+) (f : Level K d) (r : Fin ↑d) :

              The coordinates of a level element in the power basis are its exponent-congruence components.

              noncomputable def TauCeti.LaurentSeries.Level.powerBasis (K : Type u_2) [Field K] (d : ℕ+) :

              The power basis 1, u, ..., u ^ (d - 1) of the ramified Laurent-series level.

              Instances For
                @[simp]

                The generator of the level power basis is the level parameter.

                @[simp]
                theorem TauCeti.LaurentSeries.Level.powerBasis_dim (K : Type u_2) [Field K] (d : ℕ+) :
                (powerBasis K d).dim = ↑d

                The dimension of the level power basis is d.

                @[simp]

                The basis underlying the level power basis is the congruence-class basis.

                A ramified Laurent-series level is finite-dimensional over the base Laurent field.

                The K⸨X⸩-algebra embedding of level d into the Puiseux field.

                Instances For

                  As a rational-exponent Hahn series, the level embedding is the corresponding ramified embedding.

                  @[simp]

                  The abstract level embedding agrees with puiseuxField.levelEmbedding on the underlying Laurent series.

                  noncomputable def TauCeti.puiseuxField.level (K : Type u_1) [Field K] (d : ℕ+) :

                  The actual level-d intermediate field inside the Puiseux field.

                  Instances For
                    theorem TauCeti.puiseuxField.mem_level_iff (K : Type u_1) [Field K] (d : ℕ+) (x : ↥(puiseuxField K)) :

                    Membership in the actual level is membership in the range of the corresponding level embedding.

                    noncomputable def TauCeti.puiseuxField.levelEquiv (K : Type u_1) [Field K] (d : ℕ+) :

                    The abstract ramified Laurent-series level is equivalent to its image in the Puiseux field.

                    Instances For
                      @[simp]

                      The level equivalence is the level embedding after coercion to the Puiseux field.

                      noncomputable def TauCeti.puiseuxField.levelPowerBasis (K : Type u_1) [Field K] (d : ℕ+) :

                      The transported power basis of the actual level-d subfield of the Puiseux field.

                      Instances For
                        @[simp]

                        The generator of the actual level power basis is the image of the level parameter.

                        @[simp]

                        The dimension of the actual level power basis is d.

                        @[simp]

                        The basis of the actual level is the transported congruence-class basis.

                        theorem TauCeti.puiseuxField.level_finrank (K : Type u_1) [Field K] (d : ℕ+) :

                        The level-d Puiseux subfield has degree d over K⸨X⸩.

                        The Puiseux field is algebraic over the Laurent-series field in every characteristic.

                        The generator of the level-d power basis is the monomial t ^ (1 / d).

                        theorem TauCeti.puiseuxField.coe_levelPowerBasis_gen_pow (K : Type u_1) [Field K] {e L : ℕ+} {k : ℕ} (h : ↑L = ↑e * k) :

                        The level parameters are compatible: if L = e * k, then (t ^ (1 / L)) ^ k = t ^ (1 / e).

                        The generator t ^ (1 / d) of the level-d power basis is nonzero.

                        An intermediate field containing the generator t ^ (1 / d) contains level d.

                        theorem TauCeti.puiseuxField.level_le_level_of_dvd (K : Type u_1) [Field K] {n m : ℕ+} (h : n ∣ m) :
                        level K n ≤ level K m

                        For n ∣ m, level n is contained in level m.

                        @[simp]
                        theorem TauCeti.puiseuxField.level_le_level_iff (K : Type u_1) [Field K] {n m : ℕ+} :
                        level K n ≤ level K m ↔ n ∣ m

                        Level n is contained in level m exactly when n ∣ m.

                        For n ∣ m, level n has degree n over K⸨X⸩, as an intermediate field of level m.

                        @[simp]

                        For n ∣ m and n' ∣ m, level n is contained in level n', as intermediate fields of level m, exactly when n ∣ n'.

                        @[simp]
                        theorem TauCeti.puiseuxField.level_one (K : Type u_1) [Field K] :
                        level K 1 = ⊥

                        Level one is the base field K⸨X⸩.

                        @[simp]
                        theorem TauCeti.puiseuxField.level_inf_level (K : Type u_1) [Field K] (n m : ℕ+) :
                        level K n ⊓ level K m = level K (n.gcd m)

                        The intersection of levels n and m is level gcd n m.

                        @[simp]
                        theorem TauCeti.puiseuxField.level_sup_level (K : Type u_1) [Field K] (n m : ℕ+) :
                        level K n ⊔ level K m = level K (n.lcm m)

                        The compositum of levels n and m is level lcm n m.

                        @[simp]
                        theorem TauCeti.puiseuxField.iSup_level (K : Type u_1) [Field K] :
                        ⨆ (d : ℕ+), level K d = ⊤

                        The levels exhaust the Puiseux field.

                        A finite-dimensional intermediate field of the Puiseux field over K⸨X⸩ lies in a single ramified level.