Documentation

Mathlib.RingTheory.HahnSeries.Addition

Additive properties of Hahn 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 has an addition operation, HahnSeries Γ R also has addition by adding coefficients.

Main Definitions #

References #

instance HahnSeries.instAddHahnSeriesToZero {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [AddMonoid R] :
Equations
  • HahnSeries.instAddHahnSeriesToZero = { add := fun (x y : HahnSeries Γ R) => { coeff := x.coeff + y.coeff, isPWO_support' := } }
Equations
  • HahnSeries.instAddMonoidHahnSeriesToZero = AddMonoid.mk nsmulRec
@[simp]
theorem HahnSeries.add_coeff' {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [AddMonoid R] {x : HahnSeries Γ R} {y : HahnSeries Γ R} :
(x + y).coeff = x.coeff + y.coeff
theorem HahnSeries.add_coeff {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [AddMonoid R] {x : HahnSeries Γ R} {y : HahnSeries Γ R} {a : Γ} :
(x + y).coeff a = x.coeff a + y.coeff a
theorem HahnSeries.min_order_le_order_add {R : Type u_2} [AddMonoid R] {Γ : Type u_3} [Zero Γ] [LinearOrder Γ] {x : HahnSeries Γ R} {y : HahnSeries Γ R} (hxy : x + y 0) :
@[simp]
theorem HahnSeries.single.addMonoidHom_apply_coeff {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [AddMonoid R] (a : Γ) (r : R) (j : Γ) :
def HahnSeries.single.addMonoidHom {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [AddMonoid R] (a : Γ) :

single as an additive monoid/group homomorphism

Equations
Instances For
    @[simp]
    theorem HahnSeries.coeff.addMonoidHom_apply {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [AddMonoid R] (g : Γ) (f : HahnSeries Γ R) :
    def HahnSeries.coeff.addMonoidHom {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [AddMonoid R] (g : Γ) :

    coeff g as an additive monoid/group homomorphism

    Equations
    Instances For
      theorem HahnSeries.embDomain_add {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [AddMonoid R] {Γ' : Type u_3} [PartialOrder Γ'] (f : Γ ↪o Γ') (x : HahnSeries Γ R) (y : HahnSeries Γ R) :
      Equations
      Equations
      • HahnSeries.instNegHahnSeriesToZeroToNegZeroClassToSubNegZeroMonoidToSubtractionMonoid = { neg := fun (x : HahnSeries Γ R) => { coeff := fun (a : Γ) => -x.coeff a, isPWO_support' := } }
      Equations
      @[simp]
      theorem HahnSeries.neg_coeff' {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [AddGroup R] {x : HahnSeries Γ R} :
      (-x).coeff = -x.coeff
      theorem HahnSeries.neg_coeff {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [AddGroup R] {x : HahnSeries Γ R} {a : Γ} :
      (-x).coeff a = -x.coeff a
      @[simp]
      @[simp]
      theorem HahnSeries.sub_coeff' {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [AddGroup R] {x : HahnSeries Γ R} {y : HahnSeries Γ R} :
      (x - y).coeff = x.coeff - y.coeff
      theorem HahnSeries.sub_coeff {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [AddGroup R] {x : HahnSeries Γ R} {y : HahnSeries Γ R} {a : Γ} :
      (x - y).coeff a = x.coeff a - y.coeff a
      @[simp]
      theorem HahnSeries.order_neg {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [AddGroup R] [Zero Γ] {f : HahnSeries Γ R} :
      Equations
      • One or more equations did not get rendered due to their size.
      instance HahnSeries.instSMulHahnSeriesToZero {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] {V : Type u_3} [Monoid R] [AddMonoid V] [DistribMulAction R V] :
      SMul R (HahnSeries Γ V)
      Equations
      • HahnSeries.instSMulHahnSeriesToZero = { smul := fun (r : R) (x : HahnSeries Γ V) => { coeff := r x.coeff, isPWO_support' := } }
      @[simp]
      theorem HahnSeries.smul_coeff {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] {V : Type u_3} [Monoid R] [AddMonoid V] [DistribMulAction R V] {r : R} {x : HahnSeries Γ V} {a : Γ} :
      (r x).coeff a = r x.coeff a
      Equations
      • HahnSeries.instDistribMulActionHahnSeriesToZeroInstAddMonoidHahnSeriesToZero = DistribMulAction.mk
      theorem HahnSeries.order_smul_not_lt {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] {V : Type u_3} [Monoid R] [AddMonoid V] [DistribMulAction R V] [Zero Γ] (r : R) (x : HahnSeries Γ V) (h : r x 0) :
      theorem HahnSeries.le_order_smul {R : Type u_2} {V : Type u_3} [Monoid R] [AddMonoid V] [DistribMulAction R V] {Γ : Type u_4} [Zero Γ] [LinearOrder Γ] (r : R) (x : HahnSeries Γ V) (h : r x 0) :
      Equations
      @[simp]
      theorem HahnSeries.single.linearMap_apply {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [Semiring R] {V : Type u_3} [AddCommMonoid V] [Module R V] (a : Γ) :
      ∀ (a_1 : V), (HahnSeries.single.linearMap a) a_1 = (HahnSeries.single.addMonoidHom a).toFun a_1
      def HahnSeries.single.linearMap {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [Semiring R] {V : Type u_3} [AddCommMonoid V] [Module R V] (a : Γ) :

      single as a linear map

      Equations
      Instances For
        @[simp]
        theorem HahnSeries.coeff.linearMap_apply {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [Semiring R] {V : Type u_3} [AddCommMonoid V] [Module R V] (g : Γ) :
        def HahnSeries.coeff.linearMap {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [Semiring R] {V : Type u_3} [AddCommMonoid V] [Module R V] (g : Γ) :

        coeff g as a linear map

        Equations
        Instances For
          theorem HahnSeries.embDomain_smul {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [Semiring R] {Γ' : Type u_4} [PartialOrder Γ'] (f : Γ ↪o Γ') (r : R) (x : HahnSeries Γ R) :
          @[simp]
          theorem HahnSeries.embDomainLinearMap_apply {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [Semiring R] {Γ' : Type u_4} [PartialOrder Γ'] (f : Γ ↪o Γ') :
          def HahnSeries.embDomainLinearMap {Γ : Type u_1} {R : Type u_2} [PartialOrder Γ] [Semiring R] {Γ' : Type u_4} [PartialOrder Γ'] (f : Γ ↪o Γ') :

          Extending the domain of Hahn series is a linear map.

          Equations
          Instances For