Zulip Chat Archive

Stream: Is there code for X?

Topic: Tail estimate for abs. convergent series


Michael Stoll (Nov 04 2023 at 20:15):

I would like to use the following.

import Mathlib

variable {F : Type*} [NormedField F] [CompleteSpace F] {f :  →* F}
variable (hsum : Summable (f ·‖))

example {ε : } (εpos : 0 < ε) :
      N₀ : ,  N  N₀,  s  {n | N  n}, ‖∑' m : s, f m < ε := sorry

Tthe assumptions on F can certainly be weakened, but in my use case, I need a field.)

Any hints?

Michael Stoll (Nov 04 2023 at 21:18):

This is the last sorry on the way to the Euler product, BTW.

Michael Stoll (Nov 04 2023 at 21:19):

My feeling is that it should come down to a fairly easy manipulation with filters, but I have no experience with this part of Mathlib so far.

Terence Tao (Nov 04 2023 at 23:50):

summable_iff_vanishing_norm seems close to what you want.

Junyan Xu (Nov 04 2023 at 23:53):

docs#tendsto_tsum_compl_atTop_zero is closer I think :)

Kevin Buzzard (Nov 04 2023 at 23:57):

Another hurdle is that docs#summable_abs_iff says Summable f iff Summable |f| but here we have some norm on a complete space rather than an absolute value.

Junyan Xu (Nov 05 2023 at 00:17):

I think this can be proven without the Summable hypothesis. I'm using docs#NormedAddCommGroup.tendsto_nhds_zero.

Kevin Buzzard (Nov 05 2023 at 00:30):

I mean, it's not true if f(x)=1f(x)=1 for all xx? What do you mean?(it is true, for silly reasons :-) )

Junyan Xu (Nov 05 2023 at 00:30):

Hmm indeed the lemma docs#tendsto_tsum_compl_atTop_zero without the summability assumption isn't quite strong enough; it can deal with sets that contain an infinite interval but not a general set.

Junyan Xu (Nov 05 2023 at 00:31):

If it's not summable then the tsum (∑') is zero, and I think that's why tendsto_tsum_compl_atTop_zero doesn't have the summability assumption.

Junyan Xu (Nov 05 2023 at 00:36):

The statement seems a bit redundant: instead of ∀ N ≥ N₀, ∀ s ⊆ {n | N ≤ n} it's equivalent to say ∀ s ⊆ {n | N₀ ≤ n}.

Junyan Xu (Nov 05 2023 at 01:40):

Okay, I proved a slightly modified version (removing the redundancy and change to weak inequality to not make the proof more complicated):

import Mathlib

variable {F : Type*} [NormedField F] [CompleteSpace F] {f :  →* F}
variable (hsum : Summable (f ·‖))

example {ε : } (εpos : 0 < ε) :
      N : ,  s  {n | N  n}, ‖∑' m : s, f m  ε := by
  obtain t, ht := summable_iff_vanishing.mp hsum _ (Metric.closedBall_mem_nhds 0 εpos)
  use if emp : t.Nonempty then t.max' emp + 1 else 0
  refine fun s hs  (norm_tsum_le_tsum_norm <| hsum.subtype _).trans ?_
  refine tsum_le_of_sum_le (hsum.subtype _) fun s'  (le_abs_self _).trans ?_
  rw [ Finset.sum_subtype_map_embedding (g := fun i  f i) fun _ _  rfl]
  simp_rw [mem_closedBall_zero_iff, Real.norm_eq_abs, Finset.disjoint_left] at ht
  refine ht _ fun n hns' hnt  ?_
  obtain ⟨⟨m, hms⟩, -, rfl := Finset.mem_map.mp hns'
  have := hs hms
  split_ifs at this with h
  · exact (t.le_max' _ hnt).not_lt ((Nat.lt_succ_self _).trans_le this)
  · exact h m, hnt

Junyan Xu (Nov 05 2023 at 01:45):

I used docs#summable_iff_vanishing instead of docs#summable_iff_vanishing_norm (mentioned by Terry) because we can't use docs#summable_norm_iff as we're not working with a normed real vector space (edit: we can still use docs#summable_of_summable_norm though). Other key lemmas include docs#tsum_le_of_sum_le, docs#norm_tsum_le_tsum_norm, and docs#Summable.subtype.

Junyan Xu (Nov 05 2023 at 05:30):

I'm adding a general lemma as well as Nat specific version at #8194:

Summable f   e  𝓝 (0 : α),  s : Finset β,  t : Set β, Disjoint t s  (∑' b : t, f b)  e
Summable f   e  𝓝 (0 : α),  N : ,  t  {n | N  n}, (∑' b : t, f b)  e

and the desired example can be obtained by taking e to be an open ball.

Michael Stoll (Nov 05 2023 at 07:44):

Thanks!


Last updated: Dec 20 2023 at 11:08 UTC