Skip to main content
teorth/PFR
Source indexedlemma · leanprover/lean4:v4.33.0-rc1

ProbabilityTheory.swap_condDistrib_ae_eq

PFR.Mathlib.Probability.Kernel.Disintegration · PFR/Mathlib/Probability/Kernel/Disintegration.lean:339 to 355

Mathematical statement

Exact Lean statement

lemma swap_condDistrib_ae_eq (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z)
    (μ : Measure Ω) [IsFiniteMeasure μ] :
    Kernel.comap (condDistrib Y (fun a ↦ (X a, Z a)) μ) Prod.swap measurable_swap
      =ᵐ[μ.map (fun ω ↦ (Z ω, X ω))] condDistrib Y (fun ω ↦ (Z ω, X ω)) μ

Complete declaration

Lean source

Canonical source
Full Lean sourceLean 4
lemma swap_condDistrib_ae_eq (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z)    (μ : Measure Ω) [IsFiniteMeasure μ] :    Kernel.comap (condDistrib Y (fun a  (X a, Z a)) μ) Prod.swap measurable_swap      =ᵐ[μ.map (fun ω  (Z ω, X ω))] condDistrib Y (fun ω  (Z ω, X ω)) μ := by  rw [Filter.EventuallyEq, ae_iff_of_countable]  intro x hx  ext A hA  rw [Kernel.comap_apply']  have h_swap : (fun a  (X a, Z a)) ⁻¹' {Prod.swap x} = (fun a  (Z a, X a)) ⁻¹' {x} := by    ext ω    simp only [Set.mem_preimage, Set.mem_singleton_iff]    rw [ Prod.eta x, Prod.swap_prod_mk, Prod.mk_inj, Prod.mk_inj, and_comm]  rw [condDistrib_apply' hY (hX.prodMk hZ) _ _ _ hA]  swap; · rwa [Measure.map_apply (hZ.prodMk hX) (.singleton _),  h_swap] at hx  rw [condDistrib_apply' hY (hZ.prodMk hX) _ _ _ hA]  swap; · rwa [Measure.map_apply (hZ.prodMk hX) (.singleton _)] at hx  rw [h_swap]