Skip to content

Commit 03720bd

Browse files
committed
chore(Probability.Kernel): drop AEMeasurable assumptions (#6129)
1 parent 0abcb52 commit 03720bd

File tree

2 files changed

+78
-56
lines changed

2 files changed

+78
-56
lines changed

Mathlib/MeasureTheory/Constructions/Prod/Basic.lean

Lines changed: 29 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -820,6 +820,8 @@ theorem fst_apply {s : Set α} (hs : MeasurableSet s) : ρ.fst s = ρ (Prod.fst
820820
theorem fst_univ : ρ.fst univ = ρ univ := by rw [fst_apply MeasurableSet.univ, preimage_univ]
821821
#align measure_theory.measure.fst_univ MeasureTheory.Measure.fst_univ
822822

823+
@[simp] theorem fst_zero : fst (0 : Measure (α × β)) = 0 := by simp [fst]
824+
823825
instance fst.instIsFiniteMeasure [IsFiniteMeasure ρ] : IsFiniteMeasure ρ.fst := by
824826
rw [fst]
825827
infer_instance
@@ -836,17 +838,21 @@ lemma fst_prod [IsProbabilityMeasure ν] : (μ.prod ν).fst = μ := by
836838
ext1 s hs
837839
rw [fst_apply hs, ← prod_univ, prod_prod, measure_univ, mul_one]
838840

839-
theorem fst_map_prod_mk₀ {X : α → β} {Y : α → γ} {μ : Measure α} (hX : AEMeasurable X μ)
841+
theorem fst_map_prod_mk₀ {X : α → β} {Y : α → γ} {μ : Measure α}
840842
(hY : AEMeasurable Y μ) : (μ.map fun a => (X a, Y a)).fst = μ.map X := by
841-
ext1 s hs
842-
rw [Measure.fst_apply hs, Measure.map_apply_of_aemeasurable (hX.prod_mk hY) (measurable_fst hs),
843-
Measure.map_apply_of_aemeasurable hX hs, ← prod_univ, mk_preimage_prod, preimage_univ,
844-
inter_univ]
843+
by_cases hX : AEMeasurable X μ
844+
· ext1 s hs
845+
rw [Measure.fst_apply hs, Measure.map_apply_of_aemeasurable (hX.prod_mk hY) (measurable_fst hs),
846+
Measure.map_apply_of_aemeasurable hX hs, ← prod_univ, mk_preimage_prod, preimage_univ,
847+
inter_univ]
848+
· have : ¬AEMeasurable (fun x ↦ (X x, Y x)) μ := by
849+
contrapose! hX; exact measurable_fst.comp_aemeasurable hX
850+
simp [map_of_not_aemeasurable, hX, this]
845851
#align measure_theory.measure.fst_map_prod_mk₀ MeasureTheory.Measure.fst_map_prod_mk₀
846852

847-
theorem fst_map_prod_mk {X : α → β} {Y : α → γ} {μ : Measure α} (hX : Measurable X)
853+
theorem fst_map_prod_mk {X : α → β} {Y : α → γ} {μ : Measure α}
848854
(hY : Measurable Y) : (μ.map fun a => (X a, Y a)).fst = μ.map X :=
849-
fst_map_prod_mk₀ hX.aemeasurable hY.aemeasurable
855+
fst_map_prod_mk₀ hY.aemeasurable
850856
#align measure_theory.measure.fst_map_prod_mk MeasureTheory.Measure.fst_map_prod_mk
851857

852858
/-- Marginal measure on `β` obtained from a measure on `ρ` `α × β`, defined by `ρ.map Prod.snd`. -/
@@ -861,6 +867,8 @@ theorem snd_apply {s : Set β} (hs : MeasurableSet s) : ρ.snd s = ρ (Prod.snd
861867
theorem snd_univ : ρ.snd univ = ρ univ := by rw [snd_apply MeasurableSet.univ, preimage_univ]
862868
#align measure_theory.measure.snd_univ MeasureTheory.Measure.snd_univ
863869

870+
@[simp] theorem snd_zero : snd (0 : Measure (α × β)) = 0 := by simp [snd]
871+
864872
instance snd.instIsFiniteMeasure [IsFiniteMeasure ρ] : IsFiniteMeasure ρ.snd := by
865873
rw [snd]
866874
infer_instance
@@ -877,17 +885,22 @@ lemma snd_prod [IsProbabilityMeasure μ] : (μ.prod ν).snd = ν := by
877885
ext1 s hs
878886
rw [snd_apply hs, ← univ_prod, prod_prod, measure_univ, one_mul]
879887

880-
theorem snd_map_prod_mk₀ {X : α → β} {Y : α → γ} {μ : Measure α} (hX : AEMeasurable X μ)
881-
(hY : AEMeasurable Y μ) : (μ.map fun a => (X a, Y a)).snd = μ.map Y := by
882-
ext1 s hs
883-
rw [Measure.snd_apply hs, Measure.map_apply_of_aemeasurable (hX.prod_mk hY) (measurable_snd hs),
884-
Measure.map_apply_of_aemeasurable hY hs, ← univ_prod, mk_preimage_prod, preimage_univ,
885-
univ_inter]
888+
theorem snd_map_prod_mk₀ {X : α → β} {Y : α → γ} {μ : Measure α} (hX : AEMeasurable X μ) :
889+
(μ.map fun a => (X a, Y a)).snd = μ.map Y := by
890+
by_cases hY : AEMeasurable Y μ
891+
· ext1 s hs
892+
rw [Measure.snd_apply hs, Measure.map_apply_of_aemeasurable (hX.prod_mk hY) (measurable_snd hs),
893+
Measure.map_apply_of_aemeasurable hY hs, ← univ_prod, mk_preimage_prod, preimage_univ,
894+
univ_inter]
895+
· have : ¬AEMeasurable (fun x ↦ (X x, Y x)) μ := by
896+
contrapose! hY; exact measurable_snd.comp_aemeasurable hY
897+
simp [map_of_not_aemeasurable, hY, this]
898+
886899
#align measure_theory.measure.snd_map_prod_mk₀ MeasureTheory.Measure.snd_map_prod_mk₀
887900

888-
theorem snd_map_prod_mk {X : α → β} {Y : α → γ} {μ : Measure α} (hX : Measurable X)
889-
(hY : Measurable Y) : (μ.map fun a => (X a, Y a)).snd = μ.map Y :=
890-
snd_map_prod_mk₀ hX.aemeasurable hY.aemeasurable
901+
theorem snd_map_prod_mk {X : α → β} {Y : α → γ} {μ : Measure α} (hX : Measurable X) :
902+
(μ.map fun a => (X a, Y a)).snd = μ.map Y :=
903+
snd_map_prod_mk₀ hX.aemeasurable
891904
#align measure_theory.measure.snd_map_prod_mk MeasureTheory.Measure.snd_map_prod_mk
892905

893906
end Measure

Mathlib/Probability/Kernel/CondDistrib.lean

Lines changed: 49 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ on `s` can prevent us from finding versions of the conditional expectation that
2323
measure. The standard Borel space assumption on `Ω` allows us to do so.
2424
2525
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
2727
conditional distribution defines a kernel associated with the conditional expectation with respect
2828
to `m`.
2929
@@ -77,32 +77,31 @@ theorem measurable_condDistrib (hs : MeasurableSet s) :
7777
#align probability_theory.measurable_cond_distrib ProbabilityTheory.measurable_condDistrib
7878

7979
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))) :
8281
(∀ᵐ a ∂μ.map X, Integrable (fun ω => f (a, ω)) (condDistrib Y X μ a)) ∧
8382
Integrable (fun a => ∫ ω, ‖f (a, ω)‖ ∂condDistrib Y X μ a) (μ.map X) ↔
8483
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]
8685
#align measure_theory.ae_strongly_measurable.ae_integrable_cond_distrib_map_iff MeasureTheory.AEStronglyMeasurable.ae_integrable_condDistrib_map_iff
8786

