Analysis I, Section 8.2: Summation on infinite sets #
I have attempted to make the translation as faithful a paraphrasing as possible of the original text. When there is a choice between a more idiomatic Lean solution and a more faithful translation, I have generally chosen the latter. In particular, there will be places where the Lean code could be "golfed" to be more elegant and idiomatic, but I have consciously avoided doing so.
Main constructions and results of this section:
- Absolute convergence and summation on countably infinite or general sets.
- Connections with Mathlib's
Summableandtsum. - The Riemann rearrangement theorem.
Some non-trivial API is provided beyond what is given in the textbook in order connect these notions with existing summation notions.
After this section, the summation notation developed here will be deprecated in favor of Mathlib's API for Summable and tsum.
Definition 8.2.1 (Series on countable sets). Note that with this definition, functions defined
on finite sets will not be absolutely convergent; one should use AbsConvergent' instead for such
cases.
Equations
- Chapter8.AbsConvergent f = ∃ (g : ℕ → X), Function.Bijective g ∧ { m := 0, seq := fun (n : ℤ) => if n ≥ 0 then (f ∘ g) n.toNat else 0, vanish := ⋯ }.absConverges
Instances For
The definition has been chosen to give a sensible value when X is finite, even though
AbsConvergent is by definition false in this context.
Equations
- One or more equations did not get rendered due to their size.
Instances For
Theorem 8.2.2, preliminary version. The arguments here are rearranged slightly from the text.
Theorem 8.2.2, second version
Theorem 8.2.2, third version
Theorem 8.2.2, fourth version
Lemma 8.2.3 / Exercise 8.2.1
Not in textbook, but should have been included.
Lemma 8.2.5 / Exercise 8.2.2
Compare with Mathlib's Summable.subtype
A generalized sum. Note that this will give junk values if f is not AbsConvergent'.
Equations
- Chapter8.Sum' f = Chapter8.Sum fun (x : ↑{x : X | f x ≠ 0}) => f ↑x
Instances For
Not in textbook, but should have been included (the series laws are significantly harder to establish without this)
Connection with Mathlib's Summable property. Some version of this might be suitable
for Mathlib?
Maybe suitable for porting to Mathlib?
Connection with Mathlib's tsum (or Σ') operation
Proposition 8.2.6 (a) (Absolutely convergent series laws) / Exercise 8.2.3
Proposition 8.2.6 (b) (Absolutely convergent series laws) / Exercise 8.2.3
This law is not explicitly stated in Proposition 8.2.6, but follows easily from parts (a) and (b).
Proposition 8.2.6 (c) (Absolutely convergent series laws) / Exercise 8.2.3. The first
part of this proposition has been moved to AbsConvergent'.subtype.
This technical claim, the analogue of tsum_univ, is required due to the way Mathlib handles
sets.
Theorem 8.2.8 (Riemann rearrangement theorem) / Exercise 8.2.5