Documentation

PFR.Mathlib.Probability.Kernel.Disintegration

Disintegration of kernels in finite spaces #

We can write κ : Kernel S (T × U) as a composition-product (fst κ) ⊗ₖ (condKernel κ) where fst κ : Kernel S T and condKernel : Kernel (S × T) U is defined in this file.

theorem ProbabilityTheory.Kernel.condKernel_apply {S : Type u_2} {T : Type u_3} {U : Type u_4} [Countable S] [MeasurableSpace S] [DiscreteMeasurableSpace S] [MeasurableSpace T] [MeasurableSpace U] [Countable U] [Nonempty U] [DiscreteMeasurableSpace U] (κ : Kernel T (S × U)) [IsFiniteKernel κ] (x : T × S) (hx : (κ x.1) (Prod.fst ⁻¹' {x.2}) 0) :
κ.condKernel x = (κ x.1).condKernel x.2
theorem ProbabilityTheory.Kernel.condKernel_apply' {S : Type u_2} {T : Type u_3} {U : Type u_4} [Countable S] [MeasurableSpace S] [DiscreteMeasurableSpace S] [MeasurableSpace T] [MeasurableSpace U] [Countable U] [Nonempty U] [DiscreteMeasurableSpace U] (κ : Kernel T (S × U)) [IsFiniteKernel κ] (x : T × S) (hx : (κ x.1) (Prod.fst ⁻¹' {x.2}) 0) (s : Set U) :
(κ.condKernel x) s = ((κ x.1) (Prod.fst ⁻¹' {x.2}))⁻¹ * (κ x.1) ({x.2} ×ˢ s)
theorem ProbabilityTheory.Kernel.condKernel_compProd_apply' {S : Type u_2} {T : Type u_3} {U : Type u_4} [Countable S] [MeasurableSpace S] [DiscreteMeasurableSpace S] [MeasurableSpace T] [MeasurableSpace U] [Countable U] [Nonempty U] [DiscreteMeasurableSpace U] (κ : Kernel T S) [IsFiniteKernel κ] (η : Kernel (T × S) U) [IsMarkovKernel η] (x : T × S) (hx : (κ x.1) {x.2} 0) {s : Set U} (hs : MeasurableSet s) :
((κ.compProd η).condKernel x) s = (η x) s
theorem ProbabilityTheory.Kernel.condKernel_compProd_apply {S : Type u_2} {T : Type u_3} {U : Type u_4} [Countable S] [MeasurableSpace S] [DiscreteMeasurableSpace S] [MeasurableSpace T] [MeasurableSpace U] [Countable U] [Nonempty U] [DiscreteMeasurableSpace U] (κ : Kernel T S) [IsFiniteKernel κ] (η : Kernel (T × S) U) [IsMarkovKernel η] (x : T × S) (hx : (κ x.1) {x.2} 0) :
(κ.compProd η).condKernel x = η x
theorem ProbabilityTheory.condDistrib_apply' {Ω : Type u_1} {S : Type u_2} {T : Type u_3} [ : MeasurableSpace Ω] [Countable S] [MeasurableSpace S] [DiscreteMeasurableSpace S] [MeasurableSpace T] [MeasurableSingletonClass T] {X : ΩS} {Y : ΩT} [Nonempty S] (hX : Measurable X) (hY : Measurable Y) (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsFiniteMeasure μ] (x : T) (hYx : μ (Y ⁻¹' {x}) 0) {s : Set S} (hs : MeasurableSet s) :
((condDistrib X Y μ) x) s = (μ (Y ⁻¹' {x}))⁻¹ * μ (Y ⁻¹' {x} X ⁻¹' s)
theorem ProbabilityTheory.condDistrib_apply {Ω : Type u_1} {S : Type u_2} {T : Type u_3} [ : MeasurableSpace Ω] [Countable S] [MeasurableSpace S] [DiscreteMeasurableSpace S] [MeasurableSpace T] [MeasurableSingletonClass T] {X : ΩS} {Y : ΩT} [Nonempty S] (hX : Measurable X) (hY : Measurable Y) (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsFiniteMeasure μ] (x : T) (hYx : μ (Y ⁻¹' {x}) 0) :
theorem ProbabilityTheory.condDistrib_comp {Ω : Type u_1} {S : Type u_2} {T : Type u_3} {U : Type u_4} [ : MeasurableSpace Ω] [Countable S] [MeasurableSpace S] [DiscreteMeasurableSpace S] [MeasurableSpace T] [MeasurableSpace U] [MeasurableSingletonClass T] [Countable U] [DiscreteMeasurableSpace U] {X : ΩS} {Y : ΩT} [Countable T] [Nonempty S] [Nonempty U] (hX : Measurable X) (hY : Measurable Y) (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsFiniteMeasure μ] (f : SU) :
(condDistrib (f X) Y μ) =ᵐ[MeasureTheory.Measure.map Y μ] ((condDistrib X Y μ).map f)
theorem ProbabilityTheory.condDistrib_fst_of_ne_zero {Ω : Type u_1} {S : Type u_2} {T : Type u_3} {U : Type u_4} [ : MeasurableSpace Ω] [Countable S] [MeasurableSpace S] [DiscreteMeasurableSpace S] [MeasurableSpace T] [MeasurableSpace U] [MeasurableSingletonClass T] [Countable U] [DiscreteMeasurableSpace U] {X : ΩS} {Y : ΩT} {Z : ΩU} [Countable T] [Nonempty T] [Nonempty S] (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsFiniteMeasure μ] (u : U) (hu : μ (Z ⁻¹' {u}) 0) :
(condDistrib (fun (a : Ω) => (X a, Y a)) Z μ).fst u = (condDistrib X Z μ) u
theorem ProbabilityTheory.condDistrib_fst_ae_eq {Ω : Type u_1} {S : Type u_2} {T : Type u_3} {U : Type u_4} [ : MeasurableSpace Ω] [Countable S] [MeasurableSpace S] [DiscreteMeasurableSpace S] [MeasurableSpace T] [MeasurableSpace U] [MeasurableSingletonClass T] [Countable U] [DiscreteMeasurableSpace U] {X : ΩS} {Y : ΩT} {Z : ΩU} [Countable T] [Nonempty T] [Nonempty S] (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsFiniteMeasure μ] :
(condDistrib (fun (a : Ω) => (X a, Y a)) Z μ).fst =ᵐ[MeasureTheory.Measure.map Z μ] (condDistrib X Z μ)
theorem ProbabilityTheory.condDistrib_snd_of_ne_zero {Ω : Type u_1} {S : Type u_2} {T : Type u_3} {U : Type u_4} [ : MeasurableSpace Ω] [Countable S] [MeasurableSpace S] [DiscreteMeasurableSpace S] [MeasurableSpace T] [MeasurableSpace U] [MeasurableSingletonClass T] [Countable U] [DiscreteMeasurableSpace U] {X : ΩS} {Y : ΩT} {Z : ΩU} [Countable T] [Nonempty T] [Nonempty S] (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsFiniteMeasure μ] (u : U) (hu : μ (Z ⁻¹' {u}) 0) :
(condDistrib (fun (a : Ω) => (X a, Y a)) Z μ).snd u = (condDistrib Y Z μ) u
theorem ProbabilityTheory.condDistrib_snd_ae_eq {Ω : Type u_1} {S : Type u_2} {T : Type u_3} {U : Type u_4} [ : MeasurableSpace Ω] [Countable S] [MeasurableSpace S] [DiscreteMeasurableSpace S] [MeasurableSpace T] [MeasurableSpace U] [MeasurableSingletonClass T] [Countable U] [DiscreteMeasurableSpace U] {X : ΩS} {Y : ΩT} {Z : ΩU} [Countable T] [Nonempty T] [Nonempty S] (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsFiniteMeasure μ] :
(condDistrib (fun (a : Ω) => (X a, Y a)) Z μ).snd =ᵐ[MeasureTheory.Measure.map Z μ] (condDistrib Y Z μ)
theorem ProbabilityTheory.condKernel_condDistrib_ae_eq {Ω : Type u_1} {S : Type u_2} {T : Type u_3} {U : Type u_4} [ : MeasurableSpace Ω] [Countable S] [MeasurableSpace S] [DiscreteMeasurableSpace S] [MeasurableSpace T] [MeasurableSpace U] [MeasurableSingletonClass T] [Countable U] [DiscreteMeasurableSpace U] {X : ΩS} {Y : ΩT} {Z : ΩU} [Countable T] [Nonempty T] [Nonempty S] (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsFiniteMeasure μ] :
(condDistrib (fun (a : Ω) => (X a, Y a)) Z μ).condKernel =ᵐ[MeasureTheory.Measure.map (fun (ω : Ω) => (Z ω, X ω)) μ] (condDistrib Y (fun (ω : Ω) => (Z ω, X ω)) μ)
theorem ProbabilityTheory.swap_condDistrib_ae_eq {Ω : Type u_1} {S : Type u_2} {T : Type u_3} {U : Type u_4} [ : MeasurableSpace Ω] [Countable S] [MeasurableSpace S] [DiscreteMeasurableSpace S] [MeasurableSpace T] [MeasurableSpace U] [MeasurableSingletonClass T] [Countable U] [DiscreteMeasurableSpace U] {X : ΩS} {Y : ΩT} {Z : ΩU} [Countable T] [Nonempty T] (hX : Measurable X) (hY : Measurable Y) (hZ : Measurable Z) (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsFiniteMeasure μ] :
((condDistrib Y (fun (a : Ω) => (X a, Z a)) μ).comap Prod.swap ) =ᵐ[MeasureTheory.Measure.map (fun (ω : Ω) => (Z ω, X ω)) μ] (condDistrib Y (fun (ω : Ω) => (Z ω, X ω)) μ)
theorem ProbabilityTheory.condDistrib_const_unit {Ω : Type u_1} {S : Type u_2} {T : Type u_3} [ : MeasurableSpace Ω] [Countable S] [MeasurableSpace S] [DiscreteMeasurableSpace S] [MeasurableSpace T] [MeasurableSingletonClass T] {X : ΩS} {Y : ΩT} [Countable T] [Nonempty T] (hX : Measurable X) (hY : Measurable Y) (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsFiniteMeasure μ] :
(Kernel.const Unit (MeasureTheory.Measure.map (fun (ω : Ω) => (X ω, Y ω)) μ)).condKernel =ᵐ[MeasureTheory.Measure.map (fun (ω : Ω) => ((), X ω)) μ] (Kernel.prodMkLeft Unit (condDistrib Y X μ))
theorem ProbabilityTheory.condDistrib_eq_prod_of_indepFun {Ω : Type u_1} {S : Type u_2} {T : Type u_3} {U : Type u_4} [ : MeasurableSpace Ω] [Countable S] [MeasurableSpace S] [DiscreteMeasurableSpace S] [MeasurableSpace T] [MeasurableSpace U] [MeasurableSingletonClass T] [Countable U] [DiscreteMeasurableSpace U] {X : ΩS} {Y : ΩT} {Z : ΩU} [Countable T] [Nonempty T] {V : Type u_5} [Countable V] [MeasurableSpace V] [MeasurableSingletonClass V] {W : ΩV} [Nonempty S] (hX : Measurable X) (hZ : Measurable Z) (hY : Measurable Y) (hW : Measurable W) (μ : MeasureTheory.Measure Ω) [MeasureTheory.IsProbabilityMeasure μ] (h : IndepFun (fun (ω : Ω) => (X ω, Z ω)) (fun (ω : Ω) => (Y ω, W ω)) μ) :
(condDistrib (fun (ω : Ω) => (X ω, Y ω)) (fun (ω : Ω) => (Z ω, W ω)) μ) =ᵐ[MeasureTheory.Measure.map (fun (ω : Ω) => (Z ω, W ω)) μ] ((Kernel.prodMkRight V (condDistrib X Z μ)).prod (Kernel.prodMkLeft U (condDistrib Y W μ)))
theorem MeasureTheory.Measure.ae_of_compProd_eq_zero {α : Type u_6} {β : Type u_7} { : MeasurableSpace α} { : MeasurableSpace β} {μ : Measure α} [SFinite μ] {κ : ProbabilityTheory.Kernel α β} [ProbabilityTheory.IsSFiniteKernel κ] {s : Set (α × β)} (hs : (μ.compProd κ) s = 0) :
∀ᵐ (a : α) μ, (κ a) (Prod.mk a ⁻¹' s) = 0
theorem MeasureTheory.Measure.ae_of_ae_compProd {α : Type u_6} {β : Type u_7} { : MeasurableSpace α} { : MeasurableSpace β} {μ : Measure α} [SFinite μ] {κ : ProbabilityTheory.Kernel α β} [ProbabilityTheory.IsSFiniteKernel κ] {p : α × βProp} (hp : ∀ᵐ (x : α × β) μ.compProd κ, p x) :
∀ᵐ (a : α) μ, ∀ᵐ (b : β) κ a, p (a, b)
theorem ProbabilityTheory.Kernel.compProd_congr_ae {S : Type u_2} {T : Type u_3} {U : Type u_4} [MeasurableSpace S] [MeasurableSpace T] [MeasurableSpace U] {μ : MeasureTheory.Measure T} [MeasureTheory.SFinite μ] {κ κ' : Kernel T S} [IsSFiniteKernel κ] [IsSFiniteKernel κ'] {η η' : Kernel (T × S) U} [IsSFiniteKernel η] [IsSFiniteKernel η'] ( : κ =ᵐ[μ] κ') ( : η =ᵐ[μ.compProd κ] η') :
(κ.compProd η) =ᵐ[μ] (κ'.compProd η')
noncomputable def ProbabilityTheory.Kernel.FiniteKernelSupport {S : Type u_2} {T : Type u_3} [MeasurableSpace S] [MeasurableSpace T] (κ : Kernel T S) :

The analogue of FiniteSupport for probability kernels.

Equations
Instances For

    A kernel κ has almost everywhere finite support wrt a measure μ if, for almost every point t, then κ t has finite support. Note that we don't require any uniformity wrt t.

    Equations
    Instances For

      The definition doesn't use , but we keep it here still as it doesn't give anything interesting otherwise.

      Equations
      Instances For
        theorem ProbabilityTheory.Kernel.local_support_of_finiteKernelSupport {S : Type u_2} {T : Type u_3} [MeasurableSpace S] [MeasurableSpace T] {κ : Kernel T S} (h : κ.FiniteKernelSupport) (A : Finset T) :
        ∃ (B : Finset S), tA, (κ t) (↑B) = 0

        Finite kernel support locally implies uniform finite kernel support.

        Finite range implies finite kernel support.

        maps preserve finite kernel support.

        theorem ProbabilityTheory.Kernel.FiniteKernelSupport.comap {S : Type u_2} {T : Type u_3} {U : Type u_4} [MeasurableSpace S] [MeasurableSpace T] [MeasurableSpace U] {κ : Kernel T S} ( : κ.FiniteKernelSupport) {f : UT} (hf : Measurable f) :

        comaps preserve finite kernel support.

        Projecting a kernel to first coordinate preserves finite kernel support.

        Projecting a kernel to second coordinate preserves finite kernel support.

        Swapping a kernel right preserves finite kernel support.

        Products preserve finite kernel support.

        Composition-product preserves finite kernel support

        prodMkRight preserves finite kernel support.

        prodMkLeft preserves finite kernel support.