Summable families of Hahn Series #
We introduce a notion of formal summability for families of Hahn series, and define a formal sum function. This theory is applied to characterize invertible Hahn series whose coefficients are in a commutative domain.
Main Definitions #
- A
HahnSeries.SummableFamily
is a family of Hahn series such that the union of the supports is partially well-ordered and only finitely many are nonzero at any given coefficient. 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. - The formal sum,
HahnSeries.SummableFamily.hsum
can be bundled as aLinearMap
viaHahnSeries.SummableFamily.lsum
.
Main results #
- If
R
is a commutative domain, andΓ
is a linearly ordered additive commutative group, then a Hahn series is a unit if and only if its leading term is a unit inR
.
TODO #
- Remove unnecessary domain hypotheses.
- More general summable families, e.g., define the evaluation homomorphism from a power series
ring taking
X
to a positive order element.
References #
A family of Hahn series whose formal coefficient-wise sum is a Hahn series. For each coefficient of the sum to be well-defined, we require that only finitely many series are nonzero at any given coefficient. For the formal sum to be a Hahn series, we require that the union of the supports of the constituent series is partially well-ordered.
- toFun : α → HahnSeries Γ R
A parametrized family of Hahn series.
- isPWO_iUnion_support' : (⋃ (a : α), (self.toFun a).support).IsPWO
- finite_co_support' : ∀ (g : Γ), {a : α | (self.toFun a).coeff g ≠ 0}.Finite
Instances For
Equations
- HahnSeries.SummableFamily.instFunLike = { coe := HahnSeries.SummableFamily.toFun, coe_injective' := ⋯ }
Equations
- HahnSeries.SummableFamily.instAdd = { add := fun (x y : HahnSeries.SummableFamily Γ R α) => { toFun := ⇑x + ⇑y, isPWO_iUnion_support' := ⋯, finite_co_support' := ⋯ } }
Equations
- HahnSeries.SummableFamily.instZero = { zero := { toFun := 0, isPWO_iUnion_support' := ⋯, finite_co_support' := ⋯ } }
Equations
- HahnSeries.SummableFamily.instInhabited = { default := 0 }
Equations
- HahnSeries.SummableFamily.instAddCommMonoid = AddCommMonoid.mk ⋯
The coefficient function of a summable family, as a finsupp on the parameter type.
Equations
- s.coeff g = { support := ⋯.toFinset, toFun := fun (a : α) => (s a).coeff g, mem_support_toFun := ⋯ }
Instances For
The infinite sum of a SummableFamily
of Hahn series.
Equations
- s.hsum = { coeff := fun (g : Γ) => ∑ᶠ (i : α), (s i).coeff g, isPWO_support' := ⋯ }
Instances For
The summable family made of a single Hahn series.
Equations
- HahnSeries.SummableFamily.single x = { toFun := fun (x_1 : Unit) => x, isPWO_iUnion_support' := ⋯, finite_co_support' := ⋯ }
Instances For
A summable family induced by an equivalence of the parametrizing type.
Equations
- HahnSeries.SummableFamily.Equiv e s = { toFun := fun (b : β) => s (e.symm b), isPWO_iUnion_support' := ⋯, finite_co_support' := ⋯ }
Instances For
Equations
- HahnSeries.SummableFamily.instNeg = { neg := fun (s : HahnSeries.SummableFamily Γ R α) => { toFun := fun (a : α) => -s a, isPWO_iUnion_support' := ⋯, finite_co_support' := ⋯ } }
Equations
- HahnSeries.SummableFamily.instAddCommGroup = AddCommGroup.mk ⋯
An elementwise scalar multiplication of one summable family on another.
Equations
- s.FamilySMul t = { toFun := fun (ab : α × β) => (HahnModule.of R).symm (s ab.1 • (HahnModule.of R) (t ab.2)), isPWO_iUnion_support' := ⋯, finite_co_support' := ⋯ }
Instances For
Equations
- One or more equations did not get rendered due to their size.
The summation of a summable_family
as a LinearMap
.
Equations
- HahnSeries.SummableFamily.lsum = { toFun := HahnSeries.SummableFamily.hsum, map_add' := ⋯, map_smul' := ⋯ }
Instances For
A family with only finitely many nonzero elements is summable.
Equations
- HahnSeries.SummableFamily.ofFinsupp f = { toFun := ⇑f, isPWO_iUnion_support' := ⋯, finite_co_support' := ⋯ }
Instances For
A summable family can be reindexed by an embedding without changing its sum.
Equations
- s.embDomain f = { toFun := fun (b : β) => if h : b ∈ Set.range ⇑f then s (Classical.choose h) else 0, isPWO_iUnion_support' := ⋯, finite_co_support' := ⋯ }
Instances For
The powers of an element of positive valuation form a summable family.
Equations
- HahnSeries.SummableFamily.powers x hx = { toFun := fun (n : ℕ) => x ^ n, isPWO_iUnion_support' := ⋯, finite_co_support' := ⋯ }