Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit eb8994b

Browse files
committed
feat(measure_theory): use more [(pseudo_)metrizable_space] (#14232)
* Use `[metrizable_space α]` or `[pseudo_metrizable_space α]` assumptions in some lemmas, replace `tendsto_metric` with `tendsto_metrizable` in the names of these lemmas. * Drop `measurable_of_tendsto_metric'` and `measurable_of_tendsto_metric` in favor of `measurable_of_tendsto_metrizable'` and `measurable_of_tendsto_metrizable`.
1 parent eae0510 commit eb8994b

File tree

3 files changed

+34
-54
lines changed

3 files changed

+34
-54
lines changed

src/measure_theory/constructions/borel_space.lean

Lines changed: 30 additions & 47 deletions
Original file line numberDiff line numberDiff line change
@@ -1364,9 +1364,9 @@ begin
13641364
rw [A, B, C, add_assoc],
13651365
end
13661366

1367-
section metric_space
1367+
section pseudo_metric_space
13681368

1369-
variables [metric_space α] [measurable_space α] [opens_measurable_space α]
1369+
variables [pseudo_metric_space α] [measurable_space α] [opens_measurable_space α]
13701370
variables [measurable_space β] {x : α} {ε : ℝ}
13711371

13721372
open metric
@@ -1448,19 +1448,20 @@ begin
14481448
exact h's.closure_eq.symm
14491449
end
14501450

1451+
end pseudo_metric_space
1452+
14511453
/-- Given a compact set in a proper space, the measure of its `r`-closed thickenings converges to
14521454
its measure as `r` tends to `0`. -/
1453-
lemma tendsto_measure_cthickening_of_is_compact [proper_space α] {μ : measure α}
1455+
lemma tendsto_measure_cthickening_of_is_compact [metric_space α] [measurable_space α]
1456+
[opens_measurable_space α] [proper_space α] {μ : measure α}
14541457
[is_finite_measure_on_compacts μ] {s : set α} (hs : is_compact s) :
1455-
tendsto (λ r, μ (cthickening r s)) (𝓝 0) (𝓝 (μ s)) :=
1458+
tendsto (λ r, μ (metric.cthickening r s)) (𝓝 0) (𝓝 (μ s)) :=
14561459
tendsto_measure_cthickening_of_is_closed
1457-
1, zero_lt_one, (bounded.measure_lt_top hs.bounded.cthickening).ne⟩ hs.is_closed
1460+
1, zero_lt_one, hs.bounded.cthickening.measure_lt_top.ne⟩ hs.is_closed
14581461

1459-
end metric_space
1462+
section pseudo_emetric_space
14601463

1461-
section emetric_space
1462-
1463-
variables [emetric_space α] [measurable_space α] [opens_measurable_space α]
1464+
variables [pseudo_emetric_space α] [measurable_space α] [opens_measurable_space α]
14641465
variables [measurable_space β] {x : α} {ε : ℝ≥0∞}
14651466

14661467
open emetric
@@ -1502,7 +1503,7 @@ lemma ae_measurable.edist {f g : β → α} {μ : measure β}
15021503
(hf : ae_measurable f μ) (hg : ae_measurable g μ) : ae_measurable (λ a, edist (f a) (g a)) μ :=
15031504
(@continuous_edist α _).ae_measurable2 hf hg
15041505

1505-
end emetric_space
1506+
end pseudo_emetric_space
15061507

15071508
namespace real
15081509
open measurable_space measure_theory
@@ -1846,7 +1847,7 @@ end normed_group
18461847

18471848
section limits
18481849

1849-
variables [measurable_space β] [metric_space β] [borel_space β]
1850+
variables [topological_space β] [pseudo_metrizable_space β] [measurable_space β] [borel_space β]
18501851

18511852
open metric
18521853

@@ -1885,13 +1886,14 @@ lemma measurable_of_tendsto_nnreal {f : ℕ → α → ℝ≥0} {g : α → ℝ
18851886
(hf : ∀ i, measurable (f i)) (lim : tendsto f at_top (𝓝 g)) : measurable g :=
18861887
measurable_of_tendsto_nnreal' at_top hf lim
18871888

1888-
/-- A limit (over a general filter) of measurable functions valued in a metric space is measurable.
1889-
-/
1890-
lemma measurable_of_tendsto_metric' {ι} {f : ι → α → β} {g : α → β}
1889+
/-- A limit (over a general filter) of measurable functions valued in a (pseudo) metrizable space is
1890+
measurable. -/
1891+
lemma measurable_of_tendsto_metrizable' {ι} {f : ι → α → β} {g : α → β}
18911892
(u : filter ι) [ne_bot u] [is_countably_generated u]
18921893
(hf : ∀ i, measurable (f i)) (lim : tendsto f u (𝓝 g)) :
18931894
measurable g :=
18941895
begin
1896+
letI : pseudo_metric_space β := pseudo_metrizable_space_pseudo_metric β,
18951897
apply measurable_of_is_closed', intros s h1s h2s h3s,
18961898
have : measurable (λ x, inf_nndist (g x) s),
18971899
{ suffices : tendsto (λ i x, inf_nndist (f i x) s) u (𝓝 (λ x, inf_nndist (g x) s)),
@@ -1903,33 +1905,14 @@ begin
19031905
rw [h4s], exact this (measurable_set_singleton 0),
19041906
end
19051907

1906-
/-- A sequential limit of measurable functions valued in a metric space is measurable. -/
1907-
lemma measurable_of_tendsto_metric {f : ℕ → α → β} {g : α → β}
1908-
(hf : ∀ i, measurable (f i)) (lim : tendsto f at_top (𝓝 g)) :
1909-
measurable g :=
1910-
measurable_of_tendsto_metric' at_top hf lim
1911-
1912-
/-- A limit (over a general filter) of measurable functions valued in a metrizable space is
1908+
/-- A sequential limit of measurable functions valued in a (pseudo) metrizable space is
19131909
measurable. -/
1914-
lemma measurable_of_tendsto_metrizable'
1915-
{β : Type*} [topological_space β] [metrizable_space β]
1916-
[measurable_space β] [borel_space β] {ι} {f : ι → α → β} {g : α → β}
1917-
(u : filter ι) [ne_bot u] [is_countably_generated u]
1918-
(hf : ∀ i, measurable (f i)) (lim : tendsto f u (𝓝 g)) :
1919-
measurable g :=
1920-
begin
1921-
letI : metric_space β := metrizable_space_metric β,
1922-
exact measurable_of_tendsto_metric' u hf lim
1923-
end
1924-
1925-
/-- A sequential limit of measurable functions valued in a metrizable space is measurable. -/
1926-
lemma measurable_of_tendsto_metrizable {β : Type*} [topological_space β] [metrizable_space β]
1927-
[measurable_space β] [borel_space β] {f : ℕ → α → β} {g : α → β}
1910+
lemma measurable_of_tendsto_metrizable {f : ℕ → α → β} {g : α → β}
19281911
(hf : ∀ i, measurable (f i)) (lim : tendsto f at_top (𝓝 g)) :
19291912
measurable g :=
19301913
measurable_of_tendsto_metrizable' at_top hf lim
19311914

1932-
lemma ae_measurable_of_tendsto_metric_ae {ι : Type*}
1915+
lemma ae_measurable_of_tendsto_metrizable_ae {ι : Type*}
19331916
{μ : measure α} {f : ι → α → β} {g : α → β}
19341917
(u : filter ι) [hu : ne_bot u] [is_countably_generated u]
19351918
(hf : ∀ n, ae_measurable (f n) μ) (h_tendsto : ∀ᵐ x ∂μ, tendsto (λ n, f n x) u (𝓝 (g x))) :
@@ -1941,8 +1924,7 @@ begin
19411924
have hp : ∀ᵐ x ∂μ, p x (λ n, f (v n) x),
19421925
by filter_upwards [h_tendsto] with x hx using hx.comp hv,
19431926
set ae_seq_lim := λ x, ite (x ∈ ae_seq_set h'f p) (g x) (⟨f (v 0) x⟩ : nonempty β).some with hs,
1944-
refine ⟨ae_seq_lim,
1945-
measurable_of_tendsto_metric' at_top (@ae_seq.measurable α β _ _ _ (λ n x, f (v n) x) μ h'f p)
1927+
refine ⟨ae_seq_lim, measurable_of_tendsto_metrizable' at_top (ae_seq.measurable h'f p)
19461928
(tendsto_pi_nhds.mpr (λ x, _)), _⟩,
19471929
{ simp_rw [ae_seq, ae_seq_lim],
19481930
split_ifs with hx,
@@ -1953,13 +1935,14 @@ begin
19531935
(ae_seq_set h'f p) (ae_seq.measure_compl_ae_seq_set_eq_zero h'f hp)).symm },
19541936
end
19551937

1956-
lemma ae_measurable_of_tendsto_metric_ae' {μ : measure α} {f : ℕ → α → β} {g : α → β}
1938+
lemma ae_measurable_of_tendsto_metrizable_ae' {μ : measure α} {f : ℕ → α → β} {g : α → β}
19571939
(hf : ∀ n, ae_measurable (f n) μ)
19581940
(h_ae_tendsto : ∀ᵐ x ∂μ, tendsto (λ n, f n x) at_top (𝓝 (g x))) :
19591941
ae_measurable g μ :=
1960-
ae_measurable_of_tendsto_metric_ae at_top hf h_ae_tendsto
1942+
ae_measurable_of_tendsto_metrizable_ae at_top hf h_ae_tendsto
19611943

1962-
lemma ae_measurable_of_unif_approx {μ : measure α} {g : α → β}
1944+
lemma ae_measurable_of_unif_approx {β} [measurable_space β] [pseudo_metric_space β] [borel_space β]
1945+
{μ : measure α} {g : α → β}
19631946
(hf : ∀ ε > (0 : ℝ), ∃ (f : α → β), ae_measurable f μ ∧ ∀ᵐ x ∂μ, dist (f x) (g x) ≤ ε) :
19641947
ae_measurable g μ :=
19651948
begin
@@ -1973,17 +1956,17 @@ begin
19731956
assume x hx,
19741957
rw tendsto_iff_dist_tendsto_zero,
19751958
exact squeeze_zero (λ n, dist_nonneg) hx u_lim },
1976-
exact ae_measurable_of_tendsto_metric_ae' (λ n, (Hf n).1) this,
1959+
exact ae_measurable_of_tendsto_metrizable_ae' (λ n, (Hf n).1) this,
19771960
end
19781961

1979-
lemma measurable_of_tendsto_metric_ae {μ : measure α} [μ.is_complete] {f : ℕ → α → β} {g : α → β}
1980-
(hf : ∀ n, measurable (f n))
1962+
lemma measurable_of_tendsto_metrizable_ae {μ : measure α} [μ.is_complete] {f : ℕ → α → β}
1963+
{g : α → β} (hf : ∀ n, measurable (f n))
19811964
(h_ae_tendsto : ∀ᵐ x ∂μ, tendsto (λ n, f n x) at_top (𝓝 (g x))) :
19821965
measurable g :=
19831966
ae_measurable_iff_measurable.mp
1984-
(ae_measurable_of_tendsto_metric_ae' (λ i, (hf i).ae_measurable) h_ae_tendsto)
1967+
(ae_measurable_of_tendsto_metrizable_ae' (λ i, (hf i).ae_measurable) h_ae_tendsto)
19851968

1986-
lemma measurable_limit_of_tendsto_metric_ae {ι} [encodable ι] [nonempty ι] {μ : measure α}
1969+
lemma measurable_limit_of_tendsto_metrizable_ae {ι} [encodable ι] [nonempty ι] {μ : measure α}
19871970
{f : ι → α → β} {L : filter ι} [L.is_countably_generated] (hf : ∀ n, ae_measurable (f n) μ)
19881971
(h_ae_tendsto : ∀ᵐ x ∂μ, ∃ l : β, tendsto (λ n, f n x) L (𝓝 l)) :
19891972
∃ (f_lim : α → β) (hf_lim_meas : measurable f_lim),
@@ -2011,7 +1994,7 @@ begin
20111994
have h_ae_tendsto_f_lim : ∀ᵐ x ∂μ, tendsto (λ n, f n x) L (𝓝 (f_lim x)),
20121995
from h_ae_eq.mono (λ x hx, (hf_lim x).congr hx),
20131996
have h_f_lim_meas : measurable f_lim,
2014-
from measurable_of_tendsto_metric' L (ae_seq.measurable hf p)
1997+
from measurable_of_tendsto_metrizable' L (ae_seq.measurable hf p)
20151998
(tendsto_pi_nhds.mpr (λ x, hf_lim x)),
20161999
exact ⟨f_lim, h_f_lim_meas, h_ae_tendsto_f_lim⟩,
20172000
end

src/measure_theory/function/convergence_in_measure.lean

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -268,7 +268,7 @@ lemma tendsto_in_measure.ae_measurable
268268
ae_measurable g μ :=
269269
begin
270270
obtain ⟨ns, hns⟩ := h_tendsto.exists_seq_tendsto_ae',
271-
exact ae_measurable_of_tendsto_metric_ae at_top (λ n, hf (ns n)) hns,
271+
exact ae_measurable_of_tendsto_metrizable_ae at_top (λ n, hf (ns n)) hns,
272272
end
273273

274274
end ae_measurable_of

src/measure_theory/function/strongly_measurable.lean

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1363,10 +1363,9 @@ lemma _root_.ae_strongly_measurable_of_tendsto_ae {ι : Type*}
13631363
(lim : ∀ᵐ x ∂μ, tendsto (λ n, f n x) u (𝓝 (g x))) :
13641364
ae_strongly_measurable g μ :=
13651365
begin
1366-
letI := metrizable_space_metric β,
13671366
borelize β,
13681367
refine ae_strongly_measurable_iff_ae_measurable_separable.2 ⟨_, _⟩,
1369-
{ exact ae_measurable_of_tendsto_metric_ae _ (λ n, (hf n).ae_measurable) lim },
1368+
{ exact ae_measurable_of_tendsto_metrizable_ae _ (λ n, (hf n).ae_measurable) lim },
13701369
{ rcases u.exists_seq_tendsto with ⟨v, hv⟩,
13711370
have : ∀ (n : ℕ), ∃ (t : set β), is_separable t ∧ f (v n) ⁻¹' t ∈ μ.ae :=
13721371
λ n, (ae_strongly_measurable_iff_ae_measurable_separable.1 (hf (v n))).2,
@@ -1388,10 +1387,9 @@ lemma _root_.exists_strongly_measurable_limit_of_tendsto_ae [metrizable_space β
13881387
∀ᵐ x ∂μ, tendsto (λ n, f n x) at_top (𝓝 (f_lim x)) :=
13891388
begin
13901389
borelize β,
1391-
letI := metrizable_space_metric β,
13921390
obtain ⟨g, g_meas, hg⟩ : ∃ (g : α → β) (g_meas : measurable g),
13931391
∀ᵐ x ∂μ, tendsto (λ n, f n x) at_top (𝓝 (g x)) :=
1394-
measurable_limit_of_tendsto_metric_ae (λ n, (hf n).ae_measurable) h_ae_tendsto,
1392+
measurable_limit_of_tendsto_metrizable_ae (λ n, (hf n).ae_measurable) h_ae_tendsto,
13951393
have Hg : ae_strongly_measurable g μ := ae_strongly_measurable_of_tendsto_ae _ hf hg,
13961394
refine ⟨Hg.mk g, Hg.strongly_measurable_mk, _⟩,
13971395
filter_upwards [hg, Hg.ae_eq_mk] with x hx h'x,
@@ -1674,7 +1672,6 @@ lemma measurable_uncurry_of_continuous_of_measurable {α β ι : Type*} [topolog
16741672
(hu_cont : ∀ x, continuous (λ i, u i x)) (h : ∀ i, measurable (u i)) :
16751673
measurable (function.uncurry u) :=
16761674
begin
1677-
letI := metrizable_space_metric β,
16781675
obtain ⟨t_sf, ht_sf⟩ : ∃ t : ℕ → simple_func ι ι, ∀ j x,
16791676
tendsto (λ n, u (t n j) x) at_top (𝓝 $ u j x),
16801677
{ have h_str_meas : strongly_measurable (id : ι → ι), from strongly_measurable_id,
@@ -1684,7 +1681,7 @@ begin
16841681
have h_tendsto : tendsto U at_top (𝓝 (λ p, u p.fst p.snd)),
16851682
{ rw tendsto_pi_nhds,
16861683
exact λ p, ht_sf p.fst p.snd, },
1687-
refine measurable_of_tendsto_metric (λ n, _) h_tendsto,
1684+
refine measurable_of_tendsto_metrizable (λ n, _) h_tendsto,
16881685
haveI : encodable (t_sf n).range, from fintype.to_encodable ↥(t_sf n).range,
16891686
have h_meas : measurable (λ (p : (t_sf n).range × α), u ↑p.fst p.snd),
16901687
{ have : (λ (p : ↥((t_sf n).range) × α), u ↑(p.fst) p.snd)

0 commit comments

Comments
 (0)