Zulip Chat Archive

Stream: new members

Topic: TendstoUniformlyOn - supremum norm goes to zero


Tainnor (Dec 26 2024 at 02:48):

If my brain isn't completely fried by now, the following should be true:

import Mathlib

open Filter Topology
example {f :     } (unf : TendstoUniformlyOn f F atTop S) :
    Tendsto (fun k  sSup (norm  (f k - F) '' S)) atTop (𝓝 0) := by
  sorry

But I don't know how to prove it. I suspect it may have something to do with this page, but that's a bit "above my paygrade": https://leanprover-community.github.io/mathlib4_docs/Mathlib/Topology/UniformSpace/UniformConvergenceTopology.html#UniformOnFun.uniformSpace

Tainnor (Dec 26 2024 at 22:54):

I managed to find a proof, but it seems very pedestrian to me. I feel like there must be a better way, so if somebody finds one, I'll be happy to know. Otherwise, I'll proceed with this proof for the moment. Oh, and happy holidays!

example {f :     } (unf : TendstoUniformlyOn f F atTop S) :
    Tendsto (fun i  sSup ((norm  (f i - F)) '' S)) atTop (𝓝 0) := by
  by_cases nempty : S = 
  . simp [nempty]
  obtain c, cIn := Set.nonempty_iff_ne_empty.mpr nempty
  rw [tendstoUniformlyOn_iff_tendsto, tendsto_uniformity_iff_dist_tendsto_zero] at unf
  simp [dist] at unf
  rw [tendsto_prod_iff] at unf
  rw [tendsto_nhds]
  intro s sOpen zIn
  simp
  obtain r, rpos, ballSub := Metric.isOpen_iff.mp sOpen 0 zIn
  obtain ρ, ρpos, ρlt := exists_between rpos
  let t := Metric.closedBall (0 : ) ρ
  have tSub : t  s := by
    intro x xIn
    apply (subset_trans _ ballSub) xIn
    simp [t]
    intro y yIn
    simp at yIn 
    linarith
  have tNbhd : t  𝓝 0 := Metric.closedBall_mem_nhds 0 ρpos
  obtain U, Uin, V, Vin, h := unf t tNbhd
  obtain N, h' := mem_atTop_sets.mp Uin
  simp at Vin
  use N
  intro n nN
  specialize h' n nN
  suffices mball : sSup ((norm  (f n - F)) '' S)  Metric.ball 0 r by
    exact ballSub mball
  simp
  apply lt_of_le_of_lt _ ρlt
  rw [abs_of_nonneg]; rotate_left
  . apply Real.sSup_nonneg
    intro x xIn
    simp at xIn
    obtain y, _, yeq := xIn
    rw [ yeq]
    exact abs_nonneg _
  rw [csSup_le_iff]; rotate_right
  . refine' ⟨‖f n c - F c, c, cIn, _⟩
    simp
  intro x xIn; rotate_left
  rw [bddAbove_iff_exists_ge ρ]
  refine' ρ, le_refl _, _⟩
  intro x xIn
  all_goals
    obtain y, yIn, yeq := xIn
    simp at yeq
    have yIn' : y  V := Vin yIn
    specialize h n y h' yIn'
    simp [t] at h
    rwa [ yeq, abs_sub_comm]

Last updated: May 02 2025 at 03:31 UTC