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

Commit 57df7f5

Browse files
feat(haar_measure): define the Haar measure (#3542)
Define the Haar measure on a locally compact Hausdorff group. Some additions and simplifications to outer_measure and content. Co-authored-by: Bryan Gin-ge Chen <bryangingechen@gmail.com>
1 parent 43ceb3e commit 57df7f5

File tree

5 files changed

+662
-30
lines changed

5 files changed

+662
-30
lines changed

docs/references.bib

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -317,4 +317,13 @@ @inproceedings{fuerer-lochbihler-schneider-traytel2020
317317
timestamp = {Mon, 06 Jul 2020 09:05:32 +0200},
318318
biburl = {https://dblp.org/rec/conf/cade/FurerLST20.bib},
319319
bibsource = {dblp computer science bibliography, https://dblp.org}
320-
}
320+
}
321+
322+
@book{halmos1950measure,
323+
author = {Halmos, Paul R},
324+
title = {Measure theory},
325+
publisher = {Springer-Verlag New York},
326+
year = 1950,
327+
isbn = {978-1-4684-9440-2},
328+
doi = {10.1007/978-1-4684-9440-2}
329+
}

src/measure_theory/content.lean

Lines changed: 37 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -129,16 +129,21 @@ lemma inner_content_Union_nat [t2_space G] {μ : compacts G → ennreal}
129129
inner_content μ ⟨⋃ (i : ℕ), U i, is_open_Union hU⟩ ≤ ∑' (i : ℕ), inner_content μ ⟨U i, hU i⟩ :=
130130
by { have := inner_content_Sup_nat h1 h2 (λ i, ⟨U i, hU i⟩), rwa [opens.supr_def] at this }
131131

132-
lemma is_left_invariant_inner_content [group G] [topological_group G] {μ : compacts G → ennreal}
133-
(h : ∀ (g : G) {K : compacts G}, μ (K.map _ $ continuous_mul_left g) = μ K) (g : G)
134-
(U : opens G) : inner_content μ (U.comap $ continuous_mul_left g) = inner_content μ U :=
132+
lemma inner_content_comap {μ : compacts G → ennreal} (f : G ≃ₜ G)
133+
(h : ∀ K : compacts G, μ (K.map f f.continuous) = μ K) (U : opens G) :
134+
inner_content μ (U.comap f.continuous) = inner_content μ U :=
135135
begin
136-
refine supr_congr _ ((compacts.equiv (homeomorph.mul_left g)).surjective) _,
136+
refine supr_congr _ ((compacts.equiv f).surjective) _,
137137
intro K, refine supr_congr_Prop image_subset_iff _,
138138
intro hK, simp only [equiv.coe_fn_mk, subtype.mk_eq_mk, ennreal.coe_eq_coe, compacts.equiv],
139-
apply h
139+
apply h,
140140
end
141141

142+
lemma is_left_invariant_inner_content [group G] [topological_group G] {μ : compacts G → ennreal}
143+
(h : ∀ (g : G) {K : compacts G}, μ (K.map _ $ continuous_mul_left g) = μ K) (g : G)
144+
(U : opens G) : inner_content μ (U.comap $ continuous_mul_left g) = inner_content μ U :=
145+
by convert inner_content_comap (homeomorph.mul_left g) (λ K, h g) U
146+
142147
lemma inner_content_pos [t2_space G] [group G] [topological_group G] {μ : compacts G → ennreal}
143148
(h1 : μ ⊥ = 0)
144149
(h2 : ∀ (K₁ K₂ : compacts G), μ (K₁ ⊔ K₂) ≤ μ K₁ + μ K₂)
@@ -185,6 +190,10 @@ begin
185190
{ exact inner_content_mono }
186191
end
187192

193+
lemma of_content_eq_infi (A : set G) :
194+
of_content μ h1 A = ⨅ (U : set G) (hU : is_open U) (h : A ⊆ U), inner_content μ ⟨U, hU⟩ :=
195+
induced_outer_measure_eq_infi _ (inner_content_Union_nat h1 h2) inner_content_mono A
196+
188197
lemma of_content_interior_compacts (h3 : ∀ (K₁ K₂ : compacts G), K₁.1 ⊆ K₂.1 → μ K₁ ≤ μ K₂)
189198
(K : compacts G) : of_content μ h1 (interior K.1) ≤ μ K :=
190199
le_trans (le_of_eq $ of_content_opens h2 (opens.interior K.1))
@@ -205,6 +214,29 @@ begin
205214
exact ⟨⟨U, hU⟩, h2U, h3U⟩, swap, exact inner_content_Union_nat h1 h2
206215
end
207216

217+
lemma of_content_preimage (f : G ≃ₜ G) (h : ∀ ⦃K : compacts G⦄, μ (K.map f f.continuous) = μ K)
218+
(A : set G) : of_content μ h1 (f ⁻¹' A) = of_content μ h1 A :=
219+
begin
220+
refine induced_outer_measure_preimage _ (inner_content_Union_nat h1 h2) inner_content_mono _
221+
(λ s, f.is_open_preimage) _,
222+
intros s hs, convert inner_content_comap f h ⟨s, hs⟩
223+
end
224+
225+
lemma is_left_invariant_of_content [group G] [topological_group G]
226+
(h : ∀ (g : G) {K : compacts G}, μ (K.map _ $ continuous_mul_left g) = μ K) (g : G)
227+
(A : set G) : of_content μ h1 ((λ h, g * h) ⁻¹' A) = of_content μ h1 A :=
228+
by convert of_content_preimage h2 (homeomorph.mul_left g) (λ K, h g) A
229+
230+
lemma of_content_caratheodory (A : set G) :
231+
(of_content μ h1).caratheodory.is_measurable A ↔ ∀ (U : opens G),
232+
of_content μ h1 (U ∩ A) + of_content μ h1 (U \ A) ≤ of_content μ h1 U :=
233+
begin
234+
dsimp [opens], rw subtype.forall,
235+
apply induced_outer_measure_caratheodory,
236+
apply inner_content_Union_nat h1 h2,
237+
apply inner_content_mono'
238+
end
239+
208240
lemma of_content_pos_of_is_open [group G] [topological_group G]
209241
(h3 : ∀ (g : G) {K : compacts G}, μ (K.map _ $ continuous_mul_left g) = μ K)
210242
(K : compacts G) (hK : 0 < μ K) {U : set G} (h1U : is_open U) (h2U : U.nonempty) :

0 commit comments

Comments
 (0)