@@ -24,7 +24,8 @@ import Mathlib.MeasureTheory.VectorMeasure.Integral
2424 -/
2525noncomputable section
2626
27- open ENNReal Filter Set TopologicalSpace Topology MeasureTheory VectorMeasure ContinuousLinearMap
27+ open ENNReal Filter Set TopologicalSpace Topology MeasureTheory
28+ open Real VectorMeasure ContinuousLinearMap
2829
2930namespace VectorMeasure
3031
@@ -450,17 +451,40 @@ theorem integral_finset_sum_measure {ι} {f : α → E}
450451 refine integral_add_measure B hf.1 ?_
451452 apply Integrable.mono_measure
452453 · exact (integrable_finset_sum_measure.2 hf.2 )
453- · apply Finset.le_sum_of_subadditive (fun (μ : VectorMeasure α F) => μ.variation.ennrealToMeasure)
454+ · refine Finset.le_sum_of_subadditive (fun (μ : VectorMeasure α F)
455+ => μ.variation.ennrealToMeasure) (by simp) ?_ t μ
456+ intro x y; exact triangle_inequality_ennrealToMeasure x y
457+
458+ theorem integral_finset_sum_pairing {ι} (B : ι → E →L[ℝ] F →L[ℝ] G) {s : Finset ι} :
459+ ∫ a, f a ∂(VectorMeasureWithPairing.mk (∑ i ∈ s, B i) μ) =
460+ ∑ i ∈ s, ∫ a, f a ∂(VectorMeasureWithPairing.mk (B i) μ) := by
461+ induction s using Finset.cons_induction_on with
462+ | empty => simp
463+ | cons i t h ih =>
464+ rw [Finset.sum_cons, Finset.sum_cons, ← ih]
465+ exact integral_add_pairing (B i) (∑ i ∈ t, B i)
454466
455467@[simp]
456468theorem integral_smul_measure (B : E →L[ℝ] F →L[ℝ] G) (c : ℝ) :
469+ ∫ x, f x ∂(VectorMeasureWithPairing.mk B (c • μ))
470+ = c • ∫ x, f x ∂(VectorMeasureWithPairing.mk B μ) := by
471+ by_cases hG : CompleteSpace G; swap
472+ · simp [integral, hG]
473+ simp [integral_eq_setToFun, ← setToFun_smul_left, weightedVectorSMul_smul_measure,
474+ variation_ennrealToMeasure_smul]; symm
475+ apply setToFun_congr_smul_measure
476+ simp
477+
478+ @[simp]
479+ theorem integral_smul_pairing (B : E →L[ℝ] F →L[ℝ] G) (c : ℝ) :
457480 ∫ x, f x ∂(VectorMeasureWithPairing.mk (c • B) μ)
458481 = c • ∫ x, f x ∂(VectorMeasureWithPairing.mk B μ) := by
459482 by_cases hG : CompleteSpace G; swap
460483 · simp [integral, hG]
461484 simp_rw [integral_eq_setToFun, ← setToFun_smul_left]
462- have hdfma : DominatedFinMeasAdditive μ (weightedSMul (c • μ) : Set α → G →L[ℝ] G) c.toReal :=
463- mul_one c.toReal ▸ (dominatedFinMeasAdditive_weightedSMul (c • μ)).of_smul_measure hc
485+ have hdfma : DominatedFinMeasAdditive μ.variation.ennrealToMeasure
486+ (weightedVectorSMul (c • B) μ : Set α → G →L[ℝ] G) c :=
487+ mul_one c ▸ (dominatedFinMeasAdditive_weightedSMul (c • μ)).of_smul_measure hc
464488 have hdfma_smul := dominatedFinMeasAdditive_weightedSMul (F := G) (c • μ)
465489 rw [← setToFun_congr_smul_measure c hc hdfma hdfma_smul f]
466490 exact setToFun_congr_left' _ _ (fun s _ _ => weightedSMul_smul_measure μ c) f
@@ -470,7 +494,7 @@ theorem integral_map_of_stronglyMeasurable {β} [MeasurableSpace β] {φ : α
470494 (VectorMeasure.map Bμ.vectorMeasure φ)) = ∫ x, f (φ x) ∂Bμ := by
471495 by_cases hG : CompleteSpace G; swap
472496 · simp [integral, hG]
473- by_cases hfi : Integrable f (Measure .map φ μ ); swap
497+ by_cases hfi : Integrable f (VectorMeasure .map Bμ.vectorMeasure φ ); swap
474498 · rw [integral_undef hfi, integral_undef]
475499 exact fun hfφ => hfi ((integrable_map_measure hfm.aestronglyMeasurable hφ.aemeasurable).2 hfφ)
476500 borelize G
@@ -527,13 +551,41 @@ lemma integral_domSMul {G A : Type*} [Group G] [AddCommGroup A] [DistribMulActio
527551
528552theorem integral_subtype_comap {α} [MeasurableSpace α] {μ : Measure α} {s : Set α}
529553 (hs : MeasurableSet s) (f : α → G) :
530- ∫ x : s, f (x : α) ∂( Measure.comap Subtype.val μ) = ∫ x in s, f x ∂μ := by
554+ ∫ x : s, f (x : α)Measure.comap ∂( Subtype.val μ) = ∫ x in s, f x ∂μ := by
531555 rw [← map_comap_subtype_coe hs]
532556 exact ((MeasurableEmbedding.subtype_coe hs).integral_map _).symm
533557
534- attribute [local instance ] Measure.Subtype.measureSpace in
535- theorem integral_subtype {α} [MeasureSpace α] {s : Set α} (hs : MeasurableSet s) (f : α → G) :
536- ∫ x : s, f x = ∫ x in s, f x := integral_subtype_comap hs f
558+ @[simp]
559+ theorem integral_dirac' [MeasurableSpace α] (f : α → E) (a : α) (hfm : StronglyMeasurable f) :
560+ ∫ x, f x ∂Measure.dirac a = f a := by
561+ borelize E
562+ calc
563+ ∫ x, f x ∂Measure.dirac a = ∫ _, f a ∂Measure.dirac a :=
564+ integral_congr_ae <| ae_eq_dirac' hfm.measurable
565+ _ = f a := by simp
566+
567+ @[simp]
568+ theorem integral_dirac [MeasurableSpace α] [MeasurableSingletonClass α] (f : α → E) (a : α) :
569+ ∫ x, f x ∂Measure.dirac a = f a :=
570+ calc
571+ ∫ x, f x ∂Measure.dirac a = ∫ _, f a ∂Measure.dirac a := integral_congr_ae <| ae_eq_dirac f
572+ _ = f a := by simp
573+
574+ theorem setIntegral_dirac' {mα : MeasurableSpace α} {f : α → E} (hf : StronglyMeasurable f) (a : α)
575+ {s : Set α} (hs : MeasurableSet s) [Decidable (a ∈ s)] :
576+ ∫ x in s, f x ∂Measure.dirac a = if a ∈ s then f a else 0 := by
577+ rw [restrict_dirac' hs]
578+ split_ifs
579+ · exact integral_dirac' _ _ hf
580+ · exact integral_zero_measure _
581+
582+ theorem setIntegral_dirac [MeasurableSpace α] [MeasurableSingletonClass α] (f : α → E) (a : α)
583+ (s : Set α) [Decidable (a ∈ s)] :
584+ ∫ x in s, f x ∂Measure.dirac a = if a ∈ s then f a else 0 := by
585+ rw [restrict_dirac]
586+ split_ifs
587+ · exact integral_dirac _ _
588+ · exact integral_zero_measure _
537589
538590theorem integral_countable' [Countable α] [MeasurableSingletonClass α]
539591 (hf : Integrable f Bμ.vectorMeasure.variation.ennrealToMeasure) :
0 commit comments