Skip to content

Commit a71da8e

Browse files
committed
feat(Integral.Bochner.Set): add tendsto_setIntegral_of_monotone₀
1 parent 88c4804 commit a71da8e

File tree

1 file changed

+27
-13
lines changed
  • Mathlib/MeasureTheory/Integral/Bochner

1 file changed

+27
-13
lines changed

Mathlib/MeasureTheory/Integral/Bochner/Set.lean

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -77,19 +77,25 @@ theorem setIntegral_congr_fun (hs : MeasurableSet s) (h : EqOn f g s) :
7777
theorem setIntegral_congr_set (hst : s =ᵐ[μ] t) : ∫ x in s, f x ∂μ = ∫ x in t, f x ∂μ := by
7878
rw [Measure.restrict_congr_set hst]
7979

80-
theorem integral_union_ae (hst : AEDisjoint μ s t) (ht : NullMeasurableSet t μ)
80+
theorem setIntegral_union₀ (hst : AEDisjoint μ s t) (ht : NullMeasurableSet t μ)
8181
(hfs : IntegrableOn f s μ) (hft : IntegrableOn f t μ) :
8282
∫ x in s ∪ t, f x ∂μ = ∫ x in s, f x ∂μ + ∫ x in t, f x ∂μ := by
8383
simp only [Measure.restrict_union₀ hst ht, integral_add_measure hfs hft]
8484

85+
@[deprecated (since := "2025-12-22")] alias integral_union_ae := setIntegral_union₀
86+
8587
theorem setIntegral_union (hst : Disjoint s t) (ht : MeasurableSet t) (hfs : IntegrableOn f s μ)
8688
(hft : IntegrableOn f t μ) : ∫ x in s ∪ t, f x ∂μ = ∫ x in s, f x ∂μ + ∫ x in t, f x ∂μ :=
87-
integral_union_ae hst.aedisjoint ht.nullMeasurableSet hfs hft
89+
setIntegral_union₀ hst.aedisjoint ht.nullMeasurableSet hfs hft
8890

89-
theorem integral_diff (ht : MeasurableSet t) (hfs : IntegrableOn f s μ) (hts : t ⊆ s) :
91+
theorem integral_diff (ht : NullMeasurableSet t μ) (hfs : IntegrableOn f s μ) (hts : t ⊆ s) :
9092
∫ x in s \ t, f x ∂μ = ∫ x in s, f x ∂μ - ∫ x in t, f x ∂μ := by
91-
rw [eq_sub_iff_add_eq, ← setIntegral_union, diff_union_of_subset hts]
92-
exacts [disjoint_sdiff_self_left, ht, hfs.mono_set diff_subset, hfs.mono_set hts]
93+
rw [eq_sub_iff_add_eq, ← setIntegral_union₀, diff_union_of_subset hts]
94+
exacts [disjoint_sdiff_self_left.aedisjoint, ht, hfs.mono_set diff_subset, hfs.mono_set hts]
95+
96+
theorem integral_diff (ht : MeasurableSet t) (hfs : IntegrableOn f s μ) (hts : t ⊆ s) :
97+
∫ x in s \ t, f x ∂μ = ∫ x in s, f x ∂μ - ∫ x in t, f x ∂μ :=
98+
integral_diff₀ ht.nullMeasurableSet hfs hts
9399

94100
theorem integral_inter_add_diff₀ (ht : NullMeasurableSet t μ) (hfs : IntegrableOn f s μ) :
95101
∫ x in s ∩ t, f x ∂μ + ∫ x in s \ t, f x ∂μ = ∫ x in s, f x ∂μ := by
@@ -138,7 +144,7 @@ theorem setIntegral_univ : ∫ x in univ, f x ∂μ = ∫ x, f x ∂μ := by rw
138144

139145
theorem integral_add_compl₀ (hs : NullMeasurableSet s μ) (hfi : Integrable f μ) :
140146
∫ x in s, f x ∂μ + ∫ x in sᶜ, f x ∂μ = ∫ x, f x ∂μ := by
141-
have := integral_union_ae disjoint_compl_right.aedisjoint
147+
have := setIntegral_union₀ disjoint_compl_right.aedisjoint
142148
hs.compl hfi.integrableOn hfi.integrableOn
143149
rw [← this, union_compl_self, setIntegral_univ]
144150

