Documentation

Mathlib.RingTheory.HahnSeries.Basic

Hahn Series #

If Γ is ordered and R has zero, then the type HahnSeries Γ R, which we denote as 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 R⟦Γ⟧, with the most studied case being when Γ is a linearly ordered abelian group and R is a field, in which case R⟦Γ⟧ is a valued field, with value group Γ.

These generalize Laurent series (with value group ), and Laurent series are implemented that way in the file Mathlib/RingTheory/LaurentSeries.lean.

Main Definitions #

References #

structure HahnSeries (Γ : Type u_1) (R : Type u_2) [PartialOrder Γ] [Zero R] :
Type (max u_1 u_2)

If Γ is linearly ordered and R has zero, then R⟦Γ⟧ consists of formal series over Γ with coefficients in R, whose supports are well-founded.

Instances For
    theorem HahnSeries.ext_iff {Γ : Type u_1} {R : Type u_2} {inst✝ : PartialOrder Γ} {inst✝¹ : Zero R} {x y : HahnSeries Γ R} :
    x = y x.coeff = y.coeff
    theorem HahnSeries.ext {Γ : Type u_1} {R : Type u_2} {inst✝ : PartialOrder Γ} {inst✝¹ : Zero R} {x y : HahnSeries Γ R} (coeff : x.coeff = y.coeff) :
    x = y

    If Γ is linearly ordered and R has zero, then R⟦Γ⟧ consists of formal series over Γ with coefficients in R, whose supports are well-founded.

    Equations
      Instances For
        @[simp]
        theorem HahnSeries.coeff_inj {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x y : HahnSeries Γ R} :
        x.coeff = y.coeff x = y
        def HahnSeries.support {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] (x : HahnSeries Γ R) :
        Set Γ

        The support of a Hahn series is just the set of indices whose coefficients are nonzero. Notably, it is well-founded.

        Equations
          Instances For
            @[simp]
            theorem HahnSeries.support_mk {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] (f : ΓR) (h : (Function.support f).IsPWO) :
            { coeff := f, isPWO_support' := h }.support = Function.support f
            @[simp]
            theorem HahnSeries.isPWO_support {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] (x : HahnSeries Γ R) :
            @[simp]
            theorem HahnSeries.isWF_support {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] (x : HahnSeries Γ R) :
            @[simp]
            theorem HahnSeries.mem_support {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] (x : HahnSeries Γ R) (a : Γ) :
            a x.support x.coeff a 0
            instance HahnSeries.instZero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] :
            Equations
              instance HahnSeries.instInhabited {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] :
              Equations
                theorem HahnSeries.coeff_zero' {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] :
                coeff 0 = 0
                @[simp]
                theorem HahnSeries.coeff_zero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {a : Γ} :
                coeff 0 a = 0
                @[simp]
                theorem HahnSeries.coeff_fun_eq_zero_iff {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} :
                x.coeff = 0 x = 0
                theorem HahnSeries.ne_zero_of_coeff_ne_zero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} {g : Γ} (h : x.coeff g 0) :
                x 0
                @[simp]
                theorem HahnSeries.support_zero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] :
                @[simp]
                theorem HahnSeries.support_nonempty_iff {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} :
                @[simp]
                theorem HahnSeries.support_eq_empty_iff {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} :
                x.support = x = 0
                def HahnSeries.map {Γ : Type u_1} {R : Type u_3} {S : Type u_4} [PartialOrder Γ] [Zero R] [Zero S] (x : HahnSeries Γ R) {F : Type u_5} [FunLike F R S] [ZeroHomClass F R S] (f : F) :

                The map of Hahn series induced by applying a zero-preserving map to each coefficient.

                Equations
                  Instances For
                    @[simp]
                    theorem HahnSeries.map_coeff {Γ : Type u_1} {R : Type u_3} {S : Type u_4} [PartialOrder Γ] [Zero R] [Zero S] (x : HahnSeries Γ R) {F : Type u_5} [FunLike F R S] [ZeroHomClass F R S] (f : F) (g : Γ) :
                    (x.map f).coeff g = f (x.coeff g)
                    @[simp]
                    theorem HahnSeries.map_zero {Γ : Type u_1} {R : Type u_3} {S : Type u_4} [PartialOrder Γ] [Zero R] [Zero S] (f : ZeroHom R S) :
                    map 0 f = 0
                    theorem HahnSeries.support_map_subset {Γ : Type u_1} {R : Type u_3} {S : Type u_4} [PartialOrder Γ] [Zero R] [Zero S] (x : HahnSeries Γ R) (f : ZeroHom R S) :
                    def HahnSeries.ofIterate {Γ : Type u_1} {Γ' : Type u_2} {R : Type u_3} [PartialOrder Γ] [Zero R] [PartialOrder Γ'] (x : HahnSeries Γ (HahnSeries Γ' R)) :
                    HahnSeries (Lex (Γ × Γ')) R

                    Change a HahnSeries with coefficients in a HahnSeries to a HahnSeries on a Lex product.

                    Equations
                      Instances For
                        @[simp]
                        theorem HahnSeries.mk_eq_zero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] (f : ΓR) (h : (Function.support f).IsPWO) :
                        { coeff := f, isPWO_support' := h } = 0 f = 0
                        def HahnSeries.toIterate {Γ : Type u_1} {Γ' : Type u_2} {R : Type u_3} [PartialOrder Γ] [Zero R] [PartialOrder Γ'] (x : HahnSeries (Lex (Γ × Γ')) R) :

                        Change a HahnSeries on a Lex product to a HahnSeries with coefficients in a HahnSeries.

                        Equations
                          Instances For
                            def HahnSeries.iterateEquiv {Γ : Type u_1} {Γ' : Type u_2} {R : Type u_3} [PartialOrder Γ] [Zero R] [PartialOrder Γ'] :
                            HahnSeries Γ (HahnSeries Γ' R) HahnSeries (Lex (Γ × Γ')) R

                            The equivalence between iterated Hahn series and Hahn series on the lex product.

                            Equations
                              Instances For
                                @[simp]
                                theorem HahnSeries.iterateEquiv_symm_apply {Γ : Type u_1} {Γ' : Type u_2} {R : Type u_3} [PartialOrder Γ] [Zero R] [PartialOrder Γ'] (x : HahnSeries (Lex (Γ × Γ')) R) :
                                @[simp]
                                theorem HahnSeries.iterateEquiv_apply {Γ : Type u_1} {Γ' : Type u_2} {R : Type u_3} [PartialOrder Γ] [Zero R] [PartialOrder Γ'] (x : HahnSeries Γ (HahnSeries Γ' R)) :
                                def HahnSeries.single {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] (a : Γ) :

                                single a r is the Hahn series which has coefficient r at a and zero otherwise.

                                Equations
                                  Instances For
                                    @[simp]
                                    theorem HahnSeries.coeff_single_same {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] (a : Γ) (r : R) :
                                    ((single a) r).coeff a = r
                                    @[simp]
                                    theorem HahnSeries.coeff_single_of_ne {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {a b : Γ} {r : R} (h : b a) :
                                    ((single a) r).coeff b = 0
                                    theorem HahnSeries.coeff_single {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {a b : Γ} {r : R} :
                                    ((single a) r).coeff b = if b = a then r else 0
                                    @[simp]
                                    theorem HahnSeries.support_single_of_ne {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {a : Γ} {r : R} (h : r 0) :
                                    ((single a) r).support = {a}
                                    theorem HahnSeries.support_single_subset {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {a : Γ} {r : R} :
                                    ((single a) r).support {a}
                                    theorem HahnSeries.eq_of_mem_support_single {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {a : Γ} {r : R} {b : Γ} (h : b ((single a) r).support) :
                                    b = a
                                    theorem HahnSeries.single_eq_zero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {a : Γ} :
                                    (single a) 0 = 0
                                    theorem HahnSeries.single_injective {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] (a : Γ) :
                                    theorem HahnSeries.single_ne_zero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {a : Γ} {r : R} (h : r 0) :
                                    (single a) r 0
                                    @[simp]
                                    theorem HahnSeries.single_eq_zero_iff {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {a : Γ} {r : R} :
                                    (single a) r = 0 r = 0
                                    @[simp]
                                    theorem HahnSeries.map_single {Γ : Type u_1} {R : Type u_3} {S : Type u_4} [PartialOrder Γ] [Zero R] {a : Γ} {r : R} [Zero S] (f : ZeroHom R S) :
                                    ((single a) r).map f = (single a) (f r)
                                    def HahnSeries.orderTop {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] (x : HahnSeries Γ R) :

                                    The orderTop of a Hahn series x is a minimal element of WithTop Γ where x has a nonzero coefficient if x ≠ 0, and is when x = 0.

                                    Equations
                                      Instances For
                                        @[simp]
                                        theorem HahnSeries.orderTop_zero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] :
                                        @[simp]
                                        theorem HahnSeries.orderTop_of_subsingleton {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} [Subsingleton R] :
                                        @[deprecated HahnSeries.orderTop_of_subsingleton (since := "2025-08-19")]
                                        theorem HahnSeries.orderTop_of_Subsingleton {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} [Subsingleton R] :

                                        Alias of HahnSeries.orderTop_of_subsingleton.

                                        theorem HahnSeries.orderTop_of_ne_zero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} (hx : x 0) :
                                        x.orderTop = (.min )
                                        @[deprecated HahnSeries.orderTop_of_ne_zero (since := "2025-08-19")]
                                        theorem HahnSeries.orderTop_of_ne {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} (hx : x 0) :
                                        x.orderTop = (.min )

                                        Alias of HahnSeries.orderTop_of_ne_zero.

                                        @[simp]
                                        theorem HahnSeries.orderTop_eq_top {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} :
                                        @[simp]
                                        theorem HahnSeries.orderTop_lt_top {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} :
                                        theorem HahnSeries.orderTop_ne_top {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} :
                                        @[deprecated HahnSeries.orderTop_eq_top (since := "2025-08-19")]
                                        theorem HahnSeries.orderTop_eq_top_iff {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} :

                                        Alias of HahnSeries.orderTop_eq_top.

                                        @[deprecated HahnSeries.orderTop_ne_top (since := "2025-08-19")]
                                        theorem HahnSeries.ne_zero_iff_orderTop {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} :
                                        theorem HahnSeries.orderTop_eq_of_le {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} {g : Γ} (hg : g x.support) (hx : g'x.support, g g') :
                                        x.orderTop = g
                                        theorem HahnSeries.untop_orderTop_of_ne_zero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} (hx : x 0) :
                                        x.orderTop.untop = .min
                                        theorem HahnSeries.coeff_orderTop_ne {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} {g : Γ} (hg : x.orderTop = g) :
                                        x.coeff g 0
                                        theorem HahnSeries.orderTop_ne_of_coeff_eq_zero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} {i : Γ} (hx : x.coeff i = 0) :
                                        x.orderTop i
                                        theorem HahnSeries.orderTop_le_of_coeff_ne_zero {R : Type u_3} [Zero R] {Γ : Type u_5} [LinearOrder Γ] {x : HahnSeries Γ R} {g : Γ} (h : x.coeff g 0) :
                                        x.orderTop g
                                        @[simp]
                                        theorem HahnSeries.orderTop_single {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {a : Γ} {r : R} (h : r 0) :
                                        ((single a) r).orderTop = a
                                        theorem HahnSeries.orderTop_single_le {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {a : Γ} {r : R} :
                                        a ((single a) r).orderTop
                                        theorem HahnSeries.lt_orderTop_single {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {r : R} {g g' : Γ} (hgg' : g < g') :
                                        g < ((single g') r).orderTop
                                        theorem HahnSeries.coeff_eq_zero_of_lt_orderTop {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} {i : Γ} (hi : i < x.orderTop) :
                                        x.coeff i = 0
                                        def HahnSeries.leadingCoeff {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] (x : HahnSeries Γ R) :
                                        R

                                        A leading coefficient of a Hahn series is the coefficient of a lowest-order nonzero term, or zero if the series vanishes.

                                        Equations
                                          Instances For
                                            @[simp]
                                            theorem HahnSeries.leadingCoeff_zero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] :
                                            theorem HahnSeries.leadingCoeff_of_ne_zero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} (hx : x 0) :
                                            @[deprecated HahnSeries.leadingCoeff_of_ne_zero (since := "2025-08-19")]
                                            theorem HahnSeries.leadingCoeff_of_ne {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} (hx : x 0) :

                                            Alias of HahnSeries.leadingCoeff_of_ne_zero.

                                            @[simp]
                                            theorem HahnSeries.leadingCoeff_eq_zero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} :
                                            theorem HahnSeries.leadingCoeff_ne_zero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} :
                                            @[deprecated HahnSeries.leadingCoeff_eq_zero (since := "2025-08-19")]
                                            theorem HahnSeries.leadingCoeff_eq_iff {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} :

                                            Alias of HahnSeries.leadingCoeff_eq_zero.

                                            @[deprecated HahnSeries.leadingCoeff_ne_zero (since := "2025-08-19")]
                                            theorem HahnSeries.leadingCoeff_ne_iff {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} :

                                            Alias of HahnSeries.leadingCoeff_ne_zero.

                                            @[simp]
                                            theorem HahnSeries.leadingCoeff_of_single {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {a : Γ} {r : R} :
                                            def HahnSeries.order {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] [Zero Γ] (x : HahnSeries Γ R) :
                                            Γ

                                            The order of a nonzero Hahn series x is a minimal element of Γ where x has a nonzero coefficient, the order of 0 is 0.

                                            Equations
                                              Instances For
                                                @[simp]
                                                theorem HahnSeries.order_zero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] [Zero Γ] :
                                                order 0 = 0
                                                theorem HahnSeries.order_of_ne {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] [Zero Γ] {x : HahnSeries Γ R} (hx : x 0) :
                                                x.order = .min
                                                theorem HahnSeries.order_eq_orderTop_of_ne_zero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} [Zero Γ] (hx : x 0) :
                                                @[deprecated HahnSeries.order_eq_orderTop_of_ne_zero (since := "2025-08-19")]
                                                theorem HahnSeries.order_eq_orderTop_of_ne {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {x : HahnSeries Γ R} [Zero Γ] (hx : x 0) :

                                                Alias of HahnSeries.order_eq_orderTop_of_ne_zero.

                                                @[simp]
                                                theorem HahnSeries.coeff_order_eq_zero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] [Zero Γ] {x : HahnSeries Γ R} :
                                                x.coeff x.order = 0 x = 0
                                                @[deprecated HahnSeries.coeff_order_eq_zero (since := "2025-12-09")]
                                                theorem HahnSeries.coeff_order_ne_zero {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] [Zero Γ] {x : HahnSeries Γ R} (hx : x 0) :
                                                theorem HahnSeries.order_le_of_coeff_ne_zero {R : Type u_3} [Zero R] {Γ : Type u_5} [Zero Γ] [LinearOrder Γ] {x : HahnSeries Γ R} {g : Γ} (h : x.coeff g 0) :
                                                @[simp]
                                                theorem HahnSeries.order_single {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] {a : Γ} {r : R} [Zero Γ] (h : r 0) :
                                                ((single a) r).order = a
                                                theorem HahnSeries.coeff_eq_zero_of_lt_order {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] [Zero Γ] {x : HahnSeries Γ R} {i : Γ} (hi : i < x.order) :
                                                x.coeff i = 0
                                                theorem HahnSeries.zero_lt_orderTop_iff {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] [Zero Γ] {x : HahnSeries Γ R} (hx : x 0) :
                                                0 < x.orderTop 0 < x.order
                                                theorem HahnSeries.zero_lt_orderTop_of_order {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] [Zero Γ] {x : HahnSeries Γ R} (hx : 0 < x.order) :
                                                theorem HahnSeries.zero_le_orderTop_iff {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] [Zero Γ] {x : HahnSeries Γ R} :
                                                theorem HahnSeries.leadingCoeff_eq {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] [Zero Γ] {x : HahnSeries Γ R} :
                                                def HahnSeries.ofFinsupp {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] :
                                                ZeroHom (Γ →₀ R) (HahnSeries Γ R)

                                                Create a HahnSeries with a Finsupp as coefficients.

                                                Equations
                                                  Instances For
                                                    @[simp]
                                                    theorem HahnSeries.coeff_ofFinsupp {Γ : Type u_1} {R : Type u_3} [PartialOrder Γ] [Zero R] (f : Γ →₀ R) (a : Γ) :
                                                    (ofFinsupp f).coeff a = f a
                                                    def HahnSeries.embDomain {Γ : Type u_1} {Γ' : Type u_2} {R : Type u_3} [PartialOrder Γ] [Zero R] [PartialOrder Γ'] (f : Γ ↪o Γ') :
                                                    HahnSeries Γ RHahnSeries Γ' R

                                                    Extends the domain of a HahnSeries by an OrderEmbedding.

                                                    Equations
                                                      Instances For
                                                        @[simp]
                                                        theorem HahnSeries.embDomain_coeff {Γ : Type u_1} {Γ' : Type u_2} {R : Type u_3} [PartialOrder Γ] [Zero R] [PartialOrder Γ'] {f : Γ ↪o Γ'} {x : HahnSeries Γ R} {a : Γ} :
                                                        (embDomain f x).coeff (f a) = x.coeff a
                                                        @[simp]
                                                        theorem HahnSeries.embDomain_mk_coeff {Γ : Type u_1} {Γ' : Type u_2} {R : Type u_3} [PartialOrder Γ] [Zero R] [PartialOrder Γ'] {f : ΓΓ'} (hfi : Function.Injective f) (hf : ∀ (g g' : Γ), f g f g' g g') {x : HahnSeries Γ R} {a : Γ} :
                                                        (embDomain { toFun := f, inj' := hfi, map_rel_iff' := } x).coeff (f a) = x.coeff a
                                                        theorem HahnSeries.embDomain_notin_image_support {Γ : Type u_1} {Γ' : Type u_2} {R : Type u_3} [PartialOrder Γ] [Zero R] [PartialOrder Γ'] {f : Γ ↪o Γ'} {x : HahnSeries Γ R} {b : Γ'} (hb : bf '' x.support) :
                                                        (embDomain f x).coeff b = 0
                                                        theorem HahnSeries.support_embDomain_subset {Γ : Type u_1} {Γ' : Type u_2} {R : Type u_3} [PartialOrder Γ] [Zero R] [PartialOrder Γ'] {f : Γ ↪o Γ'} {x : HahnSeries Γ R} :
                                                        theorem HahnSeries.embDomain_notin_range {Γ : Type u_1} {Γ' : Type u_2} {R : Type u_3} [PartialOrder Γ] [Zero R] [PartialOrder Γ'] {f : Γ ↪o Γ'} {x : HahnSeries Γ R} {b : Γ'} (hb : bSet.range f) :
                                                        (embDomain f x).coeff b = 0
                                                        @[simp]
                                                        theorem HahnSeries.embDomain_zero {Γ : Type u_1} {Γ' : Type u_2} {R : Type u_3} [PartialOrder Γ] [Zero R] [PartialOrder Γ'] {f : Γ ↪o Γ'} :
                                                        embDomain f 0 = 0
                                                        @[simp]
                                                        theorem HahnSeries.embDomain_single {Γ : Type u_1} {Γ' : Type u_2} {R : Type u_3} [PartialOrder Γ] [Zero R] [PartialOrder Γ'] {f : Γ ↪o Γ'} {g : Γ} {r : R} :
                                                        embDomain f ((single g) r) = (single (f g)) r
                                                        theorem HahnSeries.embDomain_injective {Γ : Type u_1} {Γ' : Type u_2} {R : Type u_3} [PartialOrder Γ] [Zero R] [PartialOrder Γ'] {f : Γ ↪o Γ'} :
                                                        @[simp]
                                                        theorem HahnSeries.orderTop_embDomain {Γ' : Type u_2} {R : Type u_3} [Zero R] [PartialOrder Γ'] {Γ : Type u_5} [LinearOrder Γ] {f : Γ ↪o Γ'} {x : HahnSeries Γ R} :
                                                        @[deprecated "directly use n as a lower bound." (since := "2026-01-02")]
                                                        theorem HahnSeries.forallLTEqZero_supp_BddBelow {Γ : Type u_1} {R : Type u_3} [Zero R] [LinearOrder Γ] (f : ΓR) (n : Γ) (hn : m < n, f m = 0) :
                                                        @[deprecated bddBelow_empty (since := "2026-01-02")]
                                                        theorem HahnSeries.BddBelow_zero {Γ : Type u_1} {R : Type u_3} [Zero R] [LinearOrder Γ] [Nonempty Γ] :
                                                        theorem HahnSeries.le_orderTop_iff_forall {Γ : Type u_1} {R : Type u_3} [Zero R] [LinearOrder Γ] {x : HahnSeries Γ R} {i : WithTop Γ} :
                                                        i x.orderTop ∀ (j : Γ), j < ix.coeff j = 0
                                                        theorem HahnSeries.orderTop_lt_iff_exists {Γ : Type u_1} {R : Type u_3} [Zero R] [LinearOrder Γ] {x : HahnSeries Γ R} {i : WithTop Γ} :
                                                        x.orderTop < i ∃ (j : Γ), j < i x.coeff j 0
                                                        theorem HahnSeries.le_order_iff_forall {Γ : Type u_1} {R : Type u_3} [Zero R] [LinearOrder Γ] [Zero Γ] {x : HahnSeries Γ R} {i : Γ} (h : x 0) :
                                                        i x.order j < i, x.coeff j = 0
                                                        theorem HahnSeries.order_lt_iff_exists {Γ : Type u_1} {R : Type u_3} [Zero R] [LinearOrder Γ] [Zero Γ] {x : HahnSeries Γ R} {i : Γ} (h : x 0) :
                                                        x.order < i j < i, x.coeff j 0
                                                        @[deprecated BddBelow.isWF (since := "2026-01-02")]
                                                        theorem HahnSeries.suppBddBelow_supp_PWO {Γ : Type u_1} {R : Type u_3} [Zero R] [LinearOrder Γ] [LocallyFiniteOrder Γ] (f : ΓR) (hf : BddBelow (Function.support f)) :
                                                        def HahnSeries.ofSuppBddBelow {Γ : Type u_1} {R : Type u_3} [Zero R] [LinearOrder Γ] [LocallyFiniteOrder Γ] (f : ΓR) (hf : BddBelow (Function.support f)) :

                                                        Construct a Hahn series from any function whose support is bounded below.

                                                        Equations
                                                          Instances For
                                                            @[simp]
                                                            theorem HahnSeries.ofSuppBddBelow_coeff {Γ : Type u_1} {R : Type u_3} [Zero R] [LinearOrder Γ] [LocallyFiniteOrder Γ] (f : ΓR) (hf : BddBelow (Function.support f)) (a✝ : Γ) :
                                                            (ofSuppBddBelow f hf).coeff a✝ = f a✝
                                                            @[deprecated HahnSeries.ofSuppBddBelow_zero (since := "2026-01-02")]
                                                            theorem HahnSeries.zero_ofSuppBddBelow {Γ : Type u_1} {R : Type u_3} [Zero R] [LinearOrder Γ] [LocallyFiniteOrder Γ] [Nonempty Γ] :

                                                            Alias of HahnSeries.ofSuppBddBelow_zero.

                                                            @[simp]
                                                            theorem HahnSeries.ofSuppBddBelow_eq_zero {Γ : Type u_1} {R : Type u_3} [Zero R] [LinearOrder Γ] [LocallyFiniteOrder Γ] {f : ΓR} {hf : BddBelow (Function.support f)} :
                                                            ofSuppBddBelow f hf = 0 f = 0
                                                            @[simp]
                                                            theorem HahnSeries.coeff_ofSuppBddBelow {Γ : Type u_1} {R : Type u_3} [Zero R] [LinearOrder Γ] [LocallyFiniteOrder Γ] {f : ΓR} {hf : BddBelow (Function.support f)} :
                                                            @[deprecated HahnSeries.le_order_iff_forall (since := "2026-01-02")]
                                                            theorem HahnSeries.order_ofForallLtEqZero {Γ : Type u_1} {R : Type u_3} [Zero R] [LinearOrder Γ] [LocallyFiniteOrder Γ] [Zero Γ] (f : ΓR) (hf : f 0) (n : Γ) (hn : m < n, f m = 0) :
                                                            def HahnSeries.truncLT {Γ : Type u_1} {R : Type u_3} [Zero R] [PartialOrder Γ] [DecidableLT Γ] (c : Γ) :

                                                            Zeroes out coefficients of a HahnSeries at indices not less than c.

                                                            Equations
                                                              Instances For
                                                                theorem HahnSeries.support_truncLT {Γ : Type u_1} {R : Type u_3} [Zero R] [PartialOrder Γ] [DecidableLT Γ] (c : Γ) (x : HahnSeries Γ R) :
                                                                ((truncLT c) x).support = {y : Γ | y x.support y < c}
                                                                theorem HahnSeries.support_truncLT_subset {Γ : Type u_1} {R : Type u_3} [Zero R] [PartialOrder Γ] [DecidableLT Γ] (c : Γ) (x : HahnSeries Γ R) :
                                                                @[simp]
                                                                theorem HahnSeries.coeff_truncLT {Γ : Type u_1} {R : Type u_3} [Zero R] [PartialOrder Γ] [DecidableLT Γ] (c : Γ) (x : HahnSeries Γ R) (i : Γ) :
                                                                ((truncLT c) x).coeff i = if i < c then x.coeff i else 0
                                                                theorem HahnSeries.coeff_truncLT_of_lt {Γ : Type u_1} {R : Type u_3} [Zero R] [PartialOrder Γ] [DecidableLT Γ] {c i : Γ} (h : i < c) (x : HahnSeries Γ R) :
                                                                ((truncLT c) x).coeff i = x.coeff i
                                                                theorem HahnSeries.coeff_truncLT_of_le {Γ : Type u_1} {R : Type u_3} [Zero R] [LinearOrder Γ] {c i : Γ} (h : c i) (x : HahnSeries Γ R) :
                                                                ((truncLT c) x).coeff i = 0