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

Commit aedd12d

Browse files
committed
refactor(measure_theory/haar_measure): move general material to content.lean, make content a structure (#7615)
Several facts that are proved only for the Haar measure (including for instance regularity) are true for any measure constructed from a content. We move these facts to the `content.lean` file (and make `content` a structure for easier management). Also, move the notion of regular measure to its own file, and make it a class.
1 parent 1b098c0 commit aedd12d

File tree

6 files changed

+430
-357
lines changed

6 files changed

+430
-357
lines changed

src/measure_theory/borel_space.lean

Lines changed: 0 additions & 83 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ import measure_theory.arithmetic
2121
structures such that all open sets are measurable; equivalently, `borel α ≤ ‹measurable_space α›`.
2222
* `borel_space` instances on `empty`, `unit`, `bool`, `nat`, `int`, `rat`;
2323
* `measurable` and `borel_space` instances on `ℝ`, `ℝ≥0`, `ℝ≥0∞`.
24-
* A measure is `regular` if it is finite on compact sets, inner regular and outer regular.
2524
2625
## Main statements
2726
@@ -1341,88 +1340,6 @@ ae_measurable_comp_iff_of_closed_embedding (λ y : 𝕜, y • c) (closed_embedd
13411340

13421341
end normed_space
13431342

1344-
namespace measure_theory
1345-
namespace measure
1346-
1347-
variables [topological_space α] {μ : measure α}
1348-
1349-
/-- A measure `μ` is regular if
1350-
- it is finite on all compact sets;
1351-
- it is outer regular: `μ(A) = inf { μ(U) | A ⊆ U open }` for `A` measurable;
1352-
- it is inner regular: `μ(U) = sup { μ(K) | K ⊆ U compact }` for `U` open. -/
1353-
structure regular (μ : measure α) : Prop :=
1354-
(lt_top_of_is_compact : ∀ {{K : set α}}, is_compact K → μ K < ∞)
1355-
(outer_regular : ∀ {{A : set α}}, measurable_set A →
1356-
(⨅ (U : set α) (h : is_open U) (h2 : A ⊆ U), μ U) ≤ μ A)
1357-
(inner_regular : ∀ {{U : set α}}, is_open U →
1358-
μ U ≤ ⨆ (K : set α) (h : is_compact K) (h2 : K ⊆ U), μ K)
1359-
1360-
namespace regular
1361-
1362-
lemma outer_regular_eq (hμ : μ.regular) {{A : set α}}
1363-
(hA : measurable_set A) : (⨅ (U : set α) (h : is_open U) (h2 : A ⊆ U), μ U) = μ A :=
1364-
le_antisymm (hμ.outer_regular hA) $ le_infi $ λ s, le_infi $ λ hs, le_infi $ λ h2s, μ.mono h2s
1365-
1366-
lemma inner_regular_eq (hμ : μ.regular) {{U : set α}}
1367-
(hU : is_open U) : (⨆ (K : set α) (h : is_compact K) (h2 : K ⊆ U), μ K) = μ U :=
1368-
le_antisymm (supr_le $ λ s, supr_le $ λ hs, supr_le $ λ h2s, μ.mono h2s) (hμ.inner_regular hU)
1369-
1370-
lemma exists_compact_not_null (hμ : regular μ) : (∃ K, is_compact K ∧ μ K ≠ 0) ↔ μ ≠ 0 :=
1371-
by simp_rw [ne.def, ← measure_univ_eq_zero, ← hμ.inner_regular_eq is_open_univ,
1372-
ennreal.supr_eq_zero, not_forall, exists_prop, subset_univ, true_and]
1373-
1374-
protected lemma map [opens_measurable_space α] [measurable_space β] [topological_space β]
1375-
[t2_space β] [borel_space β] (hμ : μ.regular) (f : α ≃ₜ β) :
1376-
(measure.map f μ).regular :=
1377-
begin
1378-
have hf := f.measurable,
1379-
have h2f := f.to_equiv.injective.preimage_surjective,
1380-
have h3f := f.to_equiv.surjective,
1381-
split,
1382-
{ intros K hK, rw [map_apply hf hK.measurable_set],
1383-
apply hμ.lt_top_of_is_compact, rwa f.compact_preimage },
1384-
{ intros A hA, rw [map_apply hf hA, ← hμ.outer_regular_eq (hf hA)],
1385-
refine le_of_eq _, apply infi_congr (preimage f) h2f,
1386-
intro U, apply infi_congr_Prop f.is_open_preimage, intro hU,
1387-
apply infi_congr_Prop h3f.preimage_subset_preimage_iff, intro h2U,
1388-
rw [map_apply hf hU.measurable_set], },
1389-
{ intros U hU,
1390-
rw [map_apply hf hU.measurable_set, ← hμ.inner_regular_eq (hU.preimage f.continuous)],
1391-
refine ge_of_eq _, apply supr_congr (preimage f) h2f,
1392-
intro K, apply supr_congr_Prop f.compact_preimage, intro hK,
1393-
apply supr_congr_Prop h3f.preimage_subset_preimage_iff, intro h2U,
1394-
rw [map_apply hf hK.measurable_set] }
1395-
end
1396-
1397-
protected lemma smul (hμ : μ.regular) {x : ℝ≥0∞} (hx : x < ∞) :
1398-
(x • μ).regular :=
1399-
begin
1400-
split,
1401-
{ intros K hK, exact ennreal.mul_lt_top hx (hμ.lt_top_of_is_compact hK) },
1402-
{ intros A hA, rw [coe_smul],
1403-
refine le_trans _ (ennreal.mul_left_mono $ hμ.outer_regular hA),
1404-
simp only [infi_and'], simp only [infi_subtype'],
1405-
haveI : nonempty {s : set α // is_open s ∧ A ⊆ s} := ⟨⟨set.univ, is_open_univ, subset_univ _⟩⟩,
1406-
rw [ennreal.mul_infi], refl', exact ne_of_lt hx },
1407-
{ intros U hU, rw [coe_smul], refine le_trans (ennreal.mul_left_mono $ hμ.inner_regular hU) _,
1408-
simp only [supr_and'], simp only [supr_subtype'],
1409-
rw [ennreal.mul_supr], refl' }
1410-
end
1411-
1412-
/-- A regular measure in a σ-compact space is σ-finite. -/
1413-
protected lemma sigma_finite [opens_measurable_space α] [t2_space α] [sigma_compact_space α]
1414-
(hμ : regular μ) : sigma_finite μ :=
1415-
⟨⟨{ set := compact_covering α,
1416-
set_mem := λ n, (is_compact_compact_covering α n).measurable_set,
1417-
finite := λ n, hμ.lt_top_of_is_compact $ is_compact_compact_covering α n,
1418-
spanning := Union_compact_covering α }⟩⟩
1419-
1420-
1421-
end regular
1422-
1423-
end measure
1424-
end measure_theory
1425-
14261343
lemma is_compact.measure_lt_top_of_nhds_within [topological_space α]
14271344
{s : set α} {μ : measure α} (h : is_compact s) (hμ : ∀ x ∈ s, μ.finite_at_filter (𝓝[s] x)) :
14281345
μ s < ∞ :=

0 commit comments

Comments
 (0)