Skip to content

Commit c846e9f

Browse files
committed
feat(Topology): UniformContinuous version of uniform limit theorem
1 parent a73de4b commit c846e9f

1 file changed

Lines changed: 46 additions & 0 deletions

File tree

Mathlib/Topology/UniformSpace/UniformApproximation.lean

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -182,3 +182,49 @@ theorem TendstoLocallyUniformly.tendsto_comp (h : TendstoLocallyUniformly F f p)
182182
theorem TendstoUniformly.tendsto_comp (h : TendstoUniformly F f p) (hf : ContinuousAt f x)
183183
(hg : Tendsto g p (𝓝 x)) : Tendsto (fun n => F n (g n)) p (𝓝 (f x)) :=
184184
h.tendstoLocallyUniformly.tendsto_comp hf hg
185+
186+
/-!
187+
### Uniform approximation and limit of uniformly continuous functions.
188+
-/
189+
section UniformContinuous
190+
variable {α β ι : Type*} [UniformSpace α] [UniformSpace β]
191+
variable {F : ι → α → β} {f : α → β} {s : Set α} {p : Filter ι}
192+
193+
/-- A function which can be uniformly approximated by functions which are uniformly continuous on a
194+
set is uniformly continuous on this set. -/
195+
theorem uniformContinuousOn_of_uniform_approx_of_uniformContinuousOn
196+
(h : ∀ u ∈ 𝓤 β, ∃ F : α → β, UniformContinuousOn F s ∧ ∀ y ∈ s, (f y, F y) ∈ u) :
197+
UniformContinuousOn f s := by
198+
simp_rw [uniformContinuousOn_iff_restrict, uniformContinuous_def] at h ⊢
199+
intro u hu
200+
obtain ⟨v, hv, hvu⟩ := comp3_mem_uniformity hu
201+
obtain ⟨F, hF, hFv⟩ := h (SetRel.symmetrize v) (symmetrize_mem_uniformity hv)
202+
refine Filter.mem_of_superset (hF v hv) fun x hx ↦ ?_
203+
simp_rw [restrict_apply, mem_setOf_eq] at ⊢ hx
204+
apply Set.mem_of_subset_of_mem hvu
205+
exact SetRel.prodMk_mem_comp (hFv x.1 x.1.prop).1 (SetRel.prodMk_mem_comp hx (hFv x.2 x.2.prop).2)
206+
207+
/-- A function which can be uniformly approximated by uniformly continuous functions is uniformly
208+
continuous. -/
209+
theorem uniformContinuous_of_uniform_approx_of_uniformContinuous
210+
(h : ∀ u ∈ 𝓤 β, ∃ F : α → β, UniformContinuous F ∧ ∀ y, (f y, F y) ∈ u) :
211+
UniformContinuous f :=
212+
uniformContinuousOn_univ.mp <| uniformContinuousOn_of_uniform_approx_of_uniformContinuousOn
213+
<| by simpa [uniformContinuousOn_univ] using h
214+
215+
/-- A uniform limit on a set of functions which are uniformly continuous on this set is itself
216+
uniformly continuous on this set. -/
217+
protected theorem TendstoUniformlyOn.uniformContinuousOn (h : TendstoUniformlyOn F f p s)
218+
(hc : ∃ᶠ n in p, UniformContinuousOn (F n) s) : UniformContinuousOn f s := by
219+
refine uniformContinuousOn_of_uniform_approx_of_uniformContinuousOn fun u hu ↦ ?_
220+
obtain ⟨i, hF⟩ := (hc.and_eventually (h u hu)).exists
221+
exact ⟨F i, hF⟩
222+
223+
/-- A uniform limit of uniformly continuous functions is uniformly continuous. -/
224+
protected theorem TendstoUniformly.uniformContinuous (h : TendstoUniformly F f p)
225+
(hc : ∃ᶠ n in p, UniformContinuous (F n)) : UniformContinuous f := by
226+
refine uniformContinuous_of_uniform_approx_of_uniformContinuous fun u hu ↦ ?_
227+
obtain ⟨i, hF⟩ := (hc.and_eventually (h u hu)).exists
228+
exact ⟨F i, hF⟩
229+
230+
end UniformContinuous

0 commit comments

Comments
 (0)