teorth/PFR
Source indexedlemma · leanprover/lean4:v4.33.0-rc1
ProbabilityTheory.condDistrib_const_unit
PFR.Mathlib.Probability.Kernel.Disintegration · PFR/Mathlib/Probability/Kernel/Disintegration.lean:357 to 379
Mathematical statement
Exact Lean statement
lemma condDistrib_const_unit (hX : Measurable X) (hY : Measurable Y)
(μ : Measure Ω) [IsFiniteMeasure μ] :
Kernel.condKernel (Kernel.const Unit (μ.map (fun ω ↦ (X ω, Y ω))))
=ᵐ[μ.map (fun ω ↦ ((), X ω))] Kernel.prodMkLeft Unit (condDistrib Y X μ)Complete declaration
Lean source
Full Lean sourceLean 4
lemma condDistrib_const_unit (hX : Measurable X) (hY : Measurable Y) (μ : Measure Ω) [IsFiniteMeasure μ] : Kernel.condKernel (Kernel.const Unit (μ.map (fun ω ↦ (X ω, Y ω)))) =ᵐ[μ.map (fun ω ↦ ((), X ω))] Kernel.prodMkLeft Unit (condDistrib Y X μ) := by rw [Filter.EventuallyEq, ae_iff_of_countable] intro x hx have : (fun a ↦ ((), X a)) ⁻¹' {x} = X ⁻¹' {x.2} := by ext ω simp only [Set.mem_preimage, Set.mem_singleton_iff] rw [← Prod.eta x, Prod.mk_inj] simp rw [Measure.map_apply (measurable_const.prodMk hX) (.singleton _), this] at hx ext s hs rw [Kernel.condKernel_apply'] swap · rw [Kernel.const_apply, Measure.map_apply (hX.prodMk hY) (measurable_fst (.singleton _))] exact hx simp_rw [Kernel.const_apply, Measure.map_apply (hX.prodMk hY) (measurable_fst (.singleton _)), Measure.map_apply (hX.prodMk hY) ((measurableSet_singleton _).prod hs)] rw [Kernel.prodMkLeft_apply', condDistrib_apply' hY hX _ _ hx hs] rfl