8887
variable [NormedSpace ℝ F] [CompleteSpace F]
8988

90-
theorem _root_.MeasureTheory.AEStronglyMeasurable.integral_condDistrib_map (hX : AEMeasurable X μ)
89+
theorem _root_.MeasureTheory.AEStronglyMeasurable.integral_condDistrib_map
9190
(hY : AEMeasurable Y μ) (hf : AEStronglyMeasurable f (μ.map fun a => (X a, Y a))) :
9291
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
9493
#align measure_theory.ae_strongly_measurable.integral_cond_distrib_map MeasureTheory.AEStronglyMeasurable.integral_condDistrib_map
9594

9695
theorem _root_.MeasureTheory.AEStronglyMeasurable.integral_condDistrib (hX : AEMeasurable X μ)
9796
(hY : AEMeasurable Y μ) (hf : AEStronglyMeasurable f (μ.map fun a => (X a, Y a))) :
9897
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
10099
#align measure_theory.ae_strongly_measurable.integral_cond_distrib MeasureTheory.AEStronglyMeasurable.integral_condDistrib
101100

102101
theorem aestronglyMeasurable'_integral_condDistrib (hX : AEMeasurable X μ) (hY : AEMeasurable Y μ)
103102
(hf : AEStronglyMeasurable f (μ.map fun a => (X a, Y a))) :
104103
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
106105
#align probability_theory.ae_strongly_measurable'_integral_cond_distrib ProbabilityTheory.aestronglyMeasurable'_integral_condDistrib
107106

