Skip to content
This repository was archived by the owner on Jul 24, 2024. It is now read-only.

Commit 28b2a92

Browse files
committed
feat(probability/kernel/measurable_integral): the integral against a kernel is strongly measurable (#18974)
We also rename the measurability lemmas to use the same convention as in the file measure_theory/constructions/prod, which contains very similar lemmas for the integral against a measure (a particular case of what we are proving here).
1 parent a2706b5 commit 28b2a92

3 files changed

Lines changed: 224 additions & 67 deletions

File tree

src/probability/kernel/composition.lean

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ begin
121121
{ intros i,
122122
have hm : measurable_set {p : (α × β) × γ | (p.1.2, p.2) ∈ f i},
123123
from measurable_fst.snd.prod_mk measurable_snd (hf_meas i),
124-
exact ((measurable_prod_mk_mem η hm).comp measurable_prod_mk_left).ae_measurable, },
124+
exact ((measurable_kernel_prod_mk_left hm).comp measurable_prod_mk_left).ae_measurable, },
125125
end
126126

127127
lemma comp_prod_fun_tsum_right (κ : kernel α β) (η : kernel (α × β) γ) [is_s_finite_kernel η]
@@ -136,7 +136,7 @@ begin
136136
rw measure.sum_apply,
137137
exact measurable_prod_mk_left hs, },
138138
rw [this, lintegral_tsum (λ n : ℕ, _)],
139-
exact ((measurable_prod_mk_mem (seq η n) ((measurable_fst.snd.prod_mk measurable_snd) hs)).comp
139+
exact ((measurable_kernel_prod_mk_left ((measurable_fst.snd.prod_mk measurable_snd) hs)).comp
140140
measurable_prod_mk_left).ae_measurable,
141141
end
142142

@@ -163,8 +163,8 @@ begin
163163
have hp_eq_mk : p = (p.fst, p.snd) := prod.mk.eta.symm,
164164
rw [hp_eq_mk, function.uncurry_apply_pair], },
165165
rw this,
166-
exact measurable_prod_mk_mem η (measurable_fst.snd.prod_mk measurable_snd hs), },
167-
exact measurable_lintegral κ h_meas,
166+
exact measurable_kernel_prod_mk_left (measurable_fst.snd.prod_mk measurable_snd hs), },
167+
exact h_meas.lintegral_kernel_prod_right,
168168
end
169169

170170
lemma measurable_comp_prod_fun (κ : kernel α β) [is_s_finite_kernel κ]
@@ -181,8 +181,8 @@ begin
181181
have hp_eq_mk : p = (p.fst, p.snd) := prod.mk.eta.symm,
182182
rw [hp_eq_mk, function.uncurry_apply_pair], },
183183
rw this,
184-
exact measurable_prod_mk_mem (seq η n) (measurable_fst.snd.prod_mk measurable_snd hs), },
185-
exact measurable_lintegral κ h_meas,
184+
exact measurable_kernel_prod_mk_left (measurable_fst.snd.prod_mk measurable_snd hs), },
185+
exact h_meas.lintegral_kernel_prod_right,
186186
end
187187

188188
/-- Composition-Product of kernels. It verifies
@@ -249,7 +249,7 @@ begin
249249
{ ext1 ab, refl, },
250250
rw this,
251251
refine measurable.comp _ measurable_prod_mk_left,
252-
exact (measurable_lintegral η
252+
exact (measurable.lintegral_kernel_prod_right
253253
((simple_func.measurable _).comp (measurable_fst.snd.prod_mk measurable_snd))), },
254254
rw lintegral_supr,
255255
rotate,
@@ -262,8 +262,8 @@ begin
262262
simp only [simple_func.const_zero, simple_func.coe_piecewise, simple_func.coe_const,
263263
simple_func.coe_zero, set.piecewise_eq_indicator, lintegral_indicator_const hs],
264264
rw [comp_prod_apply κ η _ hs, ← lintegral_const_mul c _],
265-
swap, { exact (measurable_prod_mk_mem η ((measurable_fst.snd.prod_mk measurable_snd) hs)).comp
266-
measurable_prod_mk_left, },
265+
swap, { exact (measurable_kernel_prod_mk_left
266+
((measurable_fst.snd.prod_mk measurable_snd) hs)).comp measurable_prod_mk_left, },
267267
congr,
268268
ext1 b,
269269
rw lintegral_indicator_const_comp measurable_prod_mk_left hs,
@@ -658,7 +658,7 @@ lemma comp_assoc {δ : Type*} {mδ : measurable_space δ} (ξ : kernel γ δ) [i
658658
(ξ ∘ₖ η ∘ₖ κ) = ξ ∘ₖ (η ∘ₖ κ) :=
659659
begin
660660
refine ext_fun (λ a f hf, _),
661-
simp_rw [lintegral_comp _ _ _ hf, lintegral_comp _ _ _ (measurable_lintegral' ξ hf)],
661+
simp_rw [lintegral_comp _ _ _ hf, lintegral_comp _ _ _ hf.lintegral_kernel],
662662
end
663663

664664
lemma deterministic_comp_eq_map (hf : measurable f) (κ : kernel α β) [is_s_finite_kernel κ] :

0 commit comments

Comments
 (0)