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, with the most studied case being when Γ is
a linearly ordered abelian group and R is a field, in which case HahnSeries Γ 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 RingTheory/LaurentSeries.
Main Definitions #
- If
Γis ordered andRhas zero, thenHahnSeries Γ Rconsists of formal series overΓwith coefficients inR, whose supports are partially well-ordered. - If
Ris a (commutative) additive monoid or group, then so isHahnSeries Γ R. - If
Ris a (commutative) (semi-)ring, then so isHahnSeries Γ R. HahnSeries.addVal Γ Rdefines anAddValuationonHahnSeries Γ RwhenΓis linearly ordered.- A
HahnSeries.SummableFamilyis a family of Hahn series such that the union of their supports is well-founded and only finitely many are nonzero at any given coefficient. They have a formal sum,HahnSeries.SummableFamily.hsum, which can be bundled as aLinearMapasHahnSeries.SummableFamily.lsum. Note that this is different fromSummablein the valuation topology, because there are topologically summable families that do not satisfy the axioms ofHahnSeries.SummableFamily, and formally summable families whose sums do not converge topologically. - Laurent series over
Rare implemented asHahnSeries ℤ Rin the fileRingTheory/LaurentSeries.
TODO #
- Build an API for the variable
X(defined to besingle 1 1 : HahnSeries Γ R) in analogy toX : R[X]andX : PowerSeries R
References #
- [J. van der Hoeven, Operators on Generalized Power Series][van_der_hoeven]
- coeff : Γ → R
- isPwo_support' : Set.IsPwo (Function.support s.coeff)
If Γ is linearly ordered and R has zero, then HahnSeries Γ R consists of
formal series over Γ with coefficients in R, whose supports are well-founded.
Instances For
The support of a Hahn series is just the set of indices whose coefficients are nonzero. Notably, it is well-founded.
Equations
- HahnSeries.support x = Function.support x.coeff
Instances For
Equations
- HahnSeries.instZeroHahnSeries = { zero := { coeff := 0, isPwo_support' := (_ : Set.IsPwo (Function.support 0)) } }
Equations
- HahnSeries.instInhabitedHahnSeries = { default := 0 }
single a r is the Hahn series which has coefficient r at a and zero otherwise.
Equations
- One or more equations did not get rendered due to their size.
Instances For
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
- HahnSeries.order x = if h : x = 0 then 0 else Set.IsWf.min (_ : Set.IsWf (HahnSeries.support x)) (_ : Set.Nonempty (HahnSeries.support x))
Instances For
Extends the domain of a HahnSeries by an OrderEmbedding.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- HahnSeries.instAddHahnSeriesToZero = { add := fun x y => { coeff := x.coeff + y.coeff, isPwo_support' := (_ : Set.IsPwo (Function.support (x.coeff + y.coeff))) } }
Equations
- HahnSeries.instAddMonoidHahnSeriesToZero = AddMonoid.mk (_ : ∀ (x : HahnSeries Γ R), 0 + x = x) (_ : ∀ (x : HahnSeries Γ R), x + 0 = x) nsmulRec
single as an additive monoid/group homomorphism
Equations
- One or more equations did not get rendered due to their size.
Instances For
coeff g as an additive monoid/group homomorphism
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- HahnSeries.instAddCommMonoidHahnSeriesToZeroToAddMonoid = let src := inferInstanceAs (AddMonoid (HahnSeries Γ R)); AddCommMonoid.mk (_ : ∀ (x y : HahnSeries Γ R), x + y = y + x)
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.instSMulHahnSeriesToZero = { smul := fun r x => { coeff := r • x.coeff, isPwo_support' := (_ : Set.IsPwo (Function.support (r • x.coeff))) } }
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.
single as a linear map
Equations
- One or more equations did not get rendered due to their size.
Instances For
coeff g as a linear map
Equations
- One or more equations did not get rendered due to their size.
Instances For
Extending the domain of Hahn series is a linear map.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- HahnSeries.instOneHahnSeriesToPartialOrder = { one := ↑(HahnSeries.single 0) 1 }
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
- 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
- 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.
C a is the constant Hahn Series a. C is provided as a ring homomorphism.
Equations
- One or more equations did not get rendered due to their size.
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
- One or more equations did not get rendered due to their size.
Extending the domain of Hahn series is an algebra homomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The ring HahnSeries ℕ R is isomorphic to PowerSeries R.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Casts a power series as a Hahn series with coefficients from a StrictOrderedSemiring.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The ring HahnSeries (σ →₀ ℕ) R is isomorphic to MvPowerSeries σ R for a Fintype σ.
We take the index set of the hahn series to be Finsupp rather than pi,
even though we assume Fintype σ as this is more natural for alignment with MvPowerSeries.
After importing Algebra.Order.Pi the ring HahnSeries (σ → ℕ) R could be constructed instead.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The R-algebra HahnSeries ℕ A is isomorphic to PowerSeries A.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Casting a power series as a Hahn series with coefficients from a StrictOrderedSemiring
is an algebra homomorphism.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Equations
- HahnSeries.powerSeriesAlgebra Γ R = RingHom.toAlgebra (RingHom.comp (HahnSeries.ofPowerSeries Γ R) (algebraMap S (PowerSeries R)))
The additive valuation on HahnSeries Γ R, returning the smallest index at which
a Hahn Series has a nonzero coefficient, or ⊤ for the 0 series.
Equations
- One or more equations did not get rendered due to their size.
Instances For
- toFun : α → HahnSeries Γ R
- isPwo_iUnion_support' : Set.IsPwo (⋃ a, HahnSeries.support (HahnSeries.SummableFamily.toFun s a))
- finite_co_support' : ∀ (g : Γ), Set.Finite {a | HahnSeries.coeff (HahnSeries.SummableFamily.toFun s a) g ≠ 0}
An infinite family of Hahn series which has a formal coefficient-wise sum. The requirements for this are that the union of the supports of the series is well-founded, and that only finitely many series are nonzero at any given coefficient.
Instances For
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.SummableFamily.instInhabitedSummableFamily = { default := 0 }
Equations
- HahnSeries.SummableFamily.instAddCommMonoidSummableFamily = AddCommMonoid.mk (_ : ∀ (s t : HahnSeries.SummableFamily Γ R α), s + t = t + s)
The infinite sum of a SummableFamily of Hahn series.
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
- 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.
The summation of a summable_family as a LinearMap.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A family with only finitely many nonzero elements is summable.
Equations
- One or more equations did not get rendered due to their size.
Instances For
A summable family can be reindexed by an embedding without changing its sum.
Equations
- One or more equations did not get rendered due to their size.
Instances For
The powers of an element of positive valuation form a summable family.
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.