Zulip Chat Archive
Stream: Is there code for X?
Topic: Locally uniform convergence
Vincent Beffara (Oct 16 2022 at 21:46):
Is any of these already in mathlib?
variables {α β ι : Type*} [topological_space α] [uniform_space β] {s t : set α} {a : α}
{φ : filter ι} {G : ι → α → β} {g : α → β}
lemma mem_nhds_within_of_subset (hs : s ∈ 𝓝 a) (hsU : s ⊆ t) : s ∈ 𝓝[t] a :=
by simpa [inter_eq_right_iff_subset.mpr hsU] using inter_mem_nhds_within t hs
lemma tendsto_locally_uniformly_on_iff [locally_compact_space α] (ht : is_open t) :
(tendsto_locally_uniformly_on G g φ t) ↔
(∀ K ⊆ t, is_compact K → tendsto_uniformly_on G g φ K) :=
begin
split,
{ rintro h K hK1 hK2,
exact (tendsto_locally_uniformly_on_iff_tendsto_uniformly_on_of_compact hK2).mp (h.mono hK1) },
{ rintro h ε hε z hz,
obtain ⟨K, ⟨hK1, hK2⟩, hK3⟩ := (compact_basis_nhds z).mem_iff.mp (ht.mem_nhds hz),
exact ⟨K, mem_nhds_within_of_subset hK1 hK3, h K hK3 hK2 ε hε⟩ }
end
lemma tendsto_locally_uniformly_on_iff_filter :
tendsto_locally_uniformly_on G g φ t ↔
∀ x ∈ t, tendsto_uniformly_on_filter G g φ (𝓝[t] x) :=
begin
simp only [tendsto_uniformly_on_filter, eventually_prod_iff],
split,
{ rintro h x hx u hu,
obtain ⟨s, hs1, hs2⟩ := h u hu x hx,
exact ⟨_, hs2, _, eventually_of_mem hs1 (λ x, id), λ i hi y hy, hi y hy⟩ },
{ rintro h u hu x hx,
obtain ⟨pa, hpa, pb, hpb, h⟩ := h x hx u hu,
refine ⟨pb, hpb, eventually_of_mem hpa (λ i hi y hy, h hi hy)⟩ }
end
lemma tendsto_locally_uniformly_iff_filter :
tendsto_locally_uniformly G g φ ↔
∀ x, tendsto_uniformly_on_filter G g φ (𝓝 x) :=
by simpa [← tendsto_locally_uniformly_on_univ, ← nhds_within_univ] using
@tendsto_locally_uniformly_on_iff_filter _ _ _ _ _ univ _ _ _
In particular, tendsto_locally_uniformly
and tendsto_uniformly_on_filter
(with nhds
) are essentially the same things with the quantifiers reversed, and they both get some use in mathlib in different places but I couldn't find the equivalence.
Anatole Dedecker (Oct 16 2022 at 22:40):
Not answering the main question, but just FYI the docs#tendsto_uniformly_on_filter stuff is quite recent, so it’s not surprising if we are lacking API here
Floris van Doorn (Oct 17 2022 at 07:47):
The first is
docs#nhds_within_le_nhds and doesn't need the second argument
Floris van Doorn (Oct 17 2022 at 17:20):
As Anatole said, @Kevin Wilson added the definition docs#tendsto_uniformly_on_filter only recently in #15871.
I think it might be good to simplify the definitions of tendsto_locally_uniformly_...
so that these properties are true by definition. Hopefully that will simplify proving the API for these lemmas (assuming the API for tendsto_uniformly_on_filter
is good enough).
In any case, I don't think the other lemmas exist yet.
Kevin Wilson (Oct 17 2022 at 19:06):
Yes, this was a bit of laziness on my part. The motivation for the `uniformly_on_filter definitions was two-fold:
- It provided a nice way to unify basically all the proofs in that file up to
tendsto_locally_uniformly...
- The
uniformly_on_filter
notion makes it easier to see that uniform convergence is just convergence on the product filter, which is what I needed for the proof I was working on at the time.
100% certain that there's API improvements to be had. :-)
Vincent Beffara (Oct 17 2022 at 19:45):
That makes sense - the risk would be to duplicate API between the two even though they are equivalent. Probably redefining tendsto_locally_uniformly(_on)
in terms of tendsto_uniformly_on_filter
would be relatively painless, and would prevent duplication.
Oliver Nash (Oct 17 2022 at 20:50):
I added docs#tendsto_locally_uniformly_iff_forall_tendsto some time ago (and ended up not using it). If we are considering changing the definition I would suggest we make this true by definition.
Anatole Dedecker (Oct 17 2022 at 21:28):
Let me just say that this innocent lemma inspired me quite a lot when working on docs#uniform_convergence.uniform_space (and related things), and I think it also what inspired Kevin for docs#tendsto_uniformly_on_filter. I love how one single lemma in 100k can still give ideas to people who are not searching for it
Kevin Wilson (Oct 18 2022 at 00:00):
Indeed! Many thanks :-)
Last updated: Dec 20 2023 at 11:08 UTC