@@ -571,24 +571,30 @@ Lemma measurable_fun_integral_finite_kernel (l : R.-fker X ~> Y)
571571 (k0 : forall z, 0 <= k z) (mk : measurable_fun [set: X * Y] k) :
572572 measurable_fun [set: X] (fun x => \int[l x]_y k (x, y)).
573573Proof .
574- have [k_ [ndk_ k_k]] := approximation measurableT mk (fun x _ => k0 x).
575- apply: (measurable_fun_xsection_integral ndk_ (k_k ^~ Logic.I)) => n r.
576- have [l_ hl_] := measure_uub l.
577- by apply: measurable_fun_xsection_finite_kernel => // /[!inE].
574+ pose k_ := nnsfun_approx measurableT mk.
575+ apply: (@measurable_fun_xsection_integral _ k_).
576+ - by move=> a b ab; exact/nd_nnsfun_approx.
577+ - by move=> z; exact/cvg_nnsfun_approx.
578+ - move => n r.
579+ have [l_ hl_] := measure_uub l.
580+ by apply: measurable_fun_xsection_finite_kernel => // /[!inE].
578581Qed .
579582
580583Lemma measurable_fun_integral_sfinite_kernel (l : R.-sfker X ~> Y)
581584 (k0 : forall t, 0 <= k t) (mk : measurable_fun [set: X * Y] k) :
582585 measurable_fun [set: X] (fun x => \int[l x]_y k (x, y)).
583586Proof .
584- have [k_ [ndk_ k_k]] := approximation measurableT mk (fun xy _ => k0 xy).
585- apply: (measurable_fun_xsection_integral ndk_ (k_k ^~ Logic.I)) => n r.
586- have [l_ hl_] := sfinite_kernel l.
587- rewrite (_ : (fun x => _) = (fun x =>
588- mseries (l_ ^~ x) 0 (xsection (k_ n @^-1` [set r]) x))); last first.
589- by apply/funext => x; rewrite hl_//; exact/measurable_xsection.
590- apply: ge0_emeasurable_fun_sum => // m _.
591- by apply: measurable_fun_xsection_finite_kernel => // /[!inE].
587+ pose k_ := nnsfun_approx measurableT mk.
588+ apply: (@measurable_fun_xsection_integral _ k_).
589+ - by move=> a b ab; exact/nd_nnsfun_approx.
590+ - by move=> z; exact/cvg_nnsfun_approx.
591+ - move => n r.
592+ have [l_ hl_] := sfinite_kernel l.
593+ rewrite (_ : (fun x => _) = (fun x =>
594+ mseries (l_ ^~ x) 0 (xsection (k_ n @^-1` [set r]) x))); last first.
595+ by apply/funext => x; rewrite hl_//; exact/measurable_xsection.
596+ apply: ge0_emeasurable_fun_sum => // m _.
597+ by apply: measurable_fun_xsection_finite_kernel => // /[!inE].
592598Qed .
593599
594600End measurable_fun_integral_finite_sfinite.
@@ -1007,8 +1013,11 @@ Lemma measurable_fun_integral_kernel
10071013 (k : Y -> \bar R) (k0 : forall z, 0 <= k z) (mk : measurable_fun [set: Y] k) :
10081014 measurable_fun [set: X] (fun x => \int[l x]_y k y).
10091015Proof .
1010- have [k_ [ndk_ k_k]] := approximation measurableT mk (fun x _ => k0 x).
1011- by apply: (measurable_fun_preimage_integral ndk_ k_k) => n r; exact/ml.
1016+ pose k_ := nnsfun_approx measurableT mk.
1017+ apply: (@measurable_fun_preimage_integral _ _ _ _ _ _ k_) => //.
1018+ - by move=> a b ab; exact/nd_nnsfun_approx.
1019+ - by move=> z _; exact/cvg_nnsfun_approx.
1020+ - by move=> n r; exact/ml.
10121021Qed .
10131022
10141023End measurable_fun_integral_kernel.
@@ -1077,13 +1086,13 @@ Lemma integral_kcomp x f : (forall z, 0 <= f z) -> measurable_fun [set: Z] f ->
10771086 \int[kcomp l k x]_z f z = \int[l x]_y (\int[k (x, y)]_z f z).
10781087Proof .
10791088move=> f0 mf.
1080- have [ f_ [ndf_ f_f]] := approximation measurableT mf (fun z _ => f0 z) .
1089+ pose f_ := nnsfun_approx measurableT mf.
10811090transitivity (\int[kcomp l k x]_z (lim ((f_ n z)%:E @[n --> \oo]))).
1082- by apply/eq_integral => z _; apply/esym/cvg_lim => //=; exact: f_f .
1091+ by apply/eq_integral => z _; apply/esym/cvg_lim => //=; exact: cvg_nnsfun_approx .
10831092rewrite monotone_convergence//; last 3 first.
10841093 by move=> n; exact/measurable_EFinP.
10851094 by move=> n z _; rewrite lee_fin.
1086- by move=> z _ a b /ndf_ /lefP ab; rewrite lee_fin.
1095+ by move=> z _ a b ab; rewrite lee_fin; exact/lefP/nd_nnsfun_approx .
10871096rewrite (_ : (fun _ => _) =
10881097 (fun n => \int[l x]_y (\int[k (x, y)]_z (f_ n z)%:E)))//; last first.
10891098 by apply/funext => n; rewrite integral_kcomp_nnsfun.
@@ -1099,12 +1108,12 @@ transitivity (\int[l x]_y lim ((\int[k (x, y)]_z (f_ n z)%:E) @[n --> \oo])).
10991108 + exact/measurable_EFinP.
11001109 + by move=> z _; rewrite lee_fin.
11011110 + exact/measurable_EFinP.
1102- + by move: ab => /ndf_ /lefP ab z _; rewrite lee_fin.
1111+ + by move=> z _; rewrite lee_fin; exact/lefP/nd_nnsfun_approx .
11031112apply: eq_integral => y _; rewrite -monotone_convergence//; last 3 first.
11041113 - by move=> n; exact/measurable_EFinP.
11051114 - by move=> n z _; rewrite lee_fin.
1106- - by move=> z _ a b /ndf_ /lefP ; rewrite lee_fin.
1107- by apply: eq_integral => z _; apply/cvg_lim => //; exact: f_f .
1115+ - by move=> z _ a b ab ; rewrite lee_fin; exact/lefP/nd_nnsfun_approx .
1116+ by apply: eq_integral => z _; apply/cvg_lim => //; exact: cvg_nnsfun_approx .
11081117Qed .
11091118
11101119End integral_kcomp.
0 commit comments