@@ -41,7 +41,9 @@ For `μ : Content G`, we define
41
41
* `μ.outerMeasure` : the outer measure associated to `μ`.
42
42
* `μ.measure` : the Borel measure associated to `μ`.
43
43
44
- We prove that, on a locally compact space, the measure `μ.measure` is regular.
44
+ These definitions are given for spaces which are either T2, or locally compact and regular (which
45
+ covers possibly non-Hausdorff locally compact groups). The resulting measure `μ.measure` is always
46
+ outer regular by design. When the space is locally compact, `μ.measure` is also regular.
45
47
46
48
## References
47
49
@@ -68,7 +70,8 @@ structure Content (G : Type w) [TopologicalSpace G] where
68
70
toFun : Compacts G → ℝ≥0
69
71
mono' : ∀ K₁ K₂ : Compacts G, (K₁ : Set G) ⊆ K₂ → toFun K₁ ≤ toFun K₂
70
72
sup_disjoint' :
71
- ∀ K₁ K₂ : Compacts G, Disjoint (K₁ : Set G) K₂ → toFun (K₁ ⊔ K₂) = toFun K₁ + toFun K₂
73
+ ∀ K₁ K₂ : Compacts G, Disjoint (K₁ : Set G) K₂ → IsClosed (K₁ : Set G) → IsClosed (K₂ : Set G)
74
+ → toFun (K₁ ⊔ K₂) = toFun K₁ + toFun K₂
72
75
sup_le' : ∀ K₁ K₂ : Compacts G, toFun (K₁ ⊔ K₂) ≤ toFun K₁ + toFun K₂
73
76
#align measure_theory.content MeasureTheory.Content
74
77
@@ -96,7 +99,8 @@ theorem mono (K₁ K₂ : Compacts G) (h : (K₁ : Set G) ⊆ K₂) : μ K₁
96
99
simp [apply_eq_coe_toFun, μ.mono' _ _ h]
97
100
#align measure_theory.content.mono MeasureTheory.Content.mono
98
101
99
- theorem sup_disjoint (K₁ K₂ : Compacts G) (h : Disjoint (K₁ : Set G) K₂) :
102
+ theorem sup_disjoint (K₁ K₂ : Compacts G) (h : Disjoint (K₁ : Set G) K₂)
103
+ (h₁ : IsClosed (K₁ : Set G)) (h₂ : IsClosed (K₂ : Set G)) :
100
104
μ (K₁ ⊔ K₂) = μ K₁ + μ K₂ := by
101
105
simp [apply_eq_coe_toFun, μ.sup_disjoint' _ _ h]
102
106
#align measure_theory.content.sup_disjoint MeasureTheory.Content.sup_disjoint
@@ -167,7 +171,7 @@ theorem innerContent_exists_compact {U : Opens G} (hU : μ.innerContent U ≠
167
171
#align measure_theory.content.inner_content_exists_compact MeasureTheory.Content.innerContent_exists_compact
168
172
169
173
/-- The inner content of a supremum of opens is at most the sum of the individual inner contents. -/
170
- theorem innerContent_iSup_nat [T2Space G] (U : ℕ → Opens G) :
174
+ theorem innerContent_iSup_nat [T2OrLocallyCompactRegularSpace G] (U : ℕ → Opens G) :
171
175
μ.innerContent (⨆ i : ℕ, U i) ≤ ∑' i : ℕ, μ.innerContent (U i) := by
172
176
have h3 : ∀ (t : Finset ℕ) (K : ℕ → Compacts G), μ (t.sup K) ≤ t.sum fun i => μ (K i) := by
173
177
intro t K
@@ -196,7 +200,8 @@ theorem innerContent_iSup_nat [T2Space G] (U : ℕ → Opens G) :
196
200
/-- The inner content of a union of sets is at most the sum of the individual inner contents.
197
201
This is the "unbundled" version of `innerContent_iSup_nat`.
198
202
It is required for the API of `inducedOuterMeasure`. -/
199
- theorem innerContent_iUnion_nat [T2Space G] ⦃U : ℕ → Set G⦄ (hU : ∀ i : ℕ, IsOpen (U i)) :
203
+ theorem innerContent_iUnion_nat [T2OrLocallyCompactRegularSpace G] ⦃U : ℕ → Set G⦄
204
+ (hU : ∀ i : ℕ, IsOpen (U i)) :
200
205
μ.innerContent ⟨⋃ i : ℕ, U i, isOpen_iUnion hU⟩ ≤ ∑' i : ℕ, μ.innerContent ⟨U i, hU i⟩ := by
201
206
have := μ.innerContent_iSup_nat fun i => ⟨U i, hU i⟩
202
207
rwa [Opens.iSup_def] at this
@@ -220,7 +225,8 @@ theorem is_mul_left_invariant_innerContent [Group G] [TopologicalGroup G]
220
225
#align measure_theory.content.is_add_left_invariant_inner_content MeasureTheory.Content.is_add_left_invariant_innerContent
221
226
222
227
@[to_additive]
223
- theorem innerContent_pos_of_is_mul_left_invariant [T2Space G] [Group G] [TopologicalGroup G]
228
+ theorem innerContent_pos_of_is_mul_left_invariant [T2OrLocallyCompactRegularSpace G] [Group G]
229
+ [TopologicalGroup G]
224
230
(h3 : ∀ (g : G) {K : Compacts G}, μ (K.map _ <| continuous_mul_left g) = μ K) (K : Compacts G)
225
231
(hK : μ K ≠ 0 ) (U : Opens G) (hU : (U : Set G).Nonempty) : 0 < μ.innerContent U := by
226
232
have : (interior (U : Set G)).Nonempty
@@ -249,7 +255,7 @@ protected def outerMeasure : OuterMeasure G :=
249
255
inducedOuterMeasure (fun U hU => μ.innerContent ⟨U, hU⟩) isOpen_empty μ.innerContent_bot
250
256
#align measure_theory.content.outer_measure MeasureTheory.Content.outerMeasure
251
257
252
- variable [T2Space G]
258
+ variable [T2OrLocallyCompactRegularSpace G]
253
259
254
260
theorem outerMeasure_opens (U : Opens G) : μ.outerMeasure U = μ.innerContent U :=
255
261
inducedOuterMeasure_eq' (fun _ => isOpen_iUnion) μ.innerContent_iUnion_nat μ.innerContent_mono U.2
@@ -358,22 +364,34 @@ theorem borel_le_caratheodory : S ≤ μ.outerMeasure.caratheodory := by
358
364
rw [ENNReal.iSup_add]
359
365
refine' iSup_le _
360
366
rintro ⟨L, hL⟩
367
+ let L' : Compacts G := ⟨closure L, L.isCompact.closure⟩
368
+ suffices μ L' + μ.outerMeasure (↑U' \ U) ≤ μ.outerMeasure U' by
369
+ have A : μ L ≤ μ L' := μ.mono _ _ subset_closure
370
+ exact (add_le_add_right A _).trans this
361
371
simp only [subset_inter_iff] at hL
362
- have : ↑U' \ U ⊆ U' \ L := diff_subset_diff_right hL.2
372
+ have hL'U : (L' : Set G) ⊆ U := IsCompact.closure_subset_of_isOpen L.2 hU hL.2
373
+ have hL'U' : (L' : Set G) ⊆ (U' : Set G) := IsCompact.closure_subset_of_isOpen L.2 U'.2 hL.1
374
+ have : ↑U' \ U ⊆ U' \ L' := diff_subset_diff_right hL'U
363
375
refine' le_trans (add_le_add_left (μ.outerMeasure.mono' this) _) _
364
- rw [μ.outerMeasure_of_isOpen (↑U' \ L) (IsOpen.sdiff U'.2 L. 2 .isClosed )]
376
+ rw [μ.outerMeasure_of_isOpen (↑U' \ L' ) (IsOpen.sdiff U'.2 isClosed_closure )]
365
377
simp only [innerContent, iSup_subtype']
366
378
rw [Opens.coe_mk]
367
- haveI : Nonempty { M : Compacts G // (M : Set G) ⊆ ↑U' \ L } := ⟨⟨⊥, empty_subset _⟩⟩
379
+ haveI : Nonempty { M : Compacts G // (M : Set G) ⊆ ↑U' \ closure L } := ⟨⟨⊥, empty_subset _⟩⟩
368
380
rw [ENNReal.add_iSup]
369
381
refine' iSup_le _
370
382
rintro ⟨M, hM⟩
371
- simp only [subset_diff] at hM
372
- have : (↑(L ⊔ M) : Set G) ⊆ U' := by
373
- simp only [union_subset_iff, Compacts.coe_sup, hM, hL, and_self_iff]
383
+ let M' : Compacts G := ⟨closure M, M.isCompact.closure⟩
384
+ suffices μ L' + μ M' ≤ μ.outerMeasure U' by
385
+ have A : μ M ≤ μ M' := μ.mono _ _ subset_closure
386
+ exact (add_le_add_left A _).trans this
387
+ have hM' : (M' : Set G) ⊆ U' \ L' :=
388
+ IsCompact.closure_subset_of_isOpen M.2 (IsOpen.sdiff U'.2 isClosed_closure) hM
389
+ have : (↑(L' ⊔ M') : Set G) ⊆ U' := by
390
+ simp only [Compacts.coe_sup, union_subset_iff, hL'U' , true_and]
391
+ exact hM'.trans (diff_subset _ _ )
374
392
rw [μ.outerMeasure_of_isOpen (↑U') U'.2 ]
375
393
refine' le_trans (ge_of_eq _) (μ.le_innerContent _ _ this)
376
- exact μ.sup_disjoint _ _ hM .2 .symm
394
+ exact μ.sup_disjoint L' M' (subset_diff. 1 hM') .2 .symm isClosed_closure isClosed_closure
377
395
#align measure_theory.content.borel_le_caratheodory MeasureTheory.Content.borel_le_caratheodory
378
396
379
397
/-- The measure induced by the outer measure coming from a content, on the Borel sigma-algebra. -/
@@ -385,19 +403,21 @@ theorem measure_apply {s : Set G} (hs : MeasurableSet s) : μ.measure s = μ.out
385
403
toMeasure_apply _ _ hs
386
404
#align measure_theory.content.measure_apply MeasureTheory.Content.measure_apply
387
405
406
+ instance outerRegular : μ.measure.OuterRegular := by
407
+ refine ⟨fun A hA r (hr : _ < _) ↦ ?_⟩
408
+ rw [μ.measure_apply hA, outerMeasure_eq_iInf] at hr
409
+ simp only [iInf_lt_iff] at hr
410
+ rcases hr with ⟨U, hUo, hAU, hr⟩
411
+ rw [← μ.outerMeasure_of_isOpen U hUo, ← μ.measure_apply hUo.measurableSet] at hr
412
+ exact ⟨U, hAU, hUo, hr⟩
413
+
388
414
/-- In a locally compact space, any measure constructed from a content is regular. -/
389
415
instance regular [WeaklyLocallyCompactSpace G] : μ.measure.Regular := by
390
- have : μ.measure.OuterRegular := by
391
- refine' ⟨fun A hA r (hr : _ < _) => _⟩
392
- rw [μ.measure_apply hA, outerMeasure_eq_iInf] at hr
393
- simp only [iInf_lt_iff] at hr
394
- rcases hr with ⟨U, hUo, hAU, hr⟩
395
- rw [← μ.outerMeasure_of_isOpen U hUo, ← μ.measure_apply hUo.measurableSet] at hr
396
- exact ⟨U, hAU, hUo, hr⟩
397
416
have : IsFiniteMeasureOnCompacts μ.measure := by
398
417
refine' ⟨fun K hK => _⟩
399
- rw [measure_apply _ hK.measurableSet]
400
- exact μ.outerMeasure_lt_top_of_isCompact hK
418
+ apply (measure_mono subset_closure).trans_lt _
419
+ rw [measure_apply _ isClosed_closure.measurableSet]
420
+ exact μ.outerMeasure_lt_top_of_isCompact hK.closure
401
421
refine' ⟨fun U hU r hr => _⟩
402
422
rw [measure_apply _ hU.measurableSet, μ.outerMeasure_of_isOpen U hU] at hr
403
423
simp only [innerContent, lt_iSup_iff] at hr
@@ -430,7 +450,7 @@ theorem contentRegular_exists_compact (H : ContentRegular μ) (K : TopologicalSp
430
450
(ENNReal.lt_add_right (ne_top_of_lt (μ.lt_top K)) (ENNReal.coe_ne_zero.mpr hε)))
431
451
#align measure_theory.content.content_regular_exists_compact MeasureTheory.Content.contentRegular_exists_compact
432
452
433
- variable [MeasurableSpace G] [T2Space G] [BorelSpace G]
453
+ variable [MeasurableSpace G] [T2OrLocallyCompactRegularSpace G] [BorelSpace G]
434
454
435
455
/-- If `μ` is a regular content, then the measure induced by `μ` will agree with `μ`
436
456
on compact sets. -/
@@ -441,16 +461,17 @@ theorem measure_eq_content_of_regular (H : MeasureTheory.Content.ContentRegular
441
461
intro ε εpos _
442
462
obtain ⟨K', K'_hyp⟩ := contentRegular_exists_compact μ H K (ne_bot_of_gt εpos)
443
463
calc
444
- μ.measure ↑K ≤ μ.measure (interior ↑K') := by
445
- rw [μ.measure_apply isOpen_interior.measurableSet,
446
- μ.measure_apply K.isCompact.measurableSet]
447
- exact μ.outerMeasure.mono K'_hyp.left
464
+ μ.measure ↑K ≤ μ.measure (interior ↑K') := measure_mono K'_hyp.1
448
465
_ ≤ μ K' := by
449
466
rw [μ.measure_apply (IsOpen.measurableSet isOpen_interior)]
450
467
exact μ.outerMeasure_interior_compacts K'
451
468
_ ≤ μ K + ε := K'_hyp.right
452
- · rw [μ.measure_apply (IsCompact.measurableSet K.isCompact)]
453
- exact μ.le_outerMeasure_compacts K
469
+ · calc
470
+ μ K ≤ μ ⟨closure K, K.2 .closure⟩ := μ.mono _ _ subset_closure
471
+ _ ≤ μ.measure (closure K) := by
472
+ rw [μ.measure_apply (isClosed_closure.measurableSet)]
473
+ exact μ.le_outerMeasure_compacts _
474
+ _ = μ.measure K := Measure.OuterRegular.measure_closure_eq_of_isCompact K.2
454
475
#align measure_theory.content.measure_eq_content_of_regular MeasureTheory.Content.measure_eq_content_of_regular
455
476
456
477
end RegularContents
0 commit comments