108107
end Measurability
@@ -120,55 +119,55 @@ theorem integrable_toReal_condDistrib (hX : AEMeasurable X μ) (hs : MeasurableS
120119
_ < ∞ := measure_lt_top _ _
121120
#align probability_theory.integrable_to_real_cond_distrib ProbabilityTheory.integrable_toReal_condDistrib
122121

123-
theorem _root_.MeasureTheory.Integrable.condDistrib_ae_map (hX : AEMeasurable X μ)
122+
theorem _root_.MeasureTheory.Integrable.condDistrib_ae_map
124123
(hY : AEMeasurable Y μ) (hf_int : Integrable f (μ.map fun a => (X a, Y a))) :
125124
∀ᵐ 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
127126
#align measure_theory.integrable.cond_distrib_ae_map MeasureTheory.Integrable.condDistrib_ae_map
128127

129128
theorem _root_.MeasureTheory.Integrable.condDistrib_ae (hX : AEMeasurable X μ)
130129
(hY : AEMeasurable Y μ) (hf_int : Integrable f (μ.map fun a => (X a, Y a))) :
131130
∀ᵐ 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)
133132
#align measure_theory.integrable.cond_distrib_ae MeasureTheory.Integrable.condDistrib_ae
134133

135-
theorem _root_.MeasureTheory.Integrable.integral_norm_condDistrib_map (hX : AEMeasurable X μ)
134+
theorem _root_.MeasureTheory.Integrable.integral_norm_condDistrib_map
136135
(hY : AEMeasurable Y μ) (hf_int : Integrable f (μ.map fun a => (X a, Y a))) :
137136
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
139138
#align measure_theory.integrable.integral_norm_cond_distrib_map MeasureTheory.Integrable.integral_norm_condDistrib_map
140139

141140
theorem _root_.MeasureTheory.Integrable.integral_norm_condDistrib (hX : AEMeasurable X μ)
142141
(hY : AEMeasurable Y μ) (hf_int : Integrable f (μ.map fun a => (X a, Y a))) :
143142
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
145144
#align measure_theory.integrable.integral_norm_cond_distrib MeasureTheory.Integrable.integral_norm_condDistrib
146145

147146
variable [NormedSpace ℝ F] [CompleteSpace F]
148147

149-
theorem _root_.MeasureTheory.Integrable.norm_integral_condDistrib_map (hX : AEMeasurable X μ)
148+
theorem _root_.MeasureTheory.Integrable.norm_integral_condDistrib_map
150149
(hY : AEMeasurable Y μ) (hf_int : Integrable f (μ.map fun a => (X a, Y a))) :
151150
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
153152
#align measure_theory.integrable.norm_integral_cond_distrib_map MeasureTheory.Integrable.norm_integral_condDistrib_map
154153

155154
theorem _root_.MeasureTheory.Integrable.norm_integral_condDistrib (hX : AEMeasurable X μ)
156155
(hY : AEMeasurable Y μ) (hf_int : Integrable f (μ.map fun a => (X a, Y a))) :
157156
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
159158
#align measure_theory.integrable.norm_integral_cond_distrib MeasureTheory.Integrable.norm_integral_condDistrib
160159

161-
theorem _root_.MeasureTheory.Integrable.integral_condDistrib_map (hX : AEMeasurable X μ)
160+
theorem _root_.MeasureTheory.Integrable.integral_condDistrib_map
162161
(hY : AEMeasurable Y μ) (hf_int : Integrable f (μ.map fun a => (X a, Y a))) :
163162
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)
166165
#align measure_theory.integrable.integral_cond_distrib_map MeasureTheory.Integrable.integral_condDistrib_map
167166

168167
theorem _root_.MeasureTheory.Integrable.integral_condDistrib (hX : AEMeasurable X μ)
169168
(hY : AEMeasurable Y μ) (hf_int : Integrable f (μ.map fun a => (X a, Y a))) :
170169
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
172171
#align measure_theory.integrable.integral_cond_distrib MeasureTheory.Integrable.integral_condDistrib
173172

174173
end Integrability
@@ -180,7 +179,7 @@ theorem set_lintegral_preimage_condDistrib (hX : Measurable X) (hY : AEMeasurabl
180179
-- (`rw` does not see that the two forms are defeq)
181180
conv_lhs => arg 2; change (fun a => ((condDistrib Y X μ) a) s) ∘ X
182181
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,
184183
Measure.map_apply_of_aemeasurable (hX.aemeasurable.prod_mk hY) (ht.prod hs), mk_preimage_prod]
185184
#align probability_theory.set_lintegral_preimage_cond_distrib ProbabilityTheory.set_lintegral_preimage_condDistrib
186185

@@ -224,8 +223,8 @@ theorem condexp_prod_ae_eq_integral_condDistrib' [NormedSpace ℝ F] [CompleteSp
224223
rw [← integral_map hX.aemeasurable (f := fun x' => ∫ y, f (x', y) ∂(condDistrib Y X μ) x')]
225224
swap
226225
· 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,
229228
set_integral_condKernel_univ_right ht hf_int.integrableOn,
230229
set_integral_map (ht.prod MeasurableSet.univ) hf_int.1 (hX.aemeasurable.prod_mk hY),
231230
mk_preimage_prod, preimage_univ, inter_univ]
@@ -271,8 +270,10 @@ theorem condexp_ae_eq_integral_condDistrib' {Ω} [NormedAddCommGroup Ω] [Normed
271270
condexp_ae_eq_integral_condDistrib hX hY_int.1.aemeasurable stronglyMeasurable_id hY_int
272271
#align probability_theory.condexp_ae_eq_integral_cond_distrib' ProbabilityTheory.condexp_ae_eq_integral_condDistrib'
273272

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}
276277
(hf : AEStronglyMeasurable f μ) :
277278
AEStronglyMeasurable (fun x : β × Ω => f x.2) (μ.map fun ω => (X ω, ω)) := by
278279
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
281282
refine' ⟨measurable_snd, Measure.AbsolutelyContinuous.mk fun s hs hμs => _⟩
282283
rw [Measure.map_apply _ hs]
283284
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
289294
#align measure_theory.ae_strongly_measurable.comp_snd_map_prod_mk MeasureTheory.AEStronglyMeasurable.comp_snd_map_prod_mk
290295

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 μ) :
293298
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
298307
#align measure_theory.integrable.comp_snd_map_prod_mk MeasureTheory.Integrable.comp_snd_map_prod_mk
299308

300309
theorem aestronglyMeasurable_comp_snd_map_prod_mk_iff {Ω F} {_ : MeasurableSpace Ω}
301310
[TopologicalSpace F] {X : Ω → β} {μ : Measure Ω} (hX : Measurable X) {f : Ω → F} :
302311
AEStronglyMeasurable (fun x : β × Ω => f x.2) (μ.map fun ω => (X ω, ω)) ↔
303312
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
305314
#align probability_theory.ae_strongly_measurable_comp_snd_map_prod_mk_iff ProbabilityTheory.aestronglyMeasurable_comp_snd_map_prod_mk_iff
306315

307316
theorem integrable_comp_snd_map_prod_mk_iff {Ω} {_ : MeasurableSpace Ω} {X : Ω → β} {μ : Measure Ω}
308317
(hX : Measurable X) {f : Ω → F} :
309318
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
311320
#align probability_theory.integrable_comp_snd_map_prod_mk_iff ProbabilityTheory.integrable_comp_snd_map_prod_mk_iff
312321

313322
theorem condexp_ae_eq_integral_condDistrib_id [NormedSpace ℝ F] [CompleteSpace F] {X : Ω → β}
314323
{μ : Measure Ω} [IsFiniteMeasure μ] (hX : Measurable X) {f : Ω → F} (hf_int : Integrable f μ) :
315324
μ[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)
317326
#align probability_theory.condexp_ae_eq_integral_cond_distrib_id ProbabilityTheory.condexp_ae_eq_integral_condDistrib_id
318327

319328
end ProbabilityTheory

0 commit comments

Comments
 (0)