Skip to content

Commit 571b8a8

Browse files
committed
feat: more API for set integrals wrt vector measures (#40808)
This is essentially an adapted copy of the API we already have for the Bochner integral
1 parent 33633b7 commit 571b8a8

1 file changed

Lines changed: 311 additions & 0 deletions

File tree

Mathlib/MeasureTheory/VectorMeasure/SetIntegral.lean

Lines changed: 311 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -277,4 +277,315 @@ theorem integral_singleton [MeasurableSingletonClass X] {a : X} [CompleteSpace G
277277
∫ᵛ a in {a}, f a ∂[B; μ] = B (f a) (μ {a}) := by
278278
simp only [restrict_singleton, integral_dirac]
279279

280+
theorem setIntegral_union_eq_left_of_ae (hs : MeasurableSet s) (ht : MeasurableSet t)
281+
(ht_eq : ∀ᵐ x ∂μ.variation.restrict t, f x = 0) :
282+
∫ᵛ x in s ∪ t, f x ∂[B; μ] = ∫ᵛ x in s, f x ∂[B; μ] := by
283+
classical
284+
rw [← integral_indicator hs, ← integral_indicator (hs.union ht)]
285+
apply integral_congr_ae
286+
rw [ae_restrict_iff' ht] at ht_eq
287+
filter_upwards [ht_eq] with x hx
288+
classical
289+
simp only [indicator_apply, mem_union]
290+
grind
291+
292+
theorem setIntegral_union_eq_left_of_forall (hs : MeasurableSet s) (ht : MeasurableSet t)
293+
(ht_eq : ∀ x ∈ t, f x = 0) : ∫ᵛ x in s ∪ t, f x ∂[B; μ] = ∫ᵛ x in s, f x ∂[B; μ] := by
294+
apply setIntegral_union_eq_left_of_ae hs ht
295+
rw [ae_restrict_iff' ht]
296+
filter_upwards with x using ht_eq x
297+
298+
theorem setIntegral_eq_of_subset_of_ae_sdiff_eq_zero (hs : MeasurableSet s) (ht : MeasurableSet t)
299+
(hts : s ⊆ t) (h't : ∀ᵐ x ∂μ.variation.restrict (t \ s), f x = 0) :
300+
∫ᵛ x in t, f x ∂[B; μ] = ∫ᵛ x in s, f x ∂[B; μ] := by
301+
rwa [← union_sdiff_cancel hts, setIntegral_union_eq_left_of_ae hs (ht.diff hs)]
302+
303+
/-- If a function vanishes on `t \ s` with `s ⊆ t`, then its integrals on `s`
304+
and `t` coincide. -/
305+
theorem setIntegral_eq_of_subset_of_forall_sdiff_eq_zero
306+
(hs : MeasurableSet s) (ht : MeasurableSet t) (hts : s ⊆ t)
307+
(h't : ∀ x ∈ t \ s, f x = 0) : ∫ᵛ x in t, f x ∂[B; μ] = ∫ᵛ x in s, f x ∂[B; μ] := by
308+
apply setIntegral_eq_of_subset_of_ae_sdiff_eq_zero hs ht hts
309+
apply (ae_restrict_iff' (ht.diff hs)).2
310+
filter_upwards with x using h't x
311+
312+
/-- If a function vanishes almost everywhere on `sᶜ`, then its integral on `s`
313+
coincides with its integral on the whole space. -/
314+
theorem setIntegral_eq_integral_of_ae_compl_eq_zero (hs : MeasurableSet s)
315+
(h : ∀ᵐ x ∂μ.variation, x ∉ s → f x = 0) :
316+
∫ᵛ x in s, f x ∂[B; μ] = ∫ᵛ x, f x ∂[B; μ] := by
317+
symm
318+
nth_rw 1 [← setIntegral_univ]
319+
apply setIntegral_eq_of_subset_of_ae_sdiff_eq_zero hs MeasurableSet.univ (subset_univ _)
320+
apply (ae_restrict_iff' (MeasurableSet.univ.diff hs)).2
321+
filter_upwards [h] with x hx h'x using hx h'x.2
322+
323+
/-- If a function vanishes on `sᶜ`, then its integral on `s` coincides with its integral on the
324+
whole space. -/
325+
theorem setIntegral_eq_integral_of_forall_compl_eq_zero (hs : MeasurableSet s)
326+
(h : ∀ x, x ∉ s → f x = 0) :
327+
∫ᵛ x in s, f x ∂[B; μ] = ∫ᵛ x, f x ∂[B; μ] :=
328+
setIntegral_eq_integral_of_ae_compl_eq_zero hs (Eventually.of_forall h)
329+
330+
theorem setIntegral_const [CompleteSpace G] [IsFiniteMeasure (μ.variation.restrict s)]
331+
(c : E) : ∫ᵛ _ in s, c ∂[B; μ] = B c (μ s) := by
332+
by_cases hs : MeasurableSet s
333+
· have : IsFiniteMeasure (μ.restrict s).variation := by
334+
rwa [variation_restrict hs]
335+
rw [integral_const, restrict_apply _ hs MeasurableSet.univ, univ_inter]
336+
· simp [setIntegral_eq_zero_of_not_measurableSet hs, μ.not_measurable hs]
337+
338+
@[simp]
339+
theorem integral_indicator_const [CompleteSpace G]
340+
(e : E) ⦃s : Set X⦄ [IsFiniteMeasure (μ.variation.restrict s)]
341+
(s_meas : MeasurableSet s) :
342+
∫ᵛ x, s.indicator (fun _ : X ↦ e) x ∂[B; μ] = B e (μ s) := by
343+
rw [integral_indicator s_meas, ← setIntegral_const]
344+
345+
theorem setIntegral_map {β : Type*} [MeasurableSpace β]
346+
{φ : X → β} (hφ : Measurable φ) {f : β → E} {s : Set β} (hs : MeasurableSet s)
347+
(hfm : AEStronglyMeasurable f ((μ.restrict (φ ⁻¹' s)).variation.map φ))
348+
(hfi' : μ.Integrable (f ∘ φ)) :
349+
∫ᵛ y in s, f y ∂[B; μ.map φ] = ∫ᵛ x in φ ⁻¹' s, f (φ x) ∂[B; μ] := by
350+
rw [restrict_map μ hφ hs, integral_map hφ hfm hfi'.integrableOn]
351+
352+
theorem _root_.MeasurableEmbedding.setIntegral_map_vectorMeasure {β : Type*} [MeasurableSpace β]
353+
{φ : X → β} {f : β → E} (hφ : MeasurableEmbedding φ) {s : Set β} (hs : MeasurableSet s) :
354+
∫ᵛ y in s, f y ∂[B; μ.map φ] = ∫ᵛ x in φ ⁻¹' s, f (φ x) ∂[B; μ] := by
355+
rw [restrict_map μ hφ.measurable hs, hφ.integral_map_vectorMeasure]
356+
357+
theorem _root_.Topology.IsClosedEmbedding.setIntegral_map_vectorMeasure
358+
[TopologicalSpace X] [BorelSpace X] {β : Type*}
359+
[MeasurableSpace β] [TopologicalSpace β] [BorelSpace β] {φ : X → β} {f : β → E} {s : Set β}
360+
(hs : MeasurableSet s) (hφ : IsClosedEmbedding φ) :
361+
∫ᵛ y in s, f y ∂[B; μ.map φ] = ∫ᵛ x in φ ⁻¹' s, f (φ x) ∂[B; μ] :=
362+
hφ.measurableEmbedding.setIntegral_map_vectorMeasure hs
363+
364+
theorem setIntegral_map_equiv {β : Type*} [MeasurableSpace β] {e : X ≃ᵐ β} {f : β → E} {s : Set β}
365+
(hs : MeasurableSet s) :
366+
∫ᵛ y in s, f y ∂[B; μ.map e] = ∫ᵛ x in e ⁻¹' s, f (e x) ∂[B; μ] :=
367+
e.measurableEmbedding.setIntegral_map_vectorMeasure hs
368+
369+
theorem continuousLinearMap_apply_integral
370+
[CompleteSpace G] [CompleteSpace H]
371+
{C : G →L[ℝ] H} (hf : Integrable f μ.variation) :
372+
C (∫ᵛ y, f y ∂[B; μ]) = ∫ᵛ y, f y ∂[((compL ℝ F G H C) ∘L B); μ] := by
373+
apply hf.induction (P := fun f ↦ C (∫ᵛ y, f y ∂[B; μ]) = ∫ᵛ y, f y ∂[((compL ℝ F G H C) ∘L B); μ])
374+
· intro c s hs hc
375+
have : IsFiniteMeasure (μ.variation.restrict s) := ⟨by simpa⟩
376+
simp [integral_indicator_const _ hs]
377+
· intro f g _ f_int g_int hf hg
378+
simp only [Pi.add_apply]
379+
simp [integral_fun_add, f_int, g_int, hf, hg]
380+
· apply isClosed_eq
381+
· apply C.continuous.comp continuous_integral
382+
· exact continuous_integral
383+
· intro f g hfg _ hf
384+
rw [← integral_congr_ae hfg, ← integral_congr_ae hfg, hf]
385+
386+
theorem integral_continuousLinearMap_comp
387+
{f : X → H} {C : H →L[ℝ] E} (hf : Integrable f μ.variation) :
388+
∫ᵛ y, C (f y) ∂[B; μ] = ∫ᵛ y, f y ∂[B ∘L C; μ] := by
389+
by_cases hG : CompleteSpace G; swap
390+
· simp [integral_of_not_completeSpace hG]
391+
apply hf.induction (P := fun f ↦ ∫ᵛ y, C (f y) ∂[B; μ] = ∫ᵛ y, f y ∂[B ∘L C; μ])
392+
· intro c s hs hc
393+
have : IsFiniteMeasure (μ.variation.restrict s) := ⟨by simpa⟩
394+
rw [integral_indicator_const _ hs]
395+
have : (fun y ↦ C (s.indicator (fun x ↦ c) y)) = s.indicator (fun x ↦ C c) := by
396+
ext; simp only [indicator]; grind
397+
simp_rw [this]
398+
rw [integral_indicator_const _ hs]
399+
rfl
400+
· intro f g _ f_int g_int hf hg
401+
simp only [Pi.add_apply, _root_.map_add]
402+
rw [integral_fun_add (C.integrable_comp f_int) (C.integrable_comp g_int), hf, hg,
403+
integral_fun_add f_int g_int]
404+
· apply isClosed_eq
405+
· have I (f : Lp H 1 μ.variation) : ∫ᵛ x, C (f x) ∂[B; μ] = ∫ᵛ x, (C.compLp f) x ∂[B; μ] :=
406+
(integral_congr_ae (coeFn_compLp _ _)).symm
407+
simp_rw [I]
408+
exact continuous_integral.comp (C.compLpL 1 μ.variation).continuous
409+
· exact continuous_integral
410+
· intro f g hfg _ hf
411+
have : ∀ᵐ x ∂μ.variation, C (f x) = C (g x) := by
412+
filter_upwards [hfg] with x hx using by simp [hx]
413+
rw [← integral_congr_ae hfg, ← integral_congr_ae this, hf]
414+
415+
theorem enorm_setIntegral_le_of_enorm_le_const_ae {C : ℝ≥0∞}
416+
(hC : ∀ᵐ x ∂μ.variation.restrict s, ‖f x‖ₑ ≤ C) :
417+
‖∫ᵛ x in s, f x ∂[B; μ]‖ₑ ≤ C * ‖B‖ₑ * μ.variation s := by
418+
by_cases hs : MeasurableSet s; swap
419+
· simp [setIntegral_eq_zero_of_not_measurableSet hs]
420+
rw [← variation_restrict hs] at hC
421+
apply (enorm_integral_le_of_enorm_le_const hC).trans
422+
rw [variation_restrict hs, Measure.restrict_apply MeasurableSet.univ]
423+
simp
424+
425+
theorem enorm_setIntegral_le_of_enorm_le_const {C : ℝ≥0∞}
426+
(hC : ∀ x ∈ s, ‖f x‖ₑ ≤ C) :
427+
‖∫ᵛ x in s, f x ∂[B; μ]‖ₑ ≤ C * ‖B‖ₑ * μ.variation s := by
428+
by_cases hs : MeasurableSet s; swap
429+
· simp [setIntegral_eq_zero_of_not_measurableSet hs]
430+
apply enorm_setIntegral_le_of_enorm_le_const_ae
431+
apply (ae_restrict_iff' hs).2
432+
filter_upwards with x using hC x
433+
434+
theorem norm_setIntegral_le_of_norm_le_const_ae {C : ℝ}
435+
[h : IsFiniteMeasure (μ.variation.restrict s)]
436+
(hC : ∀ᵐ x ∂μ.variation.restrict s, ‖f x‖ ≤ C) :
437+
‖∫ᵛ x in s, f x ∂[B; μ]‖ ≤ C * ‖B‖ * μ.variation.real s := by
438+
by_cases hs : MeasurableSet s; swap
439+
· simp only [setIntegral_eq_zero_of_not_measurableSet hs, norm_zero]
440+
by_cases h's : μ.variation s = 0
441+
· simp [Measure.real, h's]
442+
· have : NeBot (ae (μ.variation.restrict s)) := by simpa using h's
443+
obtain ⟨x, hx⟩ : ∃ x, ‖f x‖ ≤ C := hC.exists
444+
have : 0 ≤ C := le_trans (norm_nonneg _) hx
445+
positivity
446+
rw [← variation_restrict hs] at hC h
447+
apply (norm_integral_le_of_norm_le_const hC).trans_eq
448+
simp [variation_restrict hs]
449+
450+
theorem norm_setIntegral_le_of_norm_le_const {C : ℝ}
451+
[h : IsFiniteMeasure (μ.variation.restrict s)]
452+
(hC : ∀ x ∈ s, ‖f x‖ ≤ C) :
453+
‖∫ᵛ x in s, f x ∂[B; μ]‖ ≤ C * ‖B‖ * μ.variation.real s := by
454+
rcases eq_empty_or_nonempty s with rfl | ⟨x, hx⟩
455+
· simp
456+
by_cases hs : MeasurableSet s; swap
457+
· simp only [setIntegral_eq_zero_of_not_measurableSet hs, norm_zero]
458+
have : 0 ≤ C := le_trans (norm_nonneg _) (hC x hx)
459+
positivity
460+
apply norm_setIntegral_le_of_norm_le_const_ae
461+
filter_upwards [ae_restrict_mem hs] with x hx using hC x hx
462+
463+
theorem enorm_setIntegral_le_lintegral_enorm :
464+
‖∫ᵛ x in s, f x ∂[B; μ]‖ₑ ≤ ‖B‖ₑ * ∫⁻ x in s, ‖f x‖ₑ ∂μ.variation := by
465+
grw [enorm_integral_le_lintegral_enorm, variation_restrict_le]
466+
467+
theorem enorm_setIntegral_le_lintegral_enorm_transpose :
468+
‖∫ᵛ x in s, f x ∂[B; μ]‖ₑ ≤ ∫⁻ x in s, ‖f x‖ₑ ∂(μ.transpose B).variation := by
469+
grw [enorm_integral_le_lintegral_enorm_transpose, transpose_restrict,variation_restrict_le]
470+
471+
private theorem hasSum_setIntegral_iUnion_nat {s : ℕ → Set X}
472+
(hm : ∀ i, MeasurableSet (s i)) (hd : Pairwise (Disjoint on s))
473+
(hfi : μ.IntegrableOn f (⋃ i, s i)) :
474+
HasSum (fun n ↦ ∫ᵛ x in s n, f x ∂[B; μ]) (∫ᵛ x in ⋃ n, s n, f x ∂[B; μ]) := by
475+
by_cases hG : CompleteSpace G; swap
476+
· simp [integral_of_not_completeSpace hG]
477+
have I : ∑' i, ‖B‖ₑ * ∫⁻ x in s i, ‖f x‖ₑ ∂μ.variation < ∞ := calc
478+
∑' i, ‖B‖ₑ * ∫⁻ x in s i, ‖f x‖ₑ ∂μ.variation
479+
_ = ‖B‖ₑ * ∫⁻ x in (⋃ i, s i), ‖f x‖ₑ ∂μ.variation := by
480+
rw [ENNReal.tsum_mul_left, lintegral_iUnion hm hd]
481+
_ < ∞ := by
482+
simp only [VectorMeasure.IntegrableOn, VectorMeasure.Integrable,
483+
variation_restrict (MeasurableSet.iUnion hm)] at hfi
484+
exact ENNReal.mul_lt_top (by simp) hfi.2
485+
have : Summable (fun n ↦ ∫ᵛ x in s n, f x ∂[B; μ]) := by
486+
apply Summable.of_enorm (lt_of_le_of_lt _ I).ne
487+
gcongr
488+
exact enorm_setIntegral_le_lintegral_enorm
489+
apply (Summable.hasSum_iff_tendsto_nat this).2
490+
simp_rw [tendsto_iff_edist_tendsto_0, edist_eq_enorm_sub, enorm_sub_rev]
491+
apply tendsto_of_tendsto_of_tendsto_of_le_of_le tendsto_const_nhds
492+
(ENNReal.tendsto_sum_nat_add _ I.ne) (by positivity) (fun N ↦ ?_)
493+
have : ⋃ n, s n = (⋃ n ∈ Finset.range N, s n) ∪ (⋃ n, s (n + N)) := by
494+
ext x
495+
have : (∃ i, x ∈ s (i + N)) ↔ (∃ i ≥ N, x ∈ s i) :=
496+
fun ⟨i, hi⟩ ↦ ⟨i + N, by grind⟩, fun ⟨i, hi, h'i⟩ ↦ ⟨i - N, by grind⟩⟩
497+
simp only [mem_iUnion, Finset.mem_range, mem_union, exists_prop, this, ge_iff_le]
498+
grind
499+
rw [this, setIntegral_union]; rotate_left
500+
· simp only [Finset.mem_range, disjoint_iUnion_right, disjoint_iUnion_left]
501+
intro i j hi
502+
apply hd (by grind)
503+
· apply MeasurableSet.biUnion (Finset.countable_toSet _) (fun i hi ↦ hm i)
504+
· apply MeasurableSet.iUnion (fun i ↦ hm _)
505+
· apply hfi.mono (MeasurableSet.iUnion hm) (by simp [subset_iUnion s])
506+
· apply hfi.mono (MeasurableSet.iUnion hm) (by simp [subset_iUnion s])
507+
rw [setIntegral_biUnion_finset]; rotate_left
508+
· exact fun i hi ↦ hm i
509+
· exact fun i hi j hj hij ↦ hd hij
510+
· exact fun i hi ↦ hfi.mono (MeasurableSet.iUnion hm) (by simp [subset_iUnion s])
511+
simp only [add_sub_cancel_left]
512+
apply enorm_setIntegral_le_lintegral_enorm.trans_eq
513+
rw [lintegral_iUnion (fun i ↦ hm _), ENNReal.tsum_mul_left]
514+
exact fun i j hij ↦ hd (by grind)
515+
516+
theorem hasSum_setIntegral_iUnion {ι : Type*} [Countable ι] {s : ι → Set X}
517+
(hm : ∀ i, MeasurableSet (s i)) (hd : Pairwise (Disjoint on s))
518+
(hfi : μ.IntegrableOn f (⋃ i, s i)) :
519+
HasSum (fun n ↦ ∫ᵛ x in s n, f x ∂[B; μ]) (∫ᵛ x in ⋃ n, s n, f x ∂[B; μ]) := by
520+
classical
521+
rcases finite_or_infinite ι with hι | hι
522+
· letI : Fintype ι := Fintype.ofFinite ι
523+
have : ∫ᵛ x in ⋃ n, s n, f x ∂[B; μ] = ∑ i, ∫ᵛ x in s i, f x ∂[B; μ] := by
524+
rw [setIntegral_iUnion_fintype hm hd (fun i ↦ ?_)]
525+
exact hfi.mono (MeasurableSet.iUnion hm) (by simp [subset_iUnion s])
526+
rw [this]
527+
apply hasSum_fintype
528+
obtain ⟨e⟩ : Nonempty (ι ≃ ℕ) := nonempty_equiv_of_countable
529+
rw [← e.symm.surjective.iUnion_comp, ← e.symm.hasSum_iff]
530+
apply hasSum_setIntegral_iUnion_nat (fun i ↦ hm _) (fun i j hij ↦ hd (by simp [hij]))
531+
rwa [e.symm.surjective.iUnion_comp]
532+
533+
theorem integral_iUnion {ι : Type*} [Countable ι] {s : ι → Set X} (hm : ∀ i, MeasurableSet (s i))
534+
(hd : Pairwise (Disjoint on s)) (hfi : μ.IntegrableOn f (⋃ i, s i)) :
535+
∫ᵛ x in ⋃ n, s n, f x ∂[B; μ] = ∑' n, ∫ᵛ x in s n, f x ∂[B; μ] :=
536+
(HasSum.tsum_eq (hasSum_setIntegral_iUnion hm hd hfi)).symm
537+
538+
@[simp] theorem setIntegral_toSignedMeasure {μ : Measure X} [IsFiniteMeasure μ]
539+
{f : X → G} {s : Set X} (hs : MeasurableSet s) :
540+
∫ᵛ x in s, f x ∂<•μ.toSignedMeasure = ∫ x in s, f x ∂μ := by
541+
rw [← integral_toSignedMeasure, restrict_toSignedMeasure hs]
542+
543+
/-- If `f` is integrable, then `∫ᵛ x in s, f x ∂[B; μ]` is absolutely continuous in `s`:
544+
it tends to zero as `μ.variation s` tends to zero. -/
545+
theorem Integrable.tendsto_setIntegral_nhds_zero {ι : Type*}
546+
(hf : μ.Integrable f) {l : Filter ι} {s : ι → Set X}
547+
(hs : Tendsto (μ.variation ∘ s) l (𝓝 0)) :
548+
Tendsto (fun i ↦ ∫ᵛ x in s i, f x ∂[B; μ]) l (𝓝 0) := by
549+
rw [tendsto_zero_iff_norm_tendsto_zero]
550+
simp_rw [← coe_nnnorm, ← NNReal.coe_zero, NNReal.tendsto_coe, ← ENNReal.tendsto_coe,
551+
ENNReal.coe_zero]
552+
have : Tendsto (fun i ↦ ‖B‖ₑ * ∫⁻ (x : X) in s i, ‖f x‖ₑ ∂μ.variation) l (𝓝 (‖B‖ₑ * 0)) :=
553+
ENNReal.Tendsto.const_mul (tendsto_setLIntegral_zero (ne_of_lt hf.2) hs) (by simp)
554+
rw [mul_zero] at this
555+
apply tendsto_of_tendsto_of_tendsto_of_le_of_le tendsto_const_nhds this (fun i ↦ zero_le)
556+
intro i
557+
apply enorm_integral_le_lintegral_enorm.trans
558+
dsimp
559+
gcongr
560+
exact variation_restrict_le
561+
562+
/-- If `F i → f` in `L1`, then `∫ᵛ x in s, F i x ∂[B; μ] → ∫ᵛ x in s, f x ∂[B; μ]`. -/
563+
lemma tendsto_setIntegral_of_L1 {ι} (f : X → E)
564+
(hfi : AEStronglyMeasurable f μ.variation) {F : ι → X → E}
565+
{l : Filter ι} (hFi : ∀ᶠ i in l, μ.Integrable (F i))
566+
(hF : Tendsto (fun i ↦ ∫⁻ x, ‖F i x - f x‖ₑ ∂μ.variation) l (𝓝 0))
567+
(s : Set X) :
568+
Tendsto (fun i ↦ ∫ᵛ x in s, F i x ∂[B; μ]) l (𝓝 (∫ᵛ x in s, f x ∂[B; μ])) := by
569+
refine tendsto_integral_of_L1 f ?_ ?_ ?_
570+
· apply hfi.mono_measure
571+
grw [variation_restrict_le, Measure.restrict_le_self]
572+
· filter_upwards [hFi] with i hi using hi.restrict
573+
· simp_rw [← eLpNorm_one_eq_lintegral_enorm] at hF ⊢
574+
apply tendsto_of_tendsto_of_tendsto_of_le_of_le tendsto_const_nhds hF (fun _ ↦ zero_le)
575+
(fun i ↦ ?_)
576+
apply eLpNorm_mono_measure
577+
grw [variation_restrict_le]
578+
apply Measure.restrict_le_self
579+
580+
/-- If `F i → f` in `L1`, then `∫ᵛ x in s, F i x ∂[B; μ] → ∫ᵛ x in s, f x ∂[B; μ]`. -/
581+
lemma tendsto_setIntegral_of_L1' {ι} (f : X → E)
582+
(hfi : AEStronglyMeasurable f μ.variation) {F : ι → X → E}
583+
{l : Filter ι} (hFi : ∀ᶠ i in l, μ.Integrable (F i))
584+
(hF : Tendsto (fun i ↦ eLpNorm (F i - f) 1 μ.variation) l (𝓝 0))
585+
(s : Set X) :
586+
Tendsto (fun i ↦ ∫ᵛ x in s, F i x ∂[B; μ]) l (𝓝 (∫ᵛ x in s, f x ∂[B; μ])) := by
587+
refine tendsto_setIntegral_of_L1 f hfi hFi ?_ s
588+
simp_rw [eLpNorm_one_eq_lintegral_enorm, Pi.sub_apply] at hF
589+
exact hF
590+
280591
end MeasureTheory.VectorMeasure

0 commit comments

Comments
 (0)