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

Commit c46a04a

Browse files
committed
chore(measure_theory): move, deduplicate (#9489)
* move lemmas like `is_compact.measure_lt_top` from `measure_theory.constructions.borel` to `measure_theory.measure.measure_space`; * drop `is_compact.is_finite_measure` etc; * add `measure_Ixx_lt_top`.
1 parent a97e86a commit c46a04a

File tree

2 files changed

+76
-71
lines changed

2 files changed

+76
-71
lines changed

src/measure_theory/constructions/borel_space.lean

Lines changed: 1 addition & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -1112,9 +1112,7 @@ def finite_spanning_sets_in_Ioo_rat (μ : measure ℝ) [is_locally_finite_measur
11121112
refine ⟨-(n + 1), n + 1, _, by norm_cast⟩,
11131113
exact (neg_nonpos.2 (@nat.cast_nonneg ℚ _ (n + 1))).trans_lt n.cast_add_one_pos
11141114
end,
1115-
finite := λ n,
1116-
calc μ (Ioo _ _) ≤ μ (Icc _ _) : μ.mono Ioo_subset_Icc_self
1117-
... < ∞ : is_compact_Icc.is_finite_measure,
1115+
finite := λ n, measure_Ioo_lt_top,
11181116
spanning := Union_eq_univ_iff.2 $ λ x,
11191117
⟨⌊|x|⌋₊, neg_lt.1 ((neg_le_abs_self x).trans_lt (lt_nat_floor_add_one _)),
11201118
(le_abs_self x).trans_lt (lt_nat_floor_add_one _)⟩ }
@@ -1602,62 +1600,3 @@ lemma ae_measurable_smul_const {f : α → 𝕜} {μ : measure α} {c : E} (hc :
16021600
ae_measurable_comp_iff_of_closed_embedding (λ y : 𝕜, y • c) (closed_embedding_smul_left hc)
16031601

16041602
end normed_space
1605-
1606-
/-- If `s` is a compact set and `μ` is finite at `𝓝 x` for every `x ∈ s`, then `s` admits an open
1607-
superset of finite measure. -/
1608-
lemma is_compact.exists_open_superset_measure_lt_top' [topological_space α]
1609-
{s : set α} {μ : measure α} (h : is_compact s) (hμ : ∀ x ∈ s, μ.finite_at_filter (𝓝 x)) :
1610-
∃ U ⊇ s, is_open U ∧ μ U < ∞ :=
1611-
begin
1612-
refine is_compact.induction_on h _ _ _ _,
1613-
{ use ∅, simp [superset] },
1614-
{ rintro s t hst ⟨U, htU, hUo, hU⟩, exact ⟨U, hst.trans htU, hUo, hU⟩ },
1615-
{ rintro s t ⟨U, hsU, hUo, hU⟩ ⟨V, htV, hVo, hV⟩,
1616-
refine ⟨U ∪ V, union_subset_union hsU htV, hUo.union hVo,
1617-
(measure_union_le _ _).trans_lt $ ennreal.add_lt_top.2 ⟨hU, hV⟩⟩ },
1618-
{ intros x hx,
1619-
rcases (hμ x hx).exists_mem_basis (nhds_basis_opens _) with ⟨U, ⟨hx, hUo⟩, hU⟩,
1620-
exact ⟨U, nhds_within_le_nhds (hUo.mem_nhds hx), U, subset.rfl, hUo, hU⟩ }
1621-
end
1622-
1623-
/-- If `s` is a compact set and `μ` is a locally finite measure, then `s` admits an open superset of
1624-
finite measure. -/
1625-
lemma is_compact.exists_open_superset_measure_lt_top [topological_space α]
1626-
{s : set α} (μ : measure α) [is_locally_finite_measure μ] (h : is_compact s) :
1627-
∃ U ⊇ s, is_open U ∧ μ U < ∞ :=
1628-
h.exists_open_superset_measure_lt_top' $ λ x hx, μ.finite_at_nhds x
1629-
1630-
lemma is_compact.measure_lt_top_of_nhds_within [topological_space α]
1631-
{s : set α} {μ : measure α} (h : is_compact s) (hμ : ∀ x ∈ s, μ.finite_at_filter (𝓝[s] x)) :
1632-
μ s < ∞ :=
1633-
is_compact.induction_on h (by simp) (λ s t hst ht, (measure_mono hst).trans_lt ht)
1634-
(λ s t hs ht, (measure_union_le s t).trans_lt (ennreal.add_lt_top.2 ⟨hs, ht⟩)) hμ
1635-
1636-
lemma is_compact.measure_lt_top [topological_space α] {s : set α} {μ : measure α}
1637-
[is_locally_finite_measure μ] (h : is_compact s) :
1638-
μ s < ∞ :=
1639-
h.measure_lt_top_of_nhds_within $ λ x hx, μ.finite_at_nhds_within _ _
1640-
1641-
/-- Compact covering of a `σ`-compact topological space as
1642-
`measure_theory.measure.finite_spanning_sets_in`. -/
1643-
def measure_theory.measure.finite_spanning_sets_in_compact [topological_space α]
1644-
[sigma_compact_space α] (μ : measure α) [is_locally_finite_measure μ] :
1645-
μ.finite_spanning_sets_in {K | is_compact K} :=
1646-
{ set := compact_covering α,
1647-
set_mem := is_compact_compact_covering α,
1648-
finite := λ n, (is_compact_compact_covering α n).measure_lt_top,
1649-
spanning := Union_compact_covering α }
1650-
1651-
/-- A locally finite measure on a `σ`-compact topological space admits a finite spanning sequence
1652-
of open sets. -/
1653-
def measure_theory.measure.finite_spanning_sets_in_open [topological_space α]
1654-
[sigma_compact_space α] (μ : measure α) [is_locally_finite_measure μ] :
1655-
μ.finite_spanning_sets_in {K | is_open K} :=
1656-
{ set := λ n, ((is_compact_compact_covering α n).exists_open_superset_measure_lt_top μ).some,
1657-
set_mem := λ n,
1658-
((is_compact_compact_covering α n).exists_open_superset_measure_lt_top μ).some_spec.snd.1,
1659-
finite := λ n,
1660-
((is_compact_compact_covering α n).exists_open_superset_measure_lt_top μ).some_spec.snd.2,
1661-
spanning := eq_univ_of_subset (Union_subset_Union $ λ n,
1662-
((is_compact_compact_covering α n).exists_open_superset_measure_lt_top μ).some_spec.fst)
1663-
(Union_compact_covering α) }

src/measure_theory/measure/measure_space.lean

Lines changed: 75 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2848,27 +2848,93 @@ namespace is_compact
28482848

28492849
variables [topological_space α] [measurable_space α] {μ : measure α} {s : set α}
28502850

2851-
lemma is_finite_measure_of_nhds_within (hs : is_compact s) :
2852-
(∀ a ∈ s, μ.finite_at_filter (𝓝[s] a)) → μ s < ∞ :=
2853-
by simpa only [← measure.compl_mem_cofinite, measure.finite_at_filter]
2854-
using hs.compl_mem_sets_of_nhds_within
2851+
/-- If `s` is a compact set and `μ` is finite at `𝓝 x` for every `x ∈ s`, then `s` admits an open
2852+
superset of finite measure. -/
2853+
lemma exists_open_superset_measure_lt_top' (h : is_compact s)
2854+
(hμ : ∀ x ∈ s, μ.finite_at_filter (𝓝 x)) :
2855+
∃ U ⊇ s, is_open U ∧ μ U < ∞ :=
2856+
begin
2857+
refine is_compact.induction_on h _ _ _ _,
2858+
{ use ∅, simp [superset] },
2859+
{ rintro s t hst ⟨U, htU, hUo, hU⟩, exact ⟨U, hst.trans htU, hUo, hU⟩ },
2860+
{ rintro s t ⟨U, hsU, hUo, hU⟩ ⟨V, htV, hVo, hV⟩,
2861+
refine ⟨U ∪ V, union_subset_union hsU htV, hUo.union hVo,
2862+
(measure_union_le _ _).trans_lt $ ennreal.add_lt_top.2 ⟨hU, hV⟩⟩ },
2863+
{ intros x hx,
2864+
rcases (hμ x hx).exists_mem_basis (nhds_basis_opens _) with ⟨U, ⟨hx, hUo⟩, hU⟩,
2865+
exact ⟨U, nhds_within_le_nhds (hUo.mem_nhds hx), U, subset.rfl, hUo, hU⟩ }
2866+
end
2867+
2868+
/-- If `s` is a compact set and `μ` is a locally finite measure, then `s` admits an open superset of
2869+
finite measure. -/
2870+
lemma exists_open_superset_measure_lt_top (h : is_compact s)
2871+
(μ : measure α) [is_locally_finite_measure μ] :
2872+
∃ U ⊇ s, is_open U ∧ μ U < ∞ :=
2873+
h.exists_open_superset_measure_lt_top' $ λ x hx, μ.finite_at_nhds x
2874+
2875+
lemma measure_lt_top_of_nhds_within (h : is_compact s) (hμ : ∀ x ∈ s, μ.finite_at_filter (𝓝[s] x)) :
2876+
μ s < ∞ :=
2877+
is_compact.induction_on h (by simp) (λ s t hst ht, (measure_mono hst).trans_lt ht)
2878+
(λ s t hs ht, (measure_union_le s t).trans_lt (ennreal.add_lt_top.2 ⟨hs, ht⟩)) hμ
28552879

2856-
lemma is_finite_measure [is_locally_finite_measure μ] (hs : is_compact s) : μ s < ∞ :=
2857-
hs.is_finite_measure_of_nhds_within $ λ a ha, μ.finite_at_nhds_within _ _
2880+
lemma measure_lt_top (h : is_compact s) {μ : measure α} [is_locally_finite_measure μ] :
2881+
μ s < ∞ :=
2882+
h.measure_lt_top_of_nhds_within $ λ x hx, μ.finite_at_nhds_within _ _
28582883

28592884
lemma measure_zero_of_nhds_within (hs : is_compact s) :
28602885
(∀ a ∈ s, ∃ t ∈ 𝓝[s] a, μ t = 0) → μ s = 0 :=
28612886
by simpa only [← compl_mem_ae_iff] using hs.compl_mem_sets_of_nhds_within
28622887

28632888
end is_compact
28642889

2865-
lemma metric.bounded.is_finite_measure [metric_space α] [proper_space α]
2890+
/-- Compact covering of a `σ`-compact topological space as
2891+
`measure_theory.measure.finite_spanning_sets_in`. -/
2892+
def measure_theory.measure.finite_spanning_sets_in_compact [topological_space α]
2893+
[sigma_compact_space α] {m : measurable_space α} (μ : measure α) [is_locally_finite_measure μ] :
2894+
μ.finite_spanning_sets_in {K | is_compact K} :=
2895+
{ set := compact_covering α,
2896+
set_mem := is_compact_compact_covering α,
2897+
finite := λ n, (is_compact_compact_covering α n).measure_lt_top,
2898+
spanning := Union_compact_covering α }
2899+
2900+
/-- A locally finite measure on a `σ`-compact topological space admits a finite spanning sequence
2901+
of open sets. -/
2902+
def measure_theory.measure.finite_spanning_sets_in_open [topological_space α]
2903+
[sigma_compact_space α] {m : measurable_space α} (μ : measure α) [is_locally_finite_measure μ] :
2904+
μ.finite_spanning_sets_in {K | is_open K} :=
2905+
{ set := λ n, ((is_compact_compact_covering α n).exists_open_superset_measure_lt_top μ).some,
2906+
set_mem := λ n,
2907+
((is_compact_compact_covering α n).exists_open_superset_measure_lt_top μ).some_spec.snd.1,
2908+
finite := λ n,
2909+
((is_compact_compact_covering α n).exists_open_superset_measure_lt_top μ).some_spec.snd.2,
2910+
spanning := eq_univ_of_subset (Union_subset_Union $ λ n,
2911+
((is_compact_compact_covering α n).exists_open_superset_measure_lt_top μ).some_spec.fst)
2912+
(Union_compact_covering α) }
2913+
2914+
section measure_Ixx
2915+
2916+
variables [conditionally_complete_linear_order α] [topological_space α] [order_topology α]
2917+
{m : measurable_space α} {μ : measure α} [is_locally_finite_measure μ] {a b : α}
2918+
2919+
lemma measure_Icc_lt_top : μ (Icc a b) < ∞ := is_compact_Icc.measure_lt_top
2920+
2921+
lemma measure_Ico_lt_top : μ (Ico a b) < ∞ :=
2922+
(measure_mono Ico_subset_Icc_self).trans_lt measure_Icc_lt_top
2923+
2924+
lemma measure_Ioc_lt_top : μ (Ioc a b) < ∞ :=
2925+
(measure_mono Ioc_subset_Icc_self).trans_lt measure_Icc_lt_top
2926+
2927+
lemma measure_Ioo_lt_top : μ (Ioo a b) < ∞ :=
2928+
(measure_mono Ioo_subset_Icc_self).trans_lt measure_Icc_lt_top
2929+
2930+
end measure_Ixx
2931+
2932+
lemma metric.bounded.measure_lt_top [metric_space α] [proper_space α]
28662933
[measurable_space α] {μ : measure α} [is_locally_finite_measure μ] {s : set α}
28672934
(hs : metric.bounded s) :
28682935
μ s < ∞ :=
28692936
(measure_mono subset_closure).trans_lt (metric.compact_iff_closed_bounded.2
2870-
⟨is_closed_closure, metric.bounded_closure_of_bounded hs⟩).is_finite_measure
2871-
2937+
⟨is_closed_closure, metric.bounded_closure_of_bounded hs⟩).measure_lt_top
28722938

28732939
section piecewise
28742940

0 commit comments

Comments
 (0)