@@ -14,11 +14,15 @@ We develop some properties of measures on (topological) groups
14
14
* We define properties on measures: left and right invariant measures.
15
15
* We define the measure `μ.inv : A ↦ μ(A⁻¹)` and show that it is right invariant iff
16
16
`μ` is left invariant.
17
+ * We define a class `is_haar_measure μ`, requiring that the measure `μ` is left-invariant, finite
18
+ on compact sets, and positive on open sets.
19
+
20
+ We also give analogues of all these notions in the additive world.
17
21
-/
18
22
19
23
noncomputable theory
20
24
21
- open_locale ennreal pointwise
25
+ open_locale ennreal pointwise big_operators
22
26
open has_inv set function measure_theory.measure
23
27
24
28
namespace measure_theory
@@ -51,6 +55,16 @@ def is_mul_left_invariant (μ : set G → ℝ≥0∞) : Prop :=
51
55
def is_mul_right_invariant (μ : set G → ℝ≥0 ∞) : Prop :=
52
56
∀ (g : G) {A : set G} (h : measurable_set A), μ ((λ h, h * g) ⁻¹' A) = μ A
53
57
58
+ @[to_additive measure_theory.is_add_left_invariant.smul]
59
+ lemma is_mul_left_invariant.smul {μ : measure G} (h : is_mul_left_invariant μ) (c : ℝ≥0 ∞) :
60
+ is_mul_left_invariant ((c • μ : measure G) : set G → ℝ≥0 ∞) :=
61
+ λ g A hA, by rw [smul_apply, smul_apply, h g hA]
62
+
63
+ @[to_additive measure_theory.is_add_right_invariant.smul]
64
+ lemma is_mul_right_invariant.smul {μ : measure G} (h : is_mul_right_invariant μ) (c : ℝ≥0 ∞) :
65
+ is_mul_right_invariant ((c • μ : measure G) : set G → ℝ≥0 ∞) :=
66
+ λ g A hA, by rw [smul_apply, smul_apply, h g hA]
67
+
54
68
end
55
69
56
70
namespace measure
65
79
apply forall_congr, intro hA, rw [map_apply (measurable_const_mul g) hA]
66
80
end
67
81
82
+ @[to_additive]
83
+ lemma _root_.measure_theory.is_mul_left_invariant.measure_preimage_mul
84
+ [topological_space G] [group G] [topological_group G] [borel_space G]
85
+ {μ : measure G} (h : is_mul_left_invariant μ) (g : G) (A : set G) :
86
+ μ ((λ h, g * h) ⁻¹' A) = μ A :=
87
+ calc μ ((λ h, g * h) ⁻¹' A) = measure.map (λ h, g * h) μ A :
88
+ ((homeomorph.mul_left g).to_measurable_equiv.map_apply A).symm
89
+ ... = μ A : by rw map_mul_left_eq_self.2 h g
90
+
68
91
@[to_additive]
69
92
lemma map_mul_right_eq_self [topological_space G] [has_mul G] [has_continuous_mul G] [borel_space G]
70
- {μ : measure G} : (∀ g, measure.map (λ h, h * g) μ = μ) ↔ is_mul_right_invariant μ :=
93
+ {μ : measure G} :
94
+ (∀ g, measure.map (λ h, h * g) μ = μ) ↔ is_mul_right_invariant μ :=
71
95
begin
72
96
apply forall_congr, intro g, rw [measure.ext_iff], apply forall_congr, intro A,
73
97
apply forall_congr, intro hA, rw [map_apply (measurable_mul_const g) hA]
@@ -148,38 +172,45 @@ lemma is_mul_left_invariant_inv : is_mul_left_invariant μ.inv ↔ is_mul_right_
148
172
149
173
end inv
150
174
151
- variables [measurable_space G] [topological_space G] [borel_space G] {μ : measure G}
152
-
153
175
section group
154
176
177
+ variables [measurable_space G] [topological_space G] [borel_space G] {μ : measure G}
155
178
variables [group G] [topological_group G]
156
179
157
- /-! Properties of regular left invariant measures -/
180
+ /-- If a left-invariant measure gives positive mass to a compact set, then
181
+ it gives positive mass to any open set. -/
182
+ @[to_additive]
183
+ lemma is_mul_left_invariant.measure_pos_of_is_open (hμ : is_mul_left_invariant μ)
184
+ (K : set G) (hK : is_compact K) (h : μ K ≠ 0 ) {U : set G} (hU : is_open U) (h'U : U.nonempty) :
185
+ 0 < μ U :=
186
+ begin
187
+ contrapose! h,
188
+ rw ← nonpos_iff_eq_zero,
189
+ rw nonpos_iff_eq_zero at h,
190
+ rw ← hU.interior_eq at h'U,
191
+ obtain ⟨t, hKt⟩ : ∃ (t : finset G), K ⊆ ⋃ (g : G) (H : g ∈ t), (λ (h : G), g * h) ⁻¹' U :=
192
+ compact_covered_by_mul_left_translates hK h'U,
193
+ calc μ K ≤ μ (⋃ (g : G) (H : g ∈ t), (λ (h : G), g * h) ⁻¹' U) : measure_mono hKt
194
+ ... ≤ ∑ g in t, μ ((λ (h : G), g * h) ⁻¹' U) : measure_bUnion_finset_le _ _
195
+ ... = 0 : by simp [hμ _ hU.measurable_set, h]
196
+ end
197
+
198
+ /-! A nonzero left-invariant regular measure gives positive mass to any open set. -/
158
199
@[to_additive]
159
- lemma is_mul_left_invariant.null_iff_empty [regular μ] (h2μ : is_mul_left_invariant μ)
160
- (h3μ : μ ≠ 0 ) {s : set G} (hs : is_open s) : μ s = 0 ↔ s = ∅ :=
200
+ lemma is_mul_left_invariant.null_iff_empty [regular μ] (hμ : is_mul_left_invariant μ)
201
+ (h3μ : μ ≠ 0 ) {s : set G} (hs : is_open s) :
202
+ μ s = 0 ↔ s = ∅ :=
161
203
begin
162
204
obtain ⟨K, hK, h2K⟩ := regular.exists_compact_not_null.mpr h3μ,
163
- refine ⟨λ h, _, λ h, by simp [h]⟩,
164
- apply classical.by_contradiction, -- `by_contradiction` is very slow
165
- refine mt (λ h2s, _) h2K,
166
- rw [← ne.def, ne_empty_iff_nonempty] at h2s, cases h2s with y hy,
167
- obtain ⟨t, -, h1t, h2t⟩ := hK.elim_finite_subcover_image
168
- (show ∀ x ∈ @univ G, is_open ((λ y, x * y) ⁻¹' s),
169
- from λ x _, (continuous_mul_left x).is_open_preimage _ hs) _,
170
- { rw [← nonpos_iff_eq_zero],
171
- refine (measure_mono h2t).trans _,
172
- refine (measure_bUnion_le h1t.countable _).trans_eq _,
173
- simp_rw [h2μ _ hs.measurable_set], rw [h, tsum_zero] },
174
- { intros x _,
175
- simp_rw [mem_Union, mem_preimage],
176
- use [y * x⁻¹, mem_univ _],
177
- rwa [inv_mul_cancel_right] }
205
+ refine ⟨λ h, _, λ h, by simp only [h, measure_empty]⟩,
206
+ contrapose h,
207
+ exact (hμ.measure_pos_of_is_open K hK h2K hs (ne_empty_iff_nonempty.mp h)).ne'
178
208
end
179
209
180
210
@[to_additive]
181
211
lemma is_mul_left_invariant.null_iff [regular μ] (h2μ : is_mul_left_invariant μ)
182
- {s : set G} (hs : is_open s) : μ s = 0 ↔ s = ∅ ∨ μ = 0 :=
212
+ {s : set G} (hs : is_open s) :
213
+ μ s = 0 ↔ s = ∅ ∨ μ = 0 :=
183
214
begin
184
215
by_cases h3μ : μ = 0 , { simp [h3μ] },
185
216
simp only [h3μ, or_false],
@@ -192,6 +223,32 @@ lemma is_mul_left_invariant.measure_ne_zero_iff_nonempty [regular μ]
192
223
μ s ≠ 0 ↔ s.nonempty :=
193
224
by simp_rw [← ne_empty_iff_nonempty, ne.def, h2μ.null_iff_empty h3μ hs]
194
225
226
+ /-- If a left-invariant measure gives finite mass to a nonempty open set, then
227
+ it gives finite mass to any compact set. -/
228
+ @[to_additive]
229
+ lemma is_mul_left_invariant.measure_lt_top_of_is_compact (hμ : is_mul_left_invariant μ)
230
+ (U : set G) (hU : is_open U) (h'U : U.nonempty) (h : μ U ≠ ∞) {K : set G} (hK : is_compact K) :
231
+ μ K < ∞ :=
232
+ begin
233
+ rw ← hU.interior_eq at h'U,
234
+ obtain ⟨t, hKt⟩ : ∃ (t : finset G), K ⊆ ⋃ (g : G) (H : g ∈ t), (λ (h : G), g * h) ⁻¹' U :=
235
+ compact_covered_by_mul_left_translates hK h'U,
236
+ calc μ K ≤ μ (⋃ (g : G) (H : g ∈ t), (λ (h : G), g * h) ⁻¹' U) : measure_mono hKt
237
+ ... ≤ ∑ g in t, μ ((λ (h : G), g * h) ⁻¹' U) : measure_bUnion_finset_le _ _
238
+ ... = finset.card t * μ U : by simp only [hμ _ hU.measurable_set, finset.sum_const, nsmul_eq_mul]
239
+ ... < ∞ : by simp only [ennreal.lt_top_iff_ne_top, h, ennreal.nat_ne_top, with_top.mul_eq_top_iff,
240
+ ne.def, not_false_iff, and_false, false_and, or_self]
241
+ end
242
+
243
+ /-- If a left-invariant measure gives finite mass to a set with nonempty interior, then
244
+ it gives finite mass to any compact set. -/
245
+ @[to_additive]
246
+ lemma is_mul_left_invariant.measure_lt_top_of_is_compact' (hμ : is_mul_left_invariant μ)
247
+ (U : set G) (hU : (interior U).nonempty) (h : μ U ≠ ∞) {K : set G} (hK : is_compact K) :
248
+ μ K < ∞ :=
249
+ hμ.measure_lt_top_of_is_compact (interior U) is_open_interior hU
250
+ ((measure_mono (interior_subset)).trans_lt (lt_top_iff_ne_top.2 h)).ne hK
251
+
195
252
/-- For nonzero regular left invariant measures, the integral of a continuous nonnegative function
196
253
`f` is 0 iff `f` is 0. -/
197
254
@[to_additive]
@@ -222,6 +279,7 @@ end group
222
279
223
280
section integration
224
281
282
+ variables [measurable_space G] [topological_space G] [borel_space G] {μ : measure G}
225
283
variables [group G] [has_continuous_mul G]
226
284
open measure
227
285
@@ -253,4 +311,189 @@ end
253
311
254
312
end integration
255
313
314
+ section haar
315
+ namespace measure
316
+
317
+ /-- A measure on a group is a Haar measure if it is left-invariant, and gives finite mass to compact
318
+ sets and positive mass to open sets. -/
319
+ class is_haar_measure {G : Type *} [group G] [topological_space G] [measurable_space G]
320
+ (μ : measure G) : Prop :=
321
+ (left_invariant : is_mul_left_invariant μ)
322
+ (compact_lt_top : ∀ (K : set G), is_compact K → μ K < ∞)
323
+ (open_pos : ∀ (U : set G), is_open U → U.nonempty → 0 < μ U)
324
+
325
+ /-- A measure on an additive group is an additive Haar measure if it is left-invariant, and gives
326
+ finite mass to compact sets and positive mass to open sets. -/
327
+ class is_add_haar_measure {G : Type *} [add_group G] [topological_space G] [measurable_space G]
328
+ (μ : measure G) : Prop :=
329
+ (add_left_invariant : is_add_left_invariant μ)
330
+ (compact_lt_top : ∀ (K : set G), is_compact K → μ K < ∞)
331
+ (open_pos : ∀ (U : set G), is_open U → U.nonempty → 0 < μ U)
332
+
333
+ attribute [to_additive] is_haar_measure
334
+
335
+ section
336
+
337
+ variables [group G] [measurable_space G] [topological_space G] (μ : measure G) [is_haar_measure μ]
338
+
339
+ @[to_additive]
340
+ lemma _root_.is_compact.haar_lt_top {K : set G} (hK : is_compact K) :
341
+ μ K < ∞ :=
342
+ is_haar_measure.compact_lt_top K hK
343
+
344
+ @[to_additive]
345
+ lemma _root_.is_open.haar_pos {U : set G} (hU : is_open U) (h'U : U.nonempty) :
346
+ 0 < μ U :=
347
+ is_haar_measure.open_pos U hU h'U
348
+
349
+ @[to_additive]
350
+ lemma haar_pos_of_nonempty_interior {U : set G} (hU : (interior U).nonempty) : 0 < μ U :=
351
+ lt_of_lt_of_le (is_open_interior.haar_pos μ hU) (measure_mono (interior_subset))
352
+
353
+ @[to_additive]
354
+ lemma is_mul_left_invariant_haar : is_mul_left_invariant μ :=
355
+ is_haar_measure.left_invariant
356
+
357
+ @[simp, to_additive]
358
+ lemma haar_preimage_mul [topological_group G] [borel_space G] (g : G) (A : set G) :
359
+ μ ((λ h, g * h) ⁻¹' A) = μ A :=
360
+ (is_mul_left_invariant_haar μ).measure_preimage_mul _ _
361
+
362
+ @[simp, to_additive]
363
+ lemma haar_singleton [topological_group G] [borel_space G] (g : G) :
364
+ μ {g} = μ {(1 : G)} :=
365
+ begin
366
+ convert haar_preimage_mul μ (g⁻¹) _,
367
+ simp only [mul_one, preimage_mul_left_singleton, inv_inv],
368
+ end
369
+
370
+ @[simp, to_additive]
371
+ lemma haar_preimage_mul_right {G : Type *}
372
+ [comm_group G] [measurable_space G] [topological_space G] (μ : measure G) [is_haar_measure μ]
373
+ [topological_group G] [borel_space G] (g : G) (A : set G) :
374
+ μ ((λ h, h * g) ⁻¹' A) = μ A :=
375
+ by simp_rw [mul_comm, haar_preimage_mul μ g A]
376
+
377
+ @[to_additive measure_theory.measure.is_add_haar_measure.smul]
378
+ lemma is_haar_measure.smul {c : ℝ≥0 ∞} (cpos : c ≠ 0 ) (ctop : c ≠ ∞) :
379
+ is_haar_measure (c • μ) :=
380
+ { left_invariant := (is_mul_left_invariant_haar μ).smul _,
381
+ compact_lt_top := λ K hK, begin
382
+ change c * μ K < ∞,
383
+ simp [lt_top_iff_ne_top, (hK.haar_lt_top μ).ne, cpos, ctop],
384
+ end ,
385
+ open_pos := λ U U_open U_ne, bot_lt_iff_ne_bot.2 $ begin
386
+ change c * μ U ≠ 0 ,
387
+ simp [cpos, (_root_.is_open.haar_pos μ U_open U_ne).ne'],
388
+ end }
389
+
390
+ /-- If a left-invariant measure gives positive mass to some compact set with nonempty interior, then
391
+ it is a Haar measure -/
392
+ @[to_additive]
393
+ lemma is_haar_measure_of_is_compact_nonempty_interior [topological_group G] [borel_space G]
394
+ (μ : measure G) (hμ : is_mul_left_invariant μ)
395
+ (K : set G) (hK : is_compact K) (h'K : (interior K).nonempty) (h : μ K ≠ 0 ) (h' : μ K ≠ ∞) :
396
+ is_haar_measure μ :=
397
+ { left_invariant := hμ,
398
+ compact_lt_top := λ L hL, hμ.measure_lt_top_of_is_compact' _ h'K h' hL,
399
+ open_pos := λ U hU, hμ.measure_pos_of_is_open K hK h hU }
400
+
401
+ /-- The image of a Haar measure under a group homomorphism which is also a homeomorphism is again
402
+ a Haar measure. -/
403
+ @[to_additive]
404
+ lemma is_haar_measure_map [borel_space G] [topological_group G] {H : Type *} [group H]
405
+ [topological_space H] [measurable_space H] [borel_space H] [t2_space H] [topological_group H]
406
+ (f : G ≃* H) (hf : continuous f) (hfsymm : continuous f.symm) :
407
+ is_haar_measure (measure.map f μ) :=
408
+ { left_invariant := begin
409
+ rw ← map_mul_left_eq_self,
410
+ assume h,
411
+ rw map_map (continuous_mul_left h).measurable hf.measurable,
412
+ conv_rhs { rw ← map_mul_left_eq_self.2 (is_mul_left_invariant_haar μ) (f.symm h) },
413
+ rw map_map hf.measurable (continuous_mul_left _).measurable,
414
+ congr' 2 ,
415
+ ext y,
416
+ simp only [mul_equiv.apply_symm_apply, comp_app, mul_equiv.map_mul],
417
+ end ,
418
+ compact_lt_top := begin
419
+ assume K hK,
420
+ rw map_apply hf.measurable hK.measurable_set,
421
+ have : f.symm '' K = f ⁻¹' K := equiv.image_eq_preimage _ _,
422
+ rw ← this ,
423
+ exact is_compact.haar_lt_top _ (hK.image hfsymm)
424
+ end ,
425
+ open_pos := begin
426
+ assume U hU h'U,
427
+ rw map_apply hf.measurable hU.measurable_set,
428
+ refine (hU.preimage hf).haar_pos _ _,
429
+ have : f.symm '' U = f ⁻¹' U := equiv.image_eq_preimage _ _,
430
+ rw ← this ,
431
+ simp [h'U],
432
+ end }
433
+
434
+ /-- A Haar measure on a sigma-compact space is sigma-finite. -/
435
+ @[priority 100 , to_additive] -- see Note [lower instance priority]
436
+ instance is_haar_measure.sigma_finite
437
+ {G : Type *} [group G] [measurable_space G] [topological_space G] [sigma_compact_space G]
438
+ (μ : measure G) [μ.is_haar_measure] :
439
+ sigma_finite μ :=
440
+ ⟨⟨{ set := compact_covering G,
441
+ set_mem := λ n, mem_univ _,
442
+ finite := λ n, is_compact.haar_lt_top μ $ is_compact_compact_covering G n,
443
+ spanning := Union_compact_covering G }⟩⟩
444
+
445
+ open_locale topological_space
446
+ open filter
447
+
448
+ /-- If the neutral element of a group is not isolated, then a Haar measure on this group has
449
+ no atom.
450
+
451
+ This applies in particular to show that an additive Haar measure on a nontrivial
452
+ finite-dimensional real vector space has no atom. -/
453
+ @[priority 100 , to_additive]
454
+ instance is_haar_measure.has_no_atoms
455
+ {G : Type *} [group G] [measurable_space G] [topological_space G] [t1_space G]
456
+ [topological_group G] [locally_compact_space G] [borel_space G] [(𝓝[{(1 : G)}ᶜ] (1 : G)).ne_bot]
457
+ (μ : measure G) [μ.is_haar_measure] :
458
+ has_no_atoms μ :=
459
+ begin
460
+ suffices H : μ {(1 : G)} ≤ 0 , by { constructor, simp [le_bot_iff.1 H] },
461
+ obtain ⟨K, K_compact, K_int⟩ : ∃ (K : set G), is_compact K ∧ (1 : G) ∈ interior K,
462
+ { rcases exists_compact_subset is_open_univ (mem_univ (1 : G)) with ⟨K, hK⟩,
463
+ exact ⟨K, hK.1 , hK.2 .1 ⟩ },
464
+ have K_inf : set.infinite K := infinite_of_mem_nhds (1 : G) (mem_interior_iff_mem_nhds.1 K_int),
465
+ have μKlt : μ K ≠ ∞ := (K_compact.haar_lt_top μ).ne,
466
+ have I : ∀ (n : ℕ), μ {(1 : G)} ≤ μ K / n,
467
+ { assume n,
468
+ obtain ⟨t, tK, tn⟩ : ∃ (t : finset G), ↑t ⊆ K ∧ t.card = n := K_inf.exists_subset_card_eq n,
469
+ have A : μ t ≤ μ K := measure_mono tK,
470
+ have B : μ t = n * μ {(1 : G)},
471
+ { rw ← bUnion_of_singleton ↑t,
472
+ change μ (⋃ (x ∈ t), {x}) = n * μ {1 },
473
+ rw @measure_bUnion_finset G G _ μ t (λ i, {i}),
474
+ { simp only [tn, finset.sum_const, nsmul_eq_mul, haar_singleton] },
475
+ { assume x hx y hy xy,
476
+ simp only [on_fun, xy.symm, mem_singleton_iff, not_false_iff, disjoint_singleton_right] },
477
+ { assume b hb, exact measurable_set_singleton b } },
478
+ rw B at A,
479
+ rwa [ennreal.le_div_iff_mul_le _ (or.inr μKlt), mul_comm],
480
+ right,
481
+ apply ne_of_gt (haar_pos_of_nonempty_interior μ ⟨_, K_int⟩) },
482
+ have J : tendsto (λ (n : ℕ), μ K / n) at_top (𝓝 (μ K / ∞)) :=
483
+ ennreal.tendsto.const_div ennreal.tendsto_nat_nhds_top (or.inr μKlt),
484
+ simp only [ennreal.div_top] at J,
485
+ exact ge_of_tendsto' J I,
486
+ end
487
+
488
+ /- The above instance applies in particular to show that an additive Haar measure on a nontrivial
489
+ finite-dimensional real vector space has no atom. -/
490
+ example {E : Type *} [normed_group E] [normed_space ℝ E] [nontrivial E] [finite_dimensional ℝ E]
491
+ [measurable_space E] [borel_space E] (μ : measure E) [is_add_haar_measure μ] :
492
+ has_no_atoms μ := by apply_instance
493
+
494
+ end
495
+
496
+ end measure
497
+ end haar
498
+
256
499
end measure_theory
0 commit comments