@@ -246,31 +252,39 @@ theorem integral_piecewise [DecidablePred (· ∈ s)] (hs : MeasurableSet s) (hf
246252
integral_add' (hf.integrable_indicator hs) (hg.integrable_indicator hs.compl),
247253
integral_indicator hs, integral_indicator hs.compl]
248254

249-
theorem tendsto_setIntegral_of_monotone
255+
theorem tendsto_setIntegral_of_monotone
250256
{ι : Type*} [Preorder ι] [(atTop : Filter ι).IsCountablyGenerated]
251-
{s : ι → Set X} (hsm : ∀ i, MeasurableSet (s i)) (h_mono : Monotone s)
257+
{s : ι → Set X} (hsm : ∀ i, NullMeasurableSet (s i) μ) (h_mono : Monotone s)
252258
(hfi : IntegrableOn f (⋃ n, s n) μ) :
253259
Tendsto (fun i => ∫ x in s i, f x ∂μ) atTop (𝓝 (∫ x in ⋃ n, s n, f x ∂μ)) := by
254260
refine .of_neBot_imp fun hne ↦ ?_
255261
have := (atTop_neBot_iff.mp hne).2
256262
have hfi' : ∫⁻ x in ⋃ n, s n, ‖f x‖₊ ∂μ < ∞ := hfi.2
257263
set S := ⋃ i, s i
258-
have hSm : MeasurableSet S := MeasurableSet.iUnion_of_monotone h_mono hsm
264+
have hSm : NullMeasurableSet S μ := MeasurableSet.iUnion_of_monotone h_mono hsm
259265
have hsub {i} : s i ⊆ S := subset_iUnion s i
260-
rw [← withDensity_apply _ hSm] at hfi'
266+
rw [← withDensity_apply _ hSm] at hfi'
261267
set ν := μ.withDensity (‖f ·‖ₑ) with
262268
refine Metric.nhds_basis_closedBall.tendsto_right_iff.2 fun ε ε0 => ?_
263269
lift ε to ℝ≥0 using ε0.le
264270
have : ∀ᶠ i in atTop, ν (s i) ∈ Icc (ν S - ε) (ν S + ε) :=
265271
tendsto_measure_iUnion_atTop h_mono (ENNReal.Icc_mem_nhds hfi'.ne (ENNReal.coe_pos.2 ε0).ne')
266272
filter_upwards [this] with i hi
267-
rw [mem_closedBall_iff_norm', ← integral_diff (hsm i) hfi hsub, ← coe_nnnorm, NNReal.coe_le_coe,
268-
ENNReal.coe_le_coe]
273+
rw [mem_closedBall_iff_norm', ← integral_diff (hsm i) hfi hsub, ← coe_nnnorm, NNReal.coe_le_coe,
274+
ENNReal.coe_le_coe]
269275
refine (enorm_integral_le_lintegral_enorm _).trans ?_
270-
rw [← withDensity_apply _ (hSm.diff (hsm _)), ← hν, measure_diff hsub (hsm _).nullMeasurableSet]
276+
have hsm' : NullMeasurableSet (s i) ν := (hsm i).mono_ac (withDensity_absolutelyContinuous ..)
277+
rw [← withDensity_apply₀ _ (hSm.diff (hsm _)), ← hν, measure_diff hsub hsm']
271278
exacts [tsub_le_iff_tsub_le.mp hi.1,
272279
(hi.2.trans_lt <| ENNReal.add_lt_top.2 ⟨hfi', ENNReal.coe_lt_top⟩).ne]
273280

281+
theorem tendsto_setIntegral_of_monotone
282+
{ι : Type*} [Preorder ι] [(atTop : Filter ι).IsCountablyGenerated]
283+
{s : ι → Set X} (hsm : ∀ i, MeasurableSet (s i)) (h_mono : Monotone s)
284+
(hfi : IntegrableOn f (⋃ n, s n) μ) :
285+
Tendsto (fun i => ∫ x in s i, f x ∂μ) atTop (𝓝 (∫ x in ⋃ n, s n, f x ∂μ)) :=
286+
tendsto_setIntegral_of_monotone₀ (hsm · |>.nullMeasurableSet) h_mono hfi
287+
274288
theorem tendsto_setIntegral_of_antitone
275289
{ι : Type*} [Preorder ι] [(atTop : Filter ι).IsCountablyGenerated]
276290
{s : ι → Set X} (hsm : ∀ i, MeasurableSet (s i)) (h_anti : Antitone s)

0 commit comments

Comments
 (0)