Documentation

Mathlib.Probability.Kernel.Defs

Markov Kernels #

A kernel from a measurable space α to another measurable space β is a measurable map α → MeasureTheory.Measure β, where the measurable space instance on measure β is the one defined in MeasureTheory.Measure.instMeasurableSpace. That is, a kernel κ verifies that for all measurable sets s of β, a ↦ κ a s is measurable.

Main definitions #

Classes of kernels:

Main statements #

structure ProbabilityTheory.Kernel (α : Type u_1) (β : Type u_2) [MeasurableSpace α] [MeasurableSpace β] :
Type (max u_1 u_2)

A kernel from a measurable space α to another measurable space β is a measurable function κ : α → Measure β. The measurable space structure on MeasureTheory.Measure β is given by MeasureTheory.Measure.instMeasurableSpace. A map κ : α → MeasureTheory.Measure β is measurable iff ∀ s : Set β, MeasurableSet s → Measurable (fun a ↦ κ a s).

  • toFun : αMeasureTheory.Measure β

    The underlying function of a kernel.

    Do not use this function directly. Instead use the coercion coming from the DFunLike instance.

  • measurable' : Measurable self.toFun

    A kernel is a measurable map.

    Do not use this lemma directly. Use Kernel.measurable instead.

Instances For
    @[deprecated ProbabilityTheory.Kernel]
    def ProbabilityTheory.kernel (α : Type u_1) (β : Type u_2) [MeasurableSpace α] [MeasurableSpace β] :
    Type (max u_1 u_2)

    Alias of ProbabilityTheory.Kernel.


    A kernel from a measurable space α to another measurable space β is a measurable function κ : α → Measure β. The measurable space structure on MeasureTheory.Measure β is given by MeasureTheory.Measure.instMeasurableSpace. A map κ : α → MeasureTheory.Measure β is measurable iff ∀ s : Set β, MeasurableSet s → Measurable (fun a ↦ κ a s).

    Equations
    Instances For

      Notation for Kernel with respect to a non-standard σ-algebra in the domain.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For

        Notation for Kernel with respect to a non-standard σ-algebra in the domain and codomain.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          Equations
          • ProbabilityTheory.Kernel.instFunLike = { coe := ProbabilityTheory.Kernel.toFun, coe_injective' := }
          theorem ProbabilityTheory.Kernel.measurable {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} (κ : ProbabilityTheory.Kernel α β) :
          @[simp]
          theorem ProbabilityTheory.Kernel.coe_mk {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} (f : αMeasureTheory.Measure β) (hf : Measurable f) :
          { toFun := f, measurable' := hf } = f
          instance ProbabilityTheory.Kernel.instZero {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} :
          Equations
          • ProbabilityTheory.Kernel.instZero = { zero := { toFun := 0, measurable' := } }
          noncomputable instance ProbabilityTheory.Kernel.instAdd {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} :
          Equations
          • ProbabilityTheory.Kernel.instAdd = { add := fun (κ η : ProbabilityTheory.Kernel α β) => { toFun := κ + η, measurable' := } }
          noncomputable instance ProbabilityTheory.Kernel.instSMulNat {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} :
          Equations
          @[simp]
          theorem ProbabilityTheory.Kernel.coe_zero {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} :
          0 = 0
          @[simp]
          theorem ProbabilityTheory.Kernel.coe_add {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} (κ η : ProbabilityTheory.Kernel α β) :
          (κ + η) = κ + η
          @[simp]
          theorem ProbabilityTheory.Kernel.coe_nsmul {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} (n : ) (κ : ProbabilityTheory.Kernel α β) :
          (n κ) = n κ
          @[simp]
          theorem ProbabilityTheory.Kernel.zero_apply {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} (a : α) :
          0 a = 0
          @[simp]
          theorem ProbabilityTheory.Kernel.add_apply {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} (κ η : ProbabilityTheory.Kernel α β) (a : α) :
          (κ + η) a = κ a + η a
          @[simp]
          theorem ProbabilityTheory.Kernel.nsmul_apply {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} (n : ) (κ : ProbabilityTheory.Kernel α β) (a : α) :
          (n κ) a = n κ a
          noncomputable instance ProbabilityTheory.Kernel.instAddCommMonoid {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} :
          Equations
          Equations
          Equations

          Coercion to a function as an additive monoid homomorphism.

          Equations
          Instances For
            @[simp]
            theorem ProbabilityTheory.Kernel.coe_finset_sum {α : Type u_1} {β : Type u_2} {ι : Type u_3} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} (I : Finset ι) (κ : ιProbabilityTheory.Kernel α β) :
            (∑ iI, κ i) = iI, (κ i)
            theorem ProbabilityTheory.Kernel.finset_sum_apply {α : Type u_1} {β : Type u_2} {ι : Type u_3} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} (I : Finset ι) (κ : ιProbabilityTheory.Kernel α β) (a : α) :
            (∑ iI, κ i) a = iI, (κ i) a
            theorem ProbabilityTheory.Kernel.finset_sum_apply' {α : Type u_1} {β : Type u_2} {ι : Type u_3} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} (I : Finset ι) (κ : ιProbabilityTheory.Kernel α β) (a : α) (s : Set β) :
            ((∑ iI, κ i) a) s = iI, ((κ i) a) s
            class ProbabilityTheory.IsMarkovKernel {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} (κ : ProbabilityTheory.Kernel α β) :

            A kernel is a Markov kernel if every measure in its image is a probability measure.

            Instances
              class ProbabilityTheory.IsZeroOrMarkovKernel {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} (κ : ProbabilityTheory.Kernel α β) :

              A class for kernels which are zero or a Markov kernel.

              Instances
                class ProbabilityTheory.IsFiniteKernel {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} (κ : ProbabilityTheory.Kernel α β) :

                A kernel is finite if every measure in its image is finite, with a uniform bound.

                • exists_univ_le : C < , ∀ (a : α), (κ a) Set.univ C
                Instances

                  A constant C : ℝ≥0∞ such that C < ∞ (ProbabilityTheory.IsFiniteKernel.bound_lt_top κ) and for all a : α and s : Set β, κ a s ≤ C (ProbabilityTheory.Kernel.measure_le_bound κ a s).

                  Porting note (https://github.com/leanprover-community/mathlib4/issues/11215): TODO: does it make sense to -- make ProbabilityTheory.IsFiniteKernel.bound the least possible bound? -- Should it be an NNReal number?

                  Equations
                  Instances For
                    theorem ProbabilityTheory.Kernel.ext {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} {κ η : ProbabilityTheory.Kernel α β} (h : ∀ (a : α), κ a = η a) :
                    κ = η
                    theorem ProbabilityTheory.Kernel.ext_iff' {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} {κ η : ProbabilityTheory.Kernel α β} :
                    κ = η ∀ (a : α) (s : Set β), MeasurableSet s(κ a) s = (η a) s
                    theorem ProbabilityTheory.Kernel.ext_fun {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} {κ η : ProbabilityTheory.Kernel α β} (h : ∀ (a : α) (f : βENNReal), Measurable f∫⁻ (b : β), f bκ a = ∫⁻ (b : β), f bη a) :
                    κ = η
                    theorem ProbabilityTheory.Kernel.ext_fun_iff {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} {κ η : ProbabilityTheory.Kernel α β} :
                    κ = η ∀ (a : α) (f : βENNReal), Measurable f∫⁻ (b : β), f bκ a = ∫⁻ (b : β), f bη a
                    theorem ProbabilityTheory.Kernel.measurable_coe {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} (κ : ProbabilityTheory.Kernel α β) {s : Set β} (hs : MeasurableSet s) :
                    Measurable fun (a : α) => (κ a) s
                    theorem ProbabilityTheory.Kernel.apply_congr_of_mem_measurableAtom {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} (κ : ProbabilityTheory.Kernel α β) {y' y : α} (hy' : y' measurableAtom y) :
                    κ y' = κ y
                    noncomputable def ProbabilityTheory.Kernel.sum {α : Type u_1} {β : Type u_2} {ι : Type u_3} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} [Countable ι] (κ : ιProbabilityTheory.Kernel α β) :

                    Sum of an indexed family of kernels.

                    Equations
                    Instances For
                      theorem ProbabilityTheory.Kernel.sum_apply {α : Type u_1} {β : Type u_2} {ι : Type u_3} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} [Countable ι] (κ : ιProbabilityTheory.Kernel α β) (a : α) :
                      theorem ProbabilityTheory.Kernel.sum_apply' {α : Type u_1} {β : Type u_2} {ι : Type u_3} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} [Countable ι] (κ : ιProbabilityTheory.Kernel α β) (a : α) {s : Set β} (hs : MeasurableSet s) :
                      ((ProbabilityTheory.Kernel.sum κ) a) s = ∑' (n : ι), ((κ n) a) s
                      @[simp]
                      theorem ProbabilityTheory.Kernel.sum_zero {α : Type u_1} {β : Type u_2} {ι : Type u_3} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} [Countable ι] :
                      (ProbabilityTheory.Kernel.sum fun (x : ι) => 0) = 0
                      theorem ProbabilityTheory.Kernel.sum_comm {α : Type u_1} {β : Type u_2} {ι : Type u_3} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} [Countable ι] (κ : ιιProbabilityTheory.Kernel α β) :
                      @[simp]
                      theorem ProbabilityTheory.Kernel.sum_fintype {α : Type u_1} {β : Type u_2} {ι : Type u_3} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} [Fintype ι] (κ : ιProbabilityTheory.Kernel α β) :
                      ProbabilityTheory.Kernel.sum κ = i : ι, κ i
                      theorem ProbabilityTheory.Kernel.sum_add {α : Type u_1} {β : Type u_2} {ι : Type u_3} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} [Countable ι] (κ η : ιProbabilityTheory.Kernel α β) :
                      class ProbabilityTheory.IsSFiniteKernel {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} (κ : ProbabilityTheory.Kernel α β) :

                      A kernel is s-finite if it can be written as the sum of countably many finite kernels.

                      Instances
                        noncomputable def ProbabilityTheory.Kernel.seq {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} (κ : ProbabilityTheory.Kernel α β) [h : ProbabilityTheory.IsSFiniteKernel κ] :

                        A sequence of finite kernels such that κ = ProbabilityTheory.Kernel.sum (seq κ). See ProbabilityTheory.Kernel.isFiniteKernel_seq and ProbabilityTheory.Kernel.kernel_sum_seq.

                        Equations
                        • κ.seq = .choose
                        Instances For
                          theorem ProbabilityTheory.Kernel.measure_sum_seq {α : Type u_1} {β : Type u_2} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} (κ : ProbabilityTheory.Kernel α β) [h : ProbabilityTheory.IsSFiniteKernel κ] (a : α) :
                          (MeasureTheory.Measure.sum fun (n : ) => (κ.seq n) a) = κ a
                          theorem ProbabilityTheory.Kernel.IsSFiniteKernel.finset_sum {α : Type u_1} {β : Type u_2} {ι : Type u_3} {mα : MeasurableSpace α} {mβ : MeasurableSpace β} {κs : ιProbabilityTheory.Kernel α β} (I : Finset ι) (h : iI, ProbabilityTheory.IsSFiniteKernel (κs i)) :