Multiplicative 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. We prove some facts about multiplying
Hahn series.
Main Definitions #
HahnModuleis a type alias forHahnSeries, which we use for defining scalar multiplication ofHahnSeries Γ RonHahnModule Γ Vfor anR-moduleV.- If
Ris a (commutative) (semi-)ring, then so isHahnSeries Γ R.
References #
- [J. van der Hoeven, Operators on Generalized Power Series][van_der_hoeven]
Equations
- HahnSeries.instOneHahnSeriesToPartialOrderToOrderedAddCommMonoid = { one := (HahnSeries.single 0) 1 }
We introduce a type alias for HahnSeries in order to work with scalar multiplication by
series. If we wrote a SMul (HahnSeries Γ R) (HahnSeries Γ V) instance, then when
V = HahnSeries Γ R, we would have two different actions of HahnSeries Γ R on HahnSeries Γ V.
See Mathlib.Data.Polynomial.Module for more discussion on this problem.
Equations
- HahnModule Γ R V = HahnSeries Γ V
Instances For
The casting function to the type synonym.
Equations
- HahnModule.of R = Equiv.refl (HahnSeries Γ V)
Instances For
Recursion principle to reduce a result about the synonym to the original type.
Equations
- HahnModule.rec h x = h ((HahnModule.of R).symm x)
Instances For
Equations
- HahnModule.instAddCommMonoid = inferInstanceAs (AddCommMonoid (HahnSeries Γ V))
Equations
- One or more equations did not get rendered due to their size.
Equations
- HahnModule.instSMulZeroClass = SMulZeroClass.mk ⋯
Equations
- HahnSeries.instMulHahnSeriesToPartialOrderToOrderedAddCommMonoidToZeroToMulZeroClass = { mul := fun (x y : HahnSeries Γ R) => (HahnModule.of R).symm (x • (HahnModule.of R) y) }
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- HahnSeries.instNonUnitalCommSemiringHahnSeriesToPartialOrderToOrderedAddCommMonoidToZeroToSemigroupWithZeroToNonUnitalSemiring = let __spread.0 := inferInstance; NonUnitalCommSemiring.mk ⋯
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- One or more equations did not get rendered due to their size.
Equations
- ⋯ = ⋯
Equations
- ⋯ = ⋯
C a is the constant Hahn Series a. C is provided as a ring homomorphism.
Equations
- HahnSeries.C = { toMonoidHom := { toOneHom := { toFun := ⇑(HahnSeries.single 0), map_one' := ⋯ }, map_mul' := ⋯ }, map_zero' := ⋯, map_add' := ⋯ }
Instances For
Extending the domain of Hahn series is a ring homomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- One or more equations did not get rendered due to their size.
Equations
- ⋯ = ⋯
Extending the domain of Hahn series is an algebra homomorphism.
Equations
- HahnSeries.embDomainAlgHom f hfi hf = let __src := HahnSeries.embDomainRingHom f hfi hf; { toRingHom := __src, commutes' := ⋯ }