@@ -23,7 +23,7 @@ on `s` can prevent us from finding versions of the conditional expectation that
23
23
measure. The standard Borel space assumption on `Ω` allows us to do so.
24
24
25
25
The case `Y = X = id` is developed in more detail in `Probability/Kernel/Condexp.lean`: here `X` is
26
- understood as a map from `Ω` with a sub-σ-algebra to `Ω` with its default σ-algebra and the
26
+ understood as a map from `Ω` with a sub-σ-algebra `m` to `Ω` with its default σ-algebra and the
27
27
conditional distribution defines a kernel associated with the conditional expectation with respect
28
28
to `m`.
29
29
@@ -77,32 +77,31 @@ theorem measurable_condDistrib (hs : MeasurableSet s) :
77
77
#align probability_theory.measurable_cond_distrib ProbabilityTheory.measurable_condDistrib
78
78
79
79
theorem _root_.MeasureTheory.AEStronglyMeasurable.ae_integrable_condDistrib_map_iff
80
- (hX : AEMeasurable X μ) (hY : AEMeasurable Y μ)
81
- (hf : AEStronglyMeasurable f (μ.map fun a => (X a, Y a))) :
80
+ (hY : AEMeasurable Y μ) (hf : AEStronglyMeasurable f (μ.map fun a => (X a, Y a))) :
82
81
(∀ᵐ a ∂μ.map X, Integrable (fun ω => f (a, ω)) (condDistrib Y X μ a)) ∧
83
82
Integrable (fun a => ∫ ω, ‖f (a, ω)‖ ∂condDistrib Y X μ a) (μ.map X) ↔
84
83
Integrable f (μ.map fun a => (X a, Y a)) := by
85
- rw [condDistrib, ← hf.ae_integrable_condKernel_iff, Measure.fst_map_prod_mk₀ hX hY]
84
+ rw [condDistrib, ← hf.ae_integrable_condKernel_iff, Measure.fst_map_prod_mk₀ hY]
86
85
#align measure_theory.ae_strongly_measurable.ae_integrable_cond_distrib_map_iff MeasureTheory.AEStronglyMeasurable.ae_integrable_condDistrib_map_iff
87
86
88
87
variable [NormedSpace ℝ F] [CompleteSpace F]
89
88
90
- theorem _root_.MeasureTheory.AEStronglyMeasurable.integral_condDistrib_map (hX : AEMeasurable X μ)
89
+ theorem _root_.MeasureTheory.AEStronglyMeasurable.integral_condDistrib_map
91
90
(hY : AEMeasurable Y μ) (hf : AEStronglyMeasurable f (μ.map fun a => (X a, Y a))) :
92
91
AEStronglyMeasurable (fun x => ∫ y, f (x, y) ∂condDistrib Y X μ x) (μ.map X) := by
93
- rw [← Measure.fst_map_prod_mk₀ hX hY, condDistrib]; exact hf.integral_condKernel
92
+ rw [← Measure.fst_map_prod_mk₀ hY, condDistrib]; exact hf.integral_condKernel
94
93
#align measure_theory.ae_strongly_measurable.integral_cond_distrib_map MeasureTheory.AEStronglyMeasurable.integral_condDistrib_map
95
94
96
95
theorem _root_.MeasureTheory.AEStronglyMeasurable.integral_condDistrib (hX : AEMeasurable X μ)
97
96
(hY : AEMeasurable Y μ) (hf : AEStronglyMeasurable f (μ.map fun a => (X a, Y a))) :
98
97
AEStronglyMeasurable (fun a => ∫ y, f (X a, y) ∂condDistrib Y X μ (X a)) μ :=
99
- (hf.integral_condDistrib_map hX hY).comp_aemeasurable hX
98
+ (hf.integral_condDistrib_map hY).comp_aemeasurable hX
100
99
#align measure_theory.ae_strongly_measurable.integral_cond_distrib MeasureTheory.AEStronglyMeasurable.integral_condDistrib
101
100
102
101
theorem aestronglyMeasurable'_integral_condDistrib (hX : AEMeasurable X μ) (hY : AEMeasurable Y μ)
103
102
(hf : AEStronglyMeasurable f (μ.map fun a => (X a, Y a))) :
104
103
AEStronglyMeasurable' (mβ.comap X) (fun a => ∫ y, f (X a, y) ∂condDistrib Y X μ (X a)) μ :=
105
- (hf.integral_condDistrib_map hX hY).comp_ae_measurable' hX
104
+ (hf.integral_condDistrib_map hY).comp_ae_measurable' hX
106
105
#align probability_theory.ae_strongly_measurable'_integral_cond_distrib ProbabilityTheory.aestronglyMeasurable'_integral_condDistrib
107
106
108
107
end Measurability
@@ -120,55 +119,55 @@ theorem integrable_toReal_condDistrib (hX : AEMeasurable X μ) (hs : MeasurableS
120
119
_ < ∞ := measure_lt_top _ _
121
120
#align probability_theory.integrable_to_real_cond_distrib ProbabilityTheory.integrable_toReal_condDistrib
122
121
123
- theorem _root_.MeasureTheory.Integrable.condDistrib_ae_map (hX : AEMeasurable X μ)
122
+ theorem _root_.MeasureTheory.Integrable.condDistrib_ae_map
124
123
(hY : AEMeasurable Y μ) (hf_int : Integrable f (μ.map fun a => (X a, Y a))) :
125
124
∀ᵐ b ∂μ.map X, Integrable (fun ω => f (b, ω)) (condDistrib Y X μ b) := by
126
- rw [condDistrib, ← Measure.fst_map_prod_mk₀ hX hY]; exact hf_int.condKernel_ae
125
+ rw [condDistrib, ← Measure.fst_map_prod_mk₀ (X := X) hY]; exact hf_int.condKernel_ae
127
126
#align measure_theory.integrable.cond_distrib_ae_map MeasureTheory.Integrable.condDistrib_ae_map
128
127
129
128
theorem _root_.MeasureTheory.Integrable.condDistrib_ae (hX : AEMeasurable X μ)
130
129
(hY : AEMeasurable Y μ) (hf_int : Integrable f (μ.map fun a => (X a, Y a))) :
131
130
∀ᵐ a ∂μ, Integrable (fun ω => f (X a, ω)) (condDistrib Y X μ (X a)) :=
132
- ae_of_ae_map hX (hf_int.condDistrib_ae_map hX hY)
131
+ ae_of_ae_map hX (hf_int.condDistrib_ae_map hY)
133
132
#align measure_theory.integrable.cond_distrib_ae MeasureTheory.Integrable.condDistrib_ae
134
133
135
- theorem _root_.MeasureTheory.Integrable.integral_norm_condDistrib_map (hX : AEMeasurable X μ)
134
+ theorem _root_.MeasureTheory.Integrable.integral_norm_condDistrib_map
136
135
(hY : AEMeasurable Y μ) (hf_int : Integrable f (μ.map fun a => (X a, Y a))) :
137
136
Integrable (fun x => ∫ y, ‖f (x, y)‖ ∂condDistrib Y X μ x) (μ.map X) := by
138
- rw [condDistrib, ← Measure.fst_map_prod_mk₀ hX hY]; exact hf_int.integral_norm_condKernel
137
+ rw [condDistrib, ← Measure.fst_map_prod_mk₀ (X := X) hY]; exact hf_int.integral_norm_condKernel
139
138
#align measure_theory.integrable.integral_norm_cond_distrib_map MeasureTheory.Integrable.integral_norm_condDistrib_map
140
139
141
140
theorem _root_.MeasureTheory.Integrable.integral_norm_condDistrib (hX : AEMeasurable X μ)
142
141
(hY : AEMeasurable Y μ) (hf_int : Integrable f (μ.map fun a => (X a, Y a))) :
143
142
Integrable (fun a => ∫ y, ‖f (X a, y)‖ ∂condDistrib Y X μ (X a)) μ :=
144
- (hf_int.integral_norm_condDistrib_map hX hY).comp_aemeasurable hX
143
+ (hf_int.integral_norm_condDistrib_map hY).comp_aemeasurable hX
145
144
#align measure_theory.integrable.integral_norm_cond_distrib MeasureTheory.Integrable.integral_norm_condDistrib
146
145
147
146
variable [NormedSpace ℝ F] [CompleteSpace F]
148
147
149
- theorem _root_.MeasureTheory.Integrable.norm_integral_condDistrib_map (hX : AEMeasurable X μ)
148
+ theorem _root_.MeasureTheory.Integrable.norm_integral_condDistrib_map
150
149
(hY : AEMeasurable Y μ) (hf_int : Integrable f (μ.map fun a => (X a, Y a))) :
151
150
Integrable (fun x => ‖∫ y, f (x, y) ∂condDistrib Y X μ x‖) (μ.map X) := by
152
- rw [condDistrib, ← Measure.fst_map_prod_mk₀ hX hY]; exact hf_int.norm_integral_condKernel
151
+ rw [condDistrib, ← Measure.fst_map_prod_mk₀ (X := X) hY]; exact hf_int.norm_integral_condKernel
153
152
#align measure_theory.integrable.norm_integral_cond_distrib_map MeasureTheory.Integrable.norm_integral_condDistrib_map
154
153
155
154
theorem _root_.MeasureTheory.Integrable.norm_integral_condDistrib (hX : AEMeasurable X μ)
156
155
(hY : AEMeasurable Y μ) (hf_int : Integrable f (μ.map fun a => (X a, Y a))) :
157
156
Integrable (fun a => ‖∫ y, f (X a, y) ∂condDistrib Y X μ (X a)‖) μ :=
158
- (hf_int.norm_integral_condDistrib_map hX hY).comp_aemeasurable hX
157
+ (hf_int.norm_integral_condDistrib_map hY).comp_aemeasurable hX
159
158
#align measure_theory.integrable.norm_integral_cond_distrib MeasureTheory.Integrable.norm_integral_condDistrib
160
159
161
- theorem _root_.MeasureTheory.Integrable.integral_condDistrib_map (hX : AEMeasurable X μ)
160
+ theorem _root_.MeasureTheory.Integrable.integral_condDistrib_map
162
161
(hY : AEMeasurable Y μ) (hf_int : Integrable f (μ.map fun a => (X a, Y a))) :
163
162
Integrable (fun x => ∫ y, f (x, y) ∂condDistrib Y X μ x) (μ.map X) :=
164
- (integrable_norm_iff (hf_int.1 .integral_condDistrib_map hX hY)).mp
165
- (hf_int.norm_integral_condDistrib_map hX hY)
163
+ (integrable_norm_iff (hf_int.1 .integral_condDistrib_map hY)).mp
164
+ (hf_int.norm_integral_condDistrib_map hY)
166
165
#align measure_theory.integrable.integral_cond_distrib_map MeasureTheory.Integrable.integral_condDistrib_map
167
166
168
167
theorem _root_.MeasureTheory.Integrable.integral_condDistrib (hX : AEMeasurable X μ)
169
168
(hY : AEMeasurable Y μ) (hf_int : Integrable f (μ.map fun a => (X a, Y a))) :
170
169
Integrable (fun a => ∫ y, f (X a, y) ∂condDistrib Y X μ (X a)) μ :=
171
- (hf_int.integral_condDistrib_map hX hY).comp_aemeasurable hX
170
+ (hf_int.integral_condDistrib_map hY).comp_aemeasurable hX
172
171
#align measure_theory.integrable.integral_cond_distrib MeasureTheory.Integrable.integral_condDistrib
173
172
174
173
end Integrability
@@ -180,7 +179,7 @@ theorem set_lintegral_preimage_condDistrib (hX : Measurable X) (hY : AEMeasurabl
180
179
-- (`rw` does not see that the two forms are defeq)
181
180
conv_lhs => arg 2 ; change (fun a => ((condDistrib Y X μ) a) s) ∘ X
182
181
rw [lintegral_comp (kernel.measurable_coe _ hs) hX, condDistrib, ← Measure.restrict_map hX ht, ←
183
- Measure.fst_map_prod_mk₀ hX.aemeasurable hY, set_lintegral_condKernel_eq_measure_prod _ ht hs,
182
+ Measure.fst_map_prod_mk₀ hY, set_lintegral_condKernel_eq_measure_prod _ ht hs,
184
183
Measure.map_apply_of_aemeasurable (hX.aemeasurable.prod_mk hY) (ht.prod hs), mk_preimage_prod]
185
184
#align probability_theory.set_lintegral_preimage_cond_distrib ProbabilityTheory.set_lintegral_preimage_condDistrib
186
185
@@ -224,8 +223,8 @@ theorem condexp_prod_ae_eq_integral_condDistrib' [NormedSpace ℝ F] [CompleteSp
224
223
rw [← integral_map hX.aemeasurable (f := fun x' => ∫ y, f (x', y) ∂(condDistrib Y X μ) x')]
225
224
swap
226
225
· rw [← Measure.restrict_map hX ht]
227
- exact (hf_int.1 .integral_condDistrib_map hX.aemeasurable hY).restrict
228
- rw [← Measure.restrict_map hX ht, ← Measure.fst_map_prod_mk₀ hX.aemeasurable hY, condDistrib,
226
+ exact (hf_int.1 .integral_condDistrib_map hY).restrict
227
+ rw [← Measure.restrict_map hX ht, ← Measure.fst_map_prod_mk₀ hY, condDistrib,
229
228
set_integral_condKernel_univ_right ht hf_int.integrableOn,
230
229
set_integral_map (ht.prod MeasurableSet.univ) hf_int.1 (hX.aemeasurable.prod_mk hY),
231
230
mk_preimage_prod, preimage_univ, inter_univ]
@@ -271,8 +270,10 @@ theorem condexp_ae_eq_integral_condDistrib' {Ω} [NormedAddCommGroup Ω] [Normed
271
270
condexp_ae_eq_integral_condDistrib hX hY_int.1 .aemeasurable stronglyMeasurable_id hY_int
272
271
#align probability_theory.condexp_ae_eq_integral_cond_distrib' ProbabilityTheory.condexp_ae_eq_integral_condDistrib'
273
272
274
- theorem _root_.MeasureTheory.AEStronglyMeasurable.comp_snd_map_prod_mk {Ω F} {mΩ: MeasurableSpace Ω}
275
- {X : Ω → β} {μ : Measure Ω} [TopologicalSpace F] (hX : Measurable X) {f : Ω → F}
273
+ open MeasureTheory
274
+
275
+ theorem _root_.MeasureTheory.AEStronglyMeasurable.comp_snd_map_prod_mk
276
+ {Ω F} {mΩ : MeasurableSpace Ω} (X : Ω → β) {μ : Measure Ω} [TopologicalSpace F] {f : Ω → F}
276
277
(hf : AEStronglyMeasurable f μ) :
277
278
AEStronglyMeasurable (fun x : β × Ω => f x.2 ) (μ.map fun ω => (X ω, ω)) := by
278
279
refine' ⟨fun x => hf.mk f x.2 , hf.stronglyMeasurable_mk.comp_measurable measurable_snd, _⟩
@@ -281,39 +282,47 @@ theorem _root_.MeasureTheory.AEStronglyMeasurable.comp_snd_map_prod_mk {Ω F} {m
281
282
refine' ⟨measurable_snd, Measure.AbsolutelyContinuous.mk fun s hs hμs => _⟩
282
283
rw [Measure.map_apply _ hs]
283
284
swap; · exact measurable_snd
284
- rw [Measure.map_apply]
285
- · rw [← univ_prod, mk_preimage_prod, preimage_univ, univ_inter, preimage_id']
286
- exact hμs
287
- · exact hX.prod_mk measurable_id
288
- · exact measurable_snd hs
285
+ by_cases hX : AEMeasurable X μ
286
+ · rw [Measure.map_apply_of_aemeasurable]
287
+ · rw [← univ_prod, mk_preimage_prod, preimage_univ, univ_inter, preimage_id']
288
+ exact hμs
289
+ · exact hX.prod_mk aemeasurable_id
290
+ · exact measurable_snd hs
291
+ · rw [Measure.map_of_not_aemeasurable]
292
+ · simp
293
+ · contrapose! hX; exact measurable_fst.comp_aemeasurable hX
289
294
#align measure_theory.ae_strongly_measurable.comp_snd_map_prod_mk MeasureTheory.AEStronglyMeasurable.comp_snd_map_prod_mk
290
295
291
- theorem _root_.MeasureTheory.Integrable.comp_snd_map_prod_mk {Ω} {mΩ : MeasurableSpace Ω} {X: Ω → β}
292
- {μ : Measure Ω} (hX : Measurable X) {f : Ω → F} (hf_int : Integrable f μ) :
296
+ theorem _root_.MeasureTheory.Integrable.comp_snd_map_prod_mk
297
+ {Ω} {mΩ : MeasurableSpace Ω} (X : Ω → β) {μ : Measure Ω} {f : Ω → F} (hf_int : Integrable f μ) :
293
298
Integrable (fun x : β × Ω => f x.2 ) (μ.map fun ω => (X ω, ω)) := by
294
- have hf := hf_int.1 .comp_snd_map_prod_mk hX
295
- refine' ⟨hf, _⟩
296
- rw [HasFiniteIntegral, lintegral_map' hf.ennnorm (hX.prod_mk measurable_id).aemeasurable]
297
- exact hf_int.2
299
+ by_cases hX : AEMeasurable X μ
300
+ · have hf := hf_int.1 .comp_snd_map_prod_mk X (mΩ := mΩ) (mβ := mβ)
301
+ refine' ⟨hf, _⟩
302
+ rw [HasFiniteIntegral, lintegral_map' hf.ennnorm (hX.prod_mk aemeasurable_id)]
303
+ exact hf_int.2
304
+ · rw [Measure.map_of_not_aemeasurable]
305
+ · simp
306
+ · contrapose! hX; exact measurable_fst.comp_aemeasurable hX
298
307
#align measure_theory.integrable.comp_snd_map_prod_mk MeasureTheory.Integrable.comp_snd_map_prod_mk
299
308
300
309
theorem aestronglyMeasurable_comp_snd_map_prod_mk_iff {Ω F} {_ : MeasurableSpace Ω}
301
310
[TopologicalSpace F] {X : Ω → β} {μ : Measure Ω} (hX : Measurable X) {f : Ω → F} :
302
311
AEStronglyMeasurable (fun x : β × Ω => f x.2 ) (μ.map fun ω => (X ω, ω)) ↔
303
312
AEStronglyMeasurable f μ :=
304
- ⟨fun h => h.comp_measurable (hX.prod_mk measurable_id), fun h => h.comp_snd_map_prod_mk hX ⟩
313
+ ⟨fun h => h.comp_measurable (hX.prod_mk measurable_id), fun h => h.comp_snd_map_prod_mk X ⟩
305
314
#align probability_theory.ae_strongly_measurable_comp_snd_map_prod_mk_iff ProbabilityTheory.aestronglyMeasurable_comp_snd_map_prod_mk_iff
306
315
307
316
theorem integrable_comp_snd_map_prod_mk_iff {Ω} {_ : MeasurableSpace Ω} {X : Ω → β} {μ : Measure Ω}
308
317
(hX : Measurable X) {f : Ω → F} :
309
318
Integrable (fun x : β × Ω => f x.2 ) (μ.map fun ω => (X ω, ω)) ↔ Integrable f μ :=
310
- ⟨fun h => h.comp_measurable (hX.prod_mk measurable_id), fun h => h.comp_snd_map_prod_mk hX ⟩
319
+ ⟨fun h => h.comp_measurable (hX.prod_mk measurable_id), fun h => h.comp_snd_map_prod_mk X ⟩
311
320
#align probability_theory.integrable_comp_snd_map_prod_mk_iff ProbabilityTheory.integrable_comp_snd_map_prod_mk_iff
312
321
313
322
theorem condexp_ae_eq_integral_condDistrib_id [NormedSpace ℝ F] [CompleteSpace F] {X : Ω → β}
314
323
{μ : Measure Ω} [IsFiniteMeasure μ] (hX : Measurable X) {f : Ω → F} (hf_int : Integrable f μ) :
315
324
μ[f|mβ.comap X] =ᵐ[μ] fun a => ∫ y, f y ∂condDistrib id X μ (X a) :=
316
- condexp_prod_ae_eq_integral_condDistrib' hX aemeasurable_id (hf_int.comp_snd_map_prod_mk hX )
325
+ condexp_prod_ae_eq_integral_condDistrib' hX aemeasurable_id (hf_int.comp_snd_map_prod_mk X )
317
326
#align probability_theory.condexp_ae_eq_integral_cond_distrib_id ProbabilityTheory.condexp_ae_eq_integral_condDistrib_id
318
327
319
328
end ProbabilityTheory
0 commit comments