@@ -182,3 +182,49 @@ theorem TendstoLocallyUniformly.tendsto_comp (h : TendstoLocallyUniformly F f p)
182182theorem 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