Product and composition of kernels #
THIS FILE IS SYNCHRONIZED WITH MATHLIB4. Any changes to this file require a corresponding PR to mathlib4.
We define
- the composition-product
κ ⊗ₖ η
of two s-finite kernelsκ : kernel α β
andη : kernel (α × β) γ
, a kernel fromα
toβ × γ
. - the map and comap of a kernel along a measurable function.
- the composition
η ∘ₖ κ
of kernelsκ : kernel α β
andη : kernel β γ
, kernel fromα
toγ
. - the product
κ ×ₖ η
of s-finite kernelsκ : kernel α β
andη : kernel α γ
, a kernel fromα
toβ × γ
.
A note on names:
The composition-product kernel α β → kernel (α × β) γ → kernel α (β × γ)
is named composition in
[Kal21] and product on the wikipedia article on transition kernels.
Most papers studying categories of kernels call composition the map we call composition. We adopt
that convention because it fits better with the use of the name comp
elsewhere in mathlib.
Main definitions #
Kernels built from other kernels:
comp_prod (κ : kernel α β) (η : kernel (α × β) γ) : kernel α (β × γ)
: composition-product of 2 s-finite kernels. We define a notationκ ⊗ₖ η = comp_prod κ η
.∫⁻ bc, f bc ∂((κ ⊗ₖ η) a) = ∫⁻ b, ∫⁻ c, f (b, c) ∂(η (a, b)) ∂(κ a)
map (κ : kernel α β) (f : β → γ) (hf : measurable f) : kernel α γ
∫⁻ c, g c ∂(map κ f hf a) = ∫⁻ b, g (f b) ∂(κ a)
comap (κ : kernel α β) (f : γ → α) (hf : measurable f) : kernel γ β
∫⁻ b, g b ∂(comap κ f hf c) = ∫⁻ b, g b ∂(κ (f c))
comp (η : kernel β γ) (κ : kernel α β) : kernel α γ
: composition of 2 kernels. We define a notationη ∘ₖ κ = comp η κ
.∫⁻ c, g c ∂((η ∘ₖ κ) a) = ∫⁻ b, ∫⁻ c, g c ∂(η b) ∂(κ a)
prod (κ : kernel α β) (η : kernel α γ) : kernel α (β × γ)
: product of 2 s-finite kernels.∫⁻ bc, f bc ∂((κ ×ₖ η) a) = ∫⁻ b, ∫⁻ c, f (b, c) ∂(η a) ∂(κ a)
Main statements #
lintegral_comp_prod
,lintegral_map
,lintegral_comap
,lintegral_comp
,lintegral_prod
: Lebesgue integral of a function against a composition-product/map/comap/composition/product of kernels.- Instances of the form
<class>.<operation>
where class is one ofis_markov_kernel
,is_finite_kernel
,is_s_finite_kernel
and operation is one ofcomp_prod
,map
,comap
,comp
,prod
. These instances state that the three classes are stable by the various operations.
Notations #
κ ⊗ₖ η = probability_theory.kernel.comp_prod κ η
η ∘ₖ κ = probability_theory.kernel.comp η κ
κ ×ₖ η = probability_theory.kernel.prod κ η
Composition-Product of kernels #
We define a kernel composition-product
comp_prod : kernel α β → kernel (α × β) γ → kernel α (β × γ)
.
Auxiliary function for the definition of the composition-product of two kernels.
For all a : α
, comp_prod_fun κ η a
is a countably additive function with value zero on the empty
set, and the composition-product of kernels is defined in kernel.comp_prod
through
measure.of_measurable
.
Auxiliary lemma for measurable_comp_prod_fun
.
Composition-Product of kernels. It verifies
∫⁻ bc, f bc ∂(comp_prod κ η a) = ∫⁻ b, ∫⁻ c, f (b, c) ∂(η (a, b)) ∂(κ a)
(see lintegral_comp_prod
).
Equations
- probability_theory.kernel.comp_prod κ η = ⟨λ (a : α), measure_theory.measure.of_measurable (λ (s : set (β × γ)) (hs : measurable_set s), probability_theory.kernel.comp_prod_fun κ η a s) _ _, _⟩
Instances for probability_theory.kernel.comp_prod
ae
filter of the composition-product #
Lebesgue integral #
Lebesgue integral against the composition-product of two kernels.
Lebesgue integral against the composition-product of two kernels.
Lebesgue integral against the composition-product of two kernels.
map, comap #
The pushforward of a kernel along a measurable function.
We include measurability in the assumptions instead of using junk values
to make sure that typeclass inference can infer that the map
of a Markov kernel
is again a Markov kernel.
Equations
- probability_theory.kernel.map κ f hf = ⟨λ (a : α), measure_theory.measure.map f (⇑κ a), _⟩
Instances for probability_theory.kernel.map
Pullback of a kernel, such that for each set s comap κ g hg c s = κ (g c) s
.
We include measurability in the assumptions instead of using junk values
to make sure that typeclass inference can infer that the comap
of a Markov kernel
is again a Markov kernel.
Equations
- probability_theory.kernel.comap κ g hg = ⟨λ (a : γ), ⇑κ (g a), _⟩
Instances for probability_theory.kernel.comap
Define a kernel (γ × α) β
from a kernel α β
by taking the comap of the projection.
Equations
Instances for probability_theory.kernel.prod_mk_left
Define a kernel (β × α) γ
from a kernel (α × β) γ
by taking the comap of prod.swap
.
Equations
Instances for probability_theory.kernel.swap_left
Define a kernel α (γ × β)
from a kernel α (β × γ)
by taking the map of prod.swap
.
Equations
Instances for probability_theory.kernel.swap_right
Define a kernel α β
from a kernel α (β × γ)
by taking the map of the first projection.
Instances for probability_theory.kernel.fst
Define a kernel α γ
from a kernel α (β × γ)
by taking the map of the second projection.
Instances for probability_theory.kernel.snd
Composition of two kernels #
Composition of two s-finite kernels.
Instances for probability_theory.kernel.comp
Composition of kernels is associative.
Product of two kernels #
Product of two s-finite kernels.