@@ -22,6 +22,7 @@ We introduce the following typeclasses for measures:
2222namespace MeasureTheory
2323
2424open Set Filter Function Measure MeasurableSpace NNReal ENNReal
25+ open scoped Topology
2526
2627variable {α β ι : Type *} {m0 : MeasurableSpace α} [MeasurableSpace β] {μ ν : Measure α}
2728 {s t : Set α} {a : α}
@@ -316,6 +317,50 @@ theorem countable_meas_level_set_pos {α β : Type*} {_ : MeasurableSpace α} {
316317 (g_mble : Measurable g) : Set.Countable { t : β | 0 < μ { a : α | g a = t } } :=
317318 countable_meas_level_set_pos₀ g_mble.nullMeasurable
318319
320+ private lemma exists_ae_subset_biUnion_countable_of_isFiniteMeasure [IsFiniteMeasure μ]
321+ {C : Set (Set α)} (hC : ∀ s ∈ C, MeasurableSet s) :
322+ ∃ D ⊆ C, D.Countable ∧ ∀ s ∈ C, s ≤ᵐ[μ] (⋃₀ D) := by
323+ let m := ⨆ D ∈ {D : Set (Set α) | D ⊆ C ∧ D.Countable}, μ (⋃₀ D)
324+ obtain ⟨D, D_mem, hD⟩ : ∃ D ∈ {D : Set (Set α) | D ⊆ C ∧ D.Countable}, μ (⋃₀ D) = m := by
325+ rcases eq_bot_or_bot_lt m with hm | hm
326+ · exact ⟨∅, by simp, by simp [hm]⟩
327+ obtain ⟨u, -, u_mem, u_lim⟩ :
328+ ∃ u : ℕ → ℝ≥0 ∞, StrictMono u ∧ (∀ n, u n ∈ Ioo 0 m) ∧ Tendsto u atTop (𝓝 m) :=
329+ exists_seq_strictMono_tendsto' hm
330+ have A n : ∃ D ∈ {D : Set (Set α) | D ⊆ C ∧ D.Countable}, u n < μ (⋃₀ D) :=
331+ lt_biSup_iff.1 (u_mem n).2
332+ choose! D D_mem huD using A
333+ have hD : ⋃ n, D n ∈ {D | D ⊆ C ∧ D.Countable} := by simp; grind
334+ refine ⟨⋃ n, D n, hD, ?_⟩
335+ apply le_antisymm (le_biSup (f := fun D ↦ μ (⋃₀ D)) hD)
336+ apply le_of_tendsto' u_lim (fun n ↦ (huD n).le.trans ?_)
337+ exact measure_mono (fun x hx ↦ by simp at hx ⊢; grind)
338+ refine ⟨D, by grind, by grind, fun s hs ↦ union_ae_eq_right_iff_ae_subset.mp ?_⟩
339+ symm
340+ apply ae_eq_of_ae_subset_of_measure_ge subset_union_right.eventuallyLE
341+ · rw [hD, show s ∪ ⋃₀ D = ⋃₀ (D ∪ {s}) by simp]
342+ apply le_biSup (f := fun D ↦ μ (⋃₀ D))
343+ simp [D_mem.2 , insert_subset_iff, hs, D_mem.1 ]
344+ · exact (MeasurableSet.sUnion D_mem.2 (by grind)).nullMeasurableSet
345+ · simp
346+
347+ variable (μ) in
348+ /-- Given a family of measurable sets, its measurable union is its union modulo sets of measure
349+ zero. It is well defined up to measure 0. For instance, the measurable union of all the singleton
350+ sets in `ℝ` is empty (while the usual union would be the whole space).
351+ This lemma shows the existence of a measurable union, writing it as the union of a countable
352+ subfamily. -/
353+ lemma exists_ae_subset_biUnion_countable [SFinite μ]
354+ {C : Set (Set α)} (hC : ∀ s ∈ C, MeasurableSet s) :
355+ ∃ D ⊆ C, D.Countable ∧ ∀ s ∈ C, s ≤ᵐ[μ] (⋃₀ D) := by
356+ have A n : ∃ D ⊆ C, D.Countable ∧ ∀ s ∈ C, s ≤ᵐ[sfiniteSeq μ n] (⋃₀ D) :=
357+ exists_ae_subset_biUnion_countable_of_isFiniteMeasure hC
358+ choose D DC D_count hD using A
359+ refine ⟨⋃ n, D n, by simp [DC], by simp [D_count], fun s hs ↦ ?_⟩
360+ rw [← sum_sfiniteSeq μ]
361+ apply ae_sum_iff.2 (fun n ↦ (hD n s hs).trans ?_)
362+ exact HasSubset.Subset.eventuallyLE (fun x hx ↦ by simp at hx ⊢; grind)
363+
319364/-- If a measure `μ` is the sum of a countable family `mₙ`, and a set `t` has finite measure for
320365each `mₙ`, then its measurable superset `toMeasurable μ t` (which has the same measure as `t`)
321366satisfies, for any measurable set `s`, the equality `μ (toMeasurable μ t ∩ s) = μ (t ∩ s)`. -/
0 commit comments