Skip to content

Commit bcecc98

Browse files
committed
wip
1 parent 86f90f9 commit bcecc98

1 file changed

Lines changed: 23 additions & 17 deletions

File tree

  • theories/lebesgue_integral_theory

theories/lebesgue_integral_theory/giry.v

Lines changed: 23 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -573,6 +573,12 @@ Context {d1} {d2} {X : measurableType d1} {Y : measurableType d2}
573573
{R : realType}.
574574
Variables (f : {mfun X >-> X'}) (g : {mfun Y >-> Y'}).
575575

576+
Lemma measurable3 : @measurable _ (X * (Y * Y'))%type =
577+
<<s [set uvw : set (X * (Y * Y')%type) |
578+
exists U V W, [/\ measurable U, measurable V, measurable W & uvw = U `*` (V `*` W)] ] >>.
579+
Proof.
580+
Abort.
581+
576582
Lemma giry_monoidal_left (x : unit * giry Y R) :
577583
(giry_map snd \o (giry_prod \o (giry_ret \X id))) x ≡μ snd x.
578584
Proof.
@@ -613,25 +619,19 @@ Lemma monoidal_join (c : giry (giry X R) R * giry (giry Y R) R) :
613619
Proof.
614620
case: c => a b.
615621
move=> U mU.
616-
rewrite /giry_prod /giry_join /giry_join.
622+
rewrite /giry_prod /giry_join /giry_join. (* NB: don't /= here*)
617623
apply: product_measure_unique => //= A B mA mB.
618-
rewrite /giry_int.
619-
rewrite /giry_map.
620-
rewrite ge0_integral_pushforward//=; last first.
624+
rewrite /giry_int /giry_map ge0_integral_pushforward//=; last first.
621625
apply: measurable_giry_ev.
622626
exact: measurableX.
623627
rewrite fubini_tonelli1//; last first.
624628
have mAB : measurable (A `*` B) by apply: measurableX.
625-
rewrite [X in measurable_fun _ X](_ : _ = (@mgiry_ev _ _ R _ mAB \o giry_prod)); last first.
626-
done.
627-
by apply: measurableT_comp => //=.
629+
by rewrite [X in measurable_fun _ X](_ : _ = @mgiry_ev _ _ R _ mAB \o giry_prod).
628630
rewrite -ge0_integralZr//; last 2 first.
629-
by apply: measurable_giry_ev.
630-
by apply: integral_ge0 => x _.
631+
exact: measurable_giry_ev.
632+
exact: integral_ge0.
631633
apply: eq_integral => /= x _.
632-
rewrite /fubini_F/=.
633-
rewrite -ge0_integralZl//; last first.
634-
by apply: measurable_giry_ev.
634+
rewrite /fubini_F/= -ge0_integralZl//; last exact: measurable_giry_ev.
635635
apply: eq_integral => /= y _.
636636
by rewrite product_measure1E.
637637
Qed.
@@ -667,17 +667,23 @@ Admitted.
667667
HB.instance Definition _ xyz U1 := isMeasure.Build _ _ _ (m2 xyz U1)
668668
(m2_measure0 xyz U1) (m2_measure_ge0 xyz U1) (@m2_measure_semi_sigma_additive xyz U1).*)
669669

670-
671670
Lemma giry_monoidal_assoc (xyz : (giry X R * giry Y R) * giry Y' R) :
672671
(giry_prod \o (id \X giry_prod) \o prodA) xyz ≡μ
673672
(giry_map prodA \o giry_prod \o (giry_prod \X id)) xyz.
674673
Proof.
674+
move: xyz => [[x y] z].
675675
move=> U mU.
676676
apply: product_measure_unique => // U1 U2 mU1 mU2.
677-
rewrite /giry_prod /prodA /pushforward.
678-
rewrite /preimage.
679-
rewrite /pushforward/=.
680-
rewrite -[RHS](product_measure1E xyz.1.1 (* TODO: pbm *)(product_subprobability (xyz.1.2, xyz.2)))//.
677+
rewrite /giry_prod /prodA.
678+
transitivity ((x \x (y \x z)) ((U1 `*` U2))); last first.
679+
by rewrite (@product_measure1E _ _ _ _ _ x (product_subprobability (y, z)))//.
680+
rewrite /=.
681+
apply/esym.
682+
apply: (@product_measure_unique _ _ _ _ _ x (product_subprobability (y, z))) => //=; last first.
683+
exact: measurableX.
684+
move=> A B mA mB.
685+
rewrite /pushforward.
686+
681687
Abort.
682688

683689
End proj_giry_prod.

0 commit comments

Comments
 (0)