Skip to content

Commit 2ec2c21

Browse files
committed
measurable_fun_mnormalize
1 parent 138be1c commit 2ec2c21

File tree

2 files changed

+32
-0
lines changed

2 files changed

+32
-0
lines changed

CHANGELOG_UNRELEASED.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
`measurable_fun_kcomp_finite`, `mkcomp_sfinite`,
2121
`measurable_fun_mkcomp_sfinite`, `measurable_fun_preimage_integral`,
2222
`measurable_fun_integral_kernel`, and `integral_kcomp`.
23+
+ lemma `measurable_fun_mnormalize`
2324

2425
### Changed
2526

theories/kernel.v

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -766,6 +766,37 @@ HB.instance Definition _ x :=
766766

767767
End mnormalize.
768768

769+
Lemma measurable_fun_mnormalize d d' (X : measurableType d) (Y : measurableType d')
770+
(R : realType) (k : R.-sfker X ~> Y) :
771+
measurable_fun setT (fun x => mnormalize k point x : pprobability Y R).
772+
Proof.
773+
apply: (@measurability _ _ _ _ _ _
774+
(@pset _ _ _ : set (set (pprobability Y R)))) => //.
775+
move=> _ -[_ [r r01] [Ys mYs <-]] <-.
776+
rewrite /mnormalize /mset /preimage/=.
777+
apply: emeasurable_fun_infty_o => //.
778+
rewrite /mnormalize/=.
779+
rewrite (_ : (fun x => _) = (fun x => if (k x setT == 0) || (k x setT == +oo)
780+
then \d_point Ys else k x Ys * ((fine (k x setT))^-1)%:E)); last first.
781+
by apply/funext => x/=; case: ifPn.
782+
apply: measurable_fun_if => //.
783+
- apply: (measurable_fun_bool true) => //.
784+
rewrite (_ : _ @^-1` _ = [set t | k t setT == 0] `|`
785+
[set t | k t setT == +oo]); last first.
786+
by apply/seteqP; split=> x /= /orP//.
787+
by apply: measurableU; exact: kernel_measurable_eq_cst.
788+
- exact: measurable_fun_cst.
789+
- apply/emeasurable_funM; first exact/measurable_funTS/measurable_kernel.
790+
apply/EFin_measurable_fun; rewrite setTI.
791+
apply: (@measurable_fun_comp _ _ _ _ _ _ [set r : R | r != 0%R]).
792+
+ exact: open_measurable.
793+
+ by move=> /= _ [x /norP[s0 soo]] <-; rewrite -eqe fineK ?ge0_fin_numE ?ltey.
794+
+ apply: open_continuous_measurable_fun => //; apply/in_setP => x /= x0.
795+
exact: inv_continuous.
796+
+ apply: measurable_funT_comp; last exact/measurable_funS/measurable_kernel.
797+
exact: measurable_fun_fine.
798+
Qed.
799+
769800
Section knormalize.
770801
Context d d' (X : measurableType d) (Y : measurableType d') (R : realType).
771802
Variable f : R.-ker X ~> Y.

0 commit comments

Comments
 (0)