Documentation

Mathlib.RingTheory.HahnSeries.PowerSeries

Comparison between Hahn series and power series #

If Γ is ordered and R has zero, then HahnSeries Γ R consists of formal series over Γ with coefficients in R, whose supports are partially well-ordered. With further structure on R and Γ, we can add further structure on HahnSeries Γ R. When R is a semiring and Γ = ℕ, then we get the more familiar semiring of formal power series with coefficients in R.

Main Definitions #

Instances #

TODO #

References #

The ring HahnSeries ℕ R is isomorphic to PowerSeries R.

Equations
    Instances For

      Casts a power series as a Hahn series with coefficients from a StrictOrderedSemiring.

      Equations
        Instances For
          theorem HahnSeries.ofPowerSeries_apply {Γ : Type u_1} {R : Type u_2} [Semiring R] [Semiring Γ] [PartialOrder Γ] [IsStrictOrderedRing Γ] (x : PowerSeries R) :
          (ofPowerSeries Γ R) x = embDomain { toFun := Nat.cast, inj' := , map_rel_iff' := } (toPowerSeries.symm x)
          theorem HahnSeries.ofPowerSeries_apply_coeff {Γ : Type u_1} {R : Type u_2} [Semiring R] [Semiring Γ] [PartialOrder Γ] [IsStrictOrderedRing Γ] (x : PowerSeries R) (n : ) :
          ((ofPowerSeries Γ R) x).coeff n = (PowerSeries.coeff R n) x
          @[simp]
          theorem HahnSeries.ofPowerSeries_C {Γ : Type u_1} {R : Type u_2} [Semiring R] [Semiring Γ] [PartialOrder Γ] [IsStrictOrderedRing Γ] (r : R) :
          (ofPowerSeries Γ R) ((PowerSeries.C R) r) = C r
          @[simp]
          theorem HahnSeries.ofPowerSeries_X_pow {Γ : Type u_1} [Semiring Γ] [PartialOrder Γ] [IsStrictOrderedRing Γ] {R : Type u_3} [Semiring R] (n : ) :
          (ofPowerSeries Γ R) (PowerSeries.X ^ n) = (single n) 1

          The ring HahnSeries (σ →₀ ℕ) R is isomorphic to MvPowerSeries σ R for a Finite σ. We take the index set of the hahn series to be Finsupp rather than pi, even though we assume Finite σ as this is more natural for alignment with MvPowerSeries. After importing Mathlib/Algebra/Order/Pi.lean the ring HahnSeries (σ → ℕ) R could be constructed instead.

          Equations
            Instances For
              @[simp]
              @[simp]
              theorem HahnSeries.toMvPowerSeries_apply {R : Type u_2} [Semiring R] {σ : Type u_3} [Finite σ] (f : HahnSeries (σ →₀ ) R) (a✝ : σ →₀ ) :
              toMvPowerSeries f a✝ = f.coeff a✝

              If R has no zero divisors and σ is finite, then HahnSeries (σ →₀ ℕ) R has no zero divisors

              theorem HahnSeries.coeff_toMvPowerSeries {R : Type u_2} [Semiring R] {σ : Type u_3} [Finite σ] {f : HahnSeries (σ →₀ ) R} {n : σ →₀ } :

              The R-algebra HahnSeries ℕ A is isomorphic to PowerSeries A.

              Equations
                Instances For
                  @[simp]

                  Casting a power series as a Hahn series with coefficients from a StrictOrderedSemiring is an algebra homomorphism.

                  Equations
                    Instances For
                      @[simp]
                      theorem HahnSeries.ofPowerSeriesAlg_apply_coeff (Γ : Type u_1) (R : Type u_2) [CommSemiring R] {A : Type u_3} [Semiring A] [Algebra R A] [Semiring Γ] [PartialOrder Γ] [IsStrictOrderedRing Γ] (a✝ : PowerSeries A) (b : Γ) :
                      ((ofPowerSeriesAlg Γ R) a✝).coeff b = if h : b Nat.cast '' ((toPowerSeriesAlg R).symm a✝).support then (PowerSeries.coeff A (Classical.choose )) a✝ else 0
                      instance HahnSeries.powerSeriesAlgebra (Γ : Type u_1) (R : Type u_2) [CommSemiring R] [Semiring Γ] [PartialOrder Γ] [IsStrictOrderedRing Γ] {S : Type u_4} [CommSemiring S] [Algebra S (PowerSeries R)] :
                      Equations
                        theorem HahnSeries.algebraMap_apply' (Γ : Type u_1) {R : Type u_2} [CommSemiring R] [Semiring Γ] [PartialOrder Γ] [IsStrictOrderedRing Γ] {S : Type u_4} [CommSemiring S] [Algebra S (PowerSeries R)] (x : S) :
                        (algebraMap S (HahnSeries Γ R)) x = (ofPowerSeries Γ R) ((algebraMap S (PowerSeries R)) x)