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 andR
has zero, thenHahnSeries Γ R
consists of formal series overΓ
with coefficients inR
, whose supports are partially well-ordered. - If
R
is a (commutative) additive monoid or group, then so isHahnSeries Γ R
. - If
R
is a (commutative) (semi-)ring, then so isHahnSeries Γ R
. HahnSeries.addVal Γ R
defines anAddValuation
onHahnSeries Γ R
whenΓ
is linearly ordered.- A
HahnSeries.SummableFamily
is 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 aLinearMap
asHahnSeries.SummableFamily.lsum
. Note that this is different fromSummable
in 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
R
are implemented asHahnSeries ℤ R
in 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.