Documentation

Mathlib.Topology.Algebra.InfiniteSum.Defs

Infinite sum over a topological monoid #

This sum is known as unconditionally convergent, as it sums to the same value under all possible permutations. For Euclidean spaces (finite dimensional Banach spaces) this is equivalent to absolute convergence.

Note: There are summable sequences which are not unconditionally convergent! The other way holds generally, see HasSum.tendsto_sum_nat.

References #

def HasSum {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] (f : βα) (a : α) :

Infinite sum on a topological monoid

The atTop filter on Finset β is the limit of all finite sets towards the entire type. So we sum up bigger and bigger sets. This sum operation is invariant under reordering. In particular, the function ℕ → ℝ sending n to (-1)^n / (n+1) does not have a sum for this definition, but a series which is absolutely convergent will have the correct sum.

This is based on Mario Carneiro's infinite sum df-tsms in Metamath.

For the definition or many statements, α does not need to be a topological monoid. We only add this assumption later, for the lemmas where it is relevant.

Equations
Instances For
    def Summable {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] (f : βα) :

    Summable f means that f has some (infinite) sum. Use tsum to get the value.

    Equations
    Instances For
      @[irreducible]
      def tsum {α : Type u_4} [AddCommMonoid α] [TopologicalSpace α] {β : Type u_5} (f : βα) :
      α

      ∑' i, f i is the sum of f it exists, or 0 otherwise.

      Equations
      Instances For
        theorem tsum_def {α : Type u_4} [AddCommMonoid α] [TopologicalSpace α] {β : Type u_5} (f : βα) :
        tsum f = if h : Summable f then if Set.Finite (Function.support f) then finsum f else Exists.choose h else 0

        Pretty printer defined by notation3 command.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For

          ∑' i, f i is the sum of f it exists, or 0 otherwise.

          Equations
          • One or more equations did not get rendered due to their size.
          Instances For
            theorem HasSum.summable {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : βα} {a : α} (h : HasSum f a) :
            theorem tsum_eq_zero_of_not_summable {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : βα} (h : ¬Summable f) :
            ∑' (b : β), f b = 0
            theorem Function.Injective.hasSum_iff {α : Type u_1} {β : Type u_2} {γ : Type u_3} [AddCommMonoid α] [TopologicalSpace α] {f : βα} {a : α} {g : γβ} (hg : Function.Injective g) (hf : xSet.range g, f x = 0) :
            HasSum (f g) a HasSum f a
            theorem hasSum_subtype_iff_of_support_subset {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : βα} {a : α} {s : Set β} (hf : Function.support f s) :
            HasSum (f Subtype.val) a HasSum f a
            theorem hasSum_fintype {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] [Fintype β] (f : βα) :
            HasSum f (Finset.sum Finset.univ fun (b : β) => f b)
            theorem Finset.hasSum {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] (s : Finset β) (f : βα) :
            HasSum (f Subtype.val) (Finset.sum s fun (b : β) => f b)
            theorem hasSum_sum_of_ne_finset_zero {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : βα} {s : Finset β} (hf : bs, f b = 0) :
            HasSum f (Finset.sum s fun (b : β) => f b)

            If a function f vanishes outside of a finite set s, then it HasSum ∑ b in s, f b.

            theorem summable_of_ne_finset_zero {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : βα} {s : Finset β} (hf : bs, f b = 0) :
            theorem Summable.hasSum {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : βα} (ha : Summable f) :
            HasSum f (∑' (b : β), f b)
            theorem HasSum.unique {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : βα} {a₁ : α} {a₂ : α} [T2Space α] :
            HasSum f a₁HasSum f a₂a₁ = a₂
            theorem HasSum.tsum_eq {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : βα} {a : α} [T2Space α] (ha : HasSum f a) :
            ∑' (b : β), f b = a
            theorem Summable.hasSum_iff {α : Type u_1} {β : Type u_2} [AddCommMonoid α] [TopologicalSpace α] {f : βα} {a : α} [T2Space α] (h : Summable f) :
            HasSum f a ∑' (b : β), f b = a