Skip to content

Commit 78a982d

Browse files
committed
Update
1 parent 8463704 commit 78a982d

2 files changed

Lines changed: 72 additions & 16 deletions

File tree

Mathlib/MeasureTheory/VectorMeasure/IntegralBasic.lean

Lines changed: 61 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,8 @@ import Mathlib.MeasureTheory.VectorMeasure.Integral
2424
-/
2525
noncomputable 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

2930
namespace 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]
456468
theorem 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

528552
theorem 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

538590
theorem integral_countable' [Countable α] [MeasurableSingletonClass α]
539591
(hf : Integrable f Bμ.vectorMeasure.variation.ennrealToMeasure) :

Mathlib/MeasureTheory/VectorMeasure/Variation/Lemmas.lean

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ import Mathlib.MeasureTheory.VectorMeasure.Variation.Defs
1818
1919
-/
2020

21-
open MeasureTheory BigOperators NNReal ENNReal Function Filter Set
21+
open MeasureTheory BigOperators Real NNReal ENNReal Function Filter Set
2222

2323
namespace MeasureTheory.VectorMeasure
2424

@@ -136,19 +136,14 @@ theorem restrict_comm_variation (s : Set X) (μ : VectorMeasure X V) :
136136
simp_all [disjoint_iff_inter_eq_empty]; rw [← ha.1]
137137
exact subset_eq_empty (inter_subset_inter inter_subset_left inter_subset_left) this
138138
simp [ciSup_const (hι := Nonempty.intro iQ), Q]
139-
140-
intro A hA B hB hAB
139+
sorry
141140
· use P
142141
have iP : IsInnerPart t P := sorry
143142
simp [ciSup_const (hι := Nonempty.intro iP)]
144143
simp_all only [↓reduceIte]
145144
refine Finset.sum_congr rfl (by intro x hx; congr; apply inter_eq_self_of_subset_left; aesop)
146145
· simp [restrict_not_measurable μ hsm, restrict_not_measurable μ.variation hsm]
147146

148-
lemma variation_neg {E} [NormedAddCommGroup E] [NormedSpace ℝ E]
149-
(μ : VectorMeasure X E) : (-μ).variation = μ.variation := by
150-
simp [variation]
151-
152147
lemma absolutelyContinuous (μ : VectorMeasure X V) : μ ≪ᵥ μ.variation := by
153148
intro s hs
154149
by_contra! hc
@@ -158,4 +153,13 @@ lemma absolutelyContinuous (μ : VectorMeasure X V) : μ ≪ᵥ μ.variation :=
158153
_ ≤ μ.variation s := norm_measure_le_variation μ s
159154
_ = 0 := hs
160155

156+
157+
lemma variation_neg {E} [NormedAddCommGroup E] [NormedSpace ℝ E]
158+
(μ : VectorMeasure X E) : (-μ).variation = μ.variation := by
159+
simp [variation]
160+
161+
lemma variation_ennrealToMeasure_smul {E} [NormedAddCommGroup E] [NormedSpace ℝ E]
162+
(c : ℝ) (μ : VectorMeasure X E) :
163+
(c • μ).variation.ennrealToMeasure = nnabs c • μ.variation.ennrealToMeasure := by sorry
164+
161165
end MeasureTheory.VectorMeasure

0 commit comments

Comments
 (0)