Documentation

KolmogorovExtension4.compProdNat

theorem measurable_cast {X : Type u} {Y : Type u} [mX : MeasurableSpace X] [mY : MeasurableSpace Y] (h : X = Y) (hm : HEq mX mY) :
theorem update_updateFinset_eq {X : Type u_1} (x : (n : ) → X n) (z : (n : ) → X n) {m : } :
def e {X : Type u_1} [(i : ) → MeasurableSpace (X i)] (n : ) :
X (n + 1) ≃ᵐ ((i : { x : // x Finset.Ioc n (n + 1) }) → X i)

Identifying {n + 1} with Ioc n (n+1), as a measurable equiv on dependent functions.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    def el {X : Type u_1} [(i : ) → MeasurableSpace (X i)] (m : ) (n : ) (hmn : m n) :
    ((i : { x : // x Finset.Iic m }) → X i) × ((i : { x : // x Finset.Ioc m n }) → X i) ≃ᵐ ((i : { x : // x Finset.Iic n }) → X i)

    Gluing Iic m and Ioc m n into Iic n, as a measurable equiv of dependent functions.

    Equations
    • One or more equations did not get rendered due to their size.
    Instances For
      def el' {X : Type u_1} [(i : ) → MeasurableSpace (X i)] (n : ) :
      ((i : { x : // x Finset.Iic n }) → X i) × ((i : (Set.Ioi n)) → X i) ≃ᵐ ((n : ) → X n)

      The union of Iic n and Ioi n is the whole , version as a measurable equivalence on dependent functions.

      Equations
      • One or more equations did not get rendered due to their size.
      Instances For
        def er {X : Type u_1} [(i : ) → MeasurableSpace (X i)] (i : ) (j : ) (k : ) (hij : i < j) (hjk : j k) :
        ((l : { x : // x Finset.Ioc i j }) → X l) × ((l : { x : // x Finset.Ioc j k }) → X l) ≃ᵐ ((l : { x : // x Finset.Ioc i k }) → X l)

        Gluing Ioc i j and Ioc j k into Ioc i k, as a measurable equiv of dependent functions.

        Equations
        • One or more equations did not get rendered due to their size.
        Instances For
          theorem restrict₂_er {X : Type u_1} [(i : ) → MeasurableSpace (X i)] (i : ) (j : ) (k : ) (hij : i < j) (hjk : j k) (y : (n : { x : // x Finset.Ioc i j }) → X n) (z : (n : { x : // x Finset.Ioc j k }) → X n) :
          Finset.restrict₂ ((er i j k hij hjk) (y, z)) = y
          theorem el_assoc {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } (hij : i < j) (hjk : j k) (a : (x : { x : // x Finset.Iic i }) → X x) (b : (l : { x : // x Finset.Ioc i j }) → X l) (c : (l : { x : // x Finset.Ioc j k }) → X l) :
          (el j k hjk) ((el i j ) (a, b), c) = (el i k ) (a, (er i j k hij hjk) (b, c))
          theorem er_assoc {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } {l : } (hij : i < j) (hjk : j < k) (hkl : k l) (b : (l : { x : // x Finset.Ioc i j }) → X l) (c : (l : { x : // x Finset.Ioc j k }) → X l) (d : (m : { x : // x Finset.Ioc k l }) → X m) :
          (er i j l hij ) (b, (er j k l hjk hkl) (c, d)) = (er i k l hkl) ((er i j k hij ) (b, c), d)
          def e_path_eq {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } (h : j = k) :
          ((l : { x : // x Finset.Ioc i j }) → X l) ≃ᵐ ((l : { x : // x Finset.Ioc i k }) → X l)

          When j = k, then Ioc i j = Ioc i k, as a measurable equiv of dependent functions.

          Equations
          Instances For
            def split {X : Type u_1} [(i : ) → MeasurableSpace (X i)] (i : ) (j : ) (k : ) (hij : i < j) (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic j }) → X l) ((l : { x : // x Finset.Ioc j k }) → X l)) :
            ProbabilityTheory.Kernel (((l : { x : // x Finset.Iic i }) → X l) × ((l : { x : // x Finset.Ioc i j }) → X l)) ((l : { x : // x Finset.Ioc j k }) → X l)

            Given a kernel from variables in Iic j, split Iic j into the union of Iic i and Ioc i j and construct the resulting kernel. TODO: the target space could be anything, generalize.

            Equations
            • split i j k hij κ = κ.comap (el i j )
            Instances For
              theorem split_eq_comap {X : Type u_1} [(i : ) → MeasurableSpace (X i)] (i : ) (j : ) (k : ) (hij : i < j) (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic j }) → X l) ((l : { x : // x Finset.Ioc j k }) → X l)) :
              split i j k hij κ = κ.comap (el i j )
              instance instIsSFiniteKernelProdForallValNatMemFinsetIicForallIocSplit {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } (hij : i < j) (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic j }) → X l) ((l : { x : // x Finset.Ioc j k }) → X l)) [ProbabilityTheory.IsSFiniteKernel κ] :
              Equations
              • =
              instance instIsFiniteKernelProdForallValNatMemFinsetIicForallIocSplit {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } (hij : i < j) (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic j }) → X l) ((l : { x : // x Finset.Ioc j k }) → X l)) [ProbabilityTheory.IsFiniteKernel κ] :
              Equations
              • =
              @[simp]
              theorem split_zero {X : Type u_1} [(i : ) → MeasurableSpace (X i)] (i : ) (j : ) (k : ) (hij : i < j) :
              split i j k hij 0 = 0
              def ProbabilityTheory.Kernel.compProdNat {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic i }) → X l) ((l : { x : // x Finset.Ioc i j }) → X l)) (η : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic j }) → X l) ((l : { x : // x Finset.Ioc j k }) → X l)) :
              ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic i }) → X l) ((l : { x : // x Finset.Ioc i k }) → X l)

              Given a kernel from variables in Ici i to Ioc i j, and another one from variables in Iic j to Ioc j k, compose them to get a kernel from Ici i to Ioc i k. This makes sense only when i < j and j < k. Otherwise, use 0 as junk value.

              Equations
              • (κ ⊗ₖ' η) = if h : i < j j < k then (κ.compProd (split i j k η)).map (er i j k ) else 0
              Instances For
                theorem ProbabilityTheory.Kernel.compProdNat_eq {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic i }) → X l) ((l : { x : // x Finset.Ioc i j }) → X l)) (η : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic j }) → X l) ((l : { x : // x Finset.Ioc j k }) → X l)) (hij : i < j) (hjk : j < k) :
                (κ ⊗ₖ' η) = (κ.compProd (split i j k hij η)).map (er i j k hij )
                instance ProbabilityTheory.Kernel.instIsSFiniteKernelForallValNatMemFinsetIicForallIocCompProdNat {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic i }) → X l) ((l : { x : // x Finset.Ioc i j }) → X l)) (η : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic j }) → X l) ((l : { x : // x Finset.Ioc j k }) → X l)) :
                Equations
                • =
                instance ProbabilityTheory.Kernel.instIsFiniteKernelForallValNatMemFinsetIicForallIocCompProdNat {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic i }) → X l) ((l : { x : // x Finset.Ioc i j }) → X l)) [ProbabilityTheory.IsFiniteKernel κ] (η : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic j }) → X l) ((l : { x : // x Finset.Ioc j k }) → X l)) [ProbabilityTheory.IsFiniteKernel η] :
                Equations
                • =

                Given a kernel from variables in Ici i to Ioc i j, and another one from variables in Iic j to Ioc j k, compose them to get a kernel from Ici i to Ioc i k. This makes sense only when i < j and j < k. Otherwise, use 0 as junk value.

                Equations
                • One or more equations did not get rendered due to their size.
                Instances For
                  theorem ProbabilityTheory.Kernel.compProdNat_apply' {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic i }) → X l) ((l : { x : // x Finset.Ioc i j }) → X l)) (η : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic j }) → X l) ((l : { x : // x Finset.Ioc j k }) → X l)) [ProbabilityTheory.IsSFiniteKernel κ] [ProbabilityTheory.IsSFiniteKernel η] (hij : i < j) (hjk : j < k) (a : (l : { x : // x Finset.Iic i }) → X l) {s : Set ((l : { x : // x Finset.Ioc i k }) → X l)} (hs : MeasurableSet s) :
                  ((κ ⊗ₖ' η) a) s = ∫⁻ (b : (l : { x : // x Finset.Ioc i j }) → X l), (η ((el i j ) (a, b))) {c : (l : { x : // x Finset.Ioc j k }) → X l | (b, c) (er i j k hij ) ⁻¹' s}κ a
                  @[simp]
                  theorem ProbabilityTheory.Kernel.compProdNat_zero_right {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic i }) → X l) ((l : { x : // x Finset.Ioc i j }) → X l)) (k : ) :
                  (κ ⊗ₖ' 0) = 0
                  @[simp]
                  theorem ProbabilityTheory.Kernel.compProdNat_zero_left {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {j : } {k : } (i : ) (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic j }) → X l) ((l : { x : // x Finset.Ioc j k }) → X l)) :
                  (0 ⊗ₖ' κ) = 0
                  theorem ProbabilityTheory.Kernel.compProdNat_undef_left {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic i }) → X l) ((l : { x : // x Finset.Ioc i j }) → X l)) (η : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic j }) → X l) ((l : { x : // x Finset.Ioc j k }) → X l)) (hij : i < j) (hjk : j < k) (h : ¬ProbabilityTheory.IsSFiniteKernel κ) :
                  (κ ⊗ₖ' η) = 0
                  theorem ProbabilityTheory.Kernel.compProdNat_assoc {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } {l : } (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic i }) → X l) ((l : { x : // x Finset.Ioc i j }) → X l)) (η : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic j }) → X l) ((l : { x : // x Finset.Ioc j k }) → X l)) (ξ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic k }) → X l) ((m : { x : // x Finset.Ioc k l }) → X m)) [ProbabilityTheory.IsSFiniteKernel η] [ProbabilityTheory.IsSFiniteKernel ξ] (hij : i < j) (hjk : j < k) (hkl : k < l) :
                  (κ ⊗ₖ' η ⊗ₖ' ξ) = (κ ⊗ₖ' η) ⊗ₖ' ξ
                  def ProbabilityTheory.Kernel.castPath {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic i }) → X l) ((l : { x : // x Finset.Ioc i j }) → X l)) (h : j = k) :
                  ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic i }) → X l) ((l : { x : // x Finset.Ioc i k }) → X l)

                  Given a kernel taking values in Ioc i j, convert it to a kernel taking values in Ioc i k when j = k.

                  Equations
                  Instances For
                    theorem ProbabilityTheory.Kernel.castPath_self {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic i }) → X l) ((l : { x : // x Finset.Ioc i j }) → X l)) :
                    κ.castPath = κ
                    theorem ProbabilityTheory.Kernel.castPath_apply {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic i }) → X l) ((l : { x : // x Finset.Ioc i j }) → X l)) (h : j = k) (a : (l : { x : // x Finset.Iic i }) → X l) (s : Set ((l : { x : // x Finset.Ioc i k }) → X l)) (hs : MeasurableSet s) :
                    ((κ.castPath h) a) s = (κ a) ((e_path_eq h) ⁻¹' s)
                    instance ProbabilityTheory.Kernel.instIsSFiniteKernelForallValNatMemFinsetIicForallIocCastPath {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic i }) → X l) ((l : { x : // x Finset.Ioc i j }) → X l)) (h : j = k) [ProbabilityTheory.IsSFiniteKernel κ] :
                    Equations
                    • =
                    instance ProbabilityTheory.Kernel.instIsFiniteKernelForallValNatMemFinsetIicForallIocCastPath {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic i }) → X l) ((l : { x : // x Finset.Ioc i j }) → X l)) (h : j = k) [ProbabilityTheory.IsFiniteKernel κ] :
                    Equations
                    • =
                    instance ProbabilityTheory.Kernel.instIsMarkovKernelForallValNatMemFinsetIicForallIocCastPath {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic i }) → X l) ((l : { x : // x Finset.Ioc i j }) → X l)) [ProbabilityTheory.IsMarkovKernel κ] (hjk : j = k) :
                    Equations
                    • =
                    def ProbabilityTheory.Kernel.kerNat {X : Type u_1} [(i : ) → MeasurableSpace (X i)] (κ : (k : ) → ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic k }) → X l) (X (k + 1))) (i : ) (j : ) :
                    ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic i }) → X l) ((l : { x : // x Finset.Ioc i j }) → X l)
                    Equations
                    • One or more equations did not get rendered due to their size.
                    Instances For
                      theorem ProbabilityTheory.Kernel.kerNat_zero {X : Type u_1} [(i : ) → MeasurableSpace (X i)] (κ : (k : ) → ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic k }) → X l) (X (k + 1))) (i : ) :
                      theorem ProbabilityTheory.Kernel.kerNat_succ {X : Type u_1} [(i : ) → MeasurableSpace (X i)] (κ : (k : ) → ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic k }) → X l) (X (k + 1))) (i : ) (j : ) :
                      ProbabilityTheory.Kernel.kerNat κ i (j + 1) = if h : i = j then ((κ i).map (e i)).castPath else ProbabilityTheory.Kernel.kerNat κ i j ⊗ₖ' (κ j).map (e j)
                      theorem ProbabilityTheory.Kernel.kerNat_succ_self {X : Type u_1} [(i : ) → MeasurableSpace (X i)] (κ : (k : ) → ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic k }) → X l) (X (k + 1))) (i : ) :
                      ProbabilityTheory.Kernel.kerNat κ i (i + 1) = (κ i).map (e i)
                      theorem ProbabilityTheory.Kernel.kerNat_succ_of_ne {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } (κ : (k : ) → ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic k }) → X l) (X (k + 1))) (h : i j) :
                      theorem ProbabilityTheory.Kernel.kerNat_succ_right {X : Type u_1} [(i : ) → MeasurableSpace (X i)] (κ : (k : ) → ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic k }) → X l) (X (k + 1))) (i : ) (j : ) (hij : i < j) :
                      theorem ProbabilityTheory.Kernel.kerNat_of_ge {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } (κ : (k : ) → ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic k }) → X l) (X (k + 1))) (h : j i) :
                      theorem ProbabilityTheory.Kernel.kerNat_succ_left {X : Type u_1} [(i : ) → MeasurableSpace (X i)] (κ : (k : ) → ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic k }) → X l) (X (k + 1))) [∀ (i : ), ProbabilityTheory.IsSFiniteKernel (κ i)] (i : ) (j : ) (hij : i + 1 < j) :
                      theorem ProbabilityTheory.Kernel.compProdNat_kerNat {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } (κ : (k : ) → ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic k }) → X l) (X (k + 1))) [∀ (i : ), ProbabilityTheory.IsSFiniteKernel (κ i)] (hij : i < j) (hjk : j < k) :
                      theorem ProbabilityTheory.Kernel.isMarkovKernel_compProdNat {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } {k : } (κ : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic i }) → X l) ((l : { x : // x Finset.Ioc i j }) → X l)) (η : ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic j }) → X l) ((l : { x : // x Finset.Ioc j k }) → X l)) [ProbabilityTheory.IsMarkovKernel κ] [ProbabilityTheory.IsMarkovKernel η] (hij : i < j) (hjk : j < k) :
                      theorem ProbabilityTheory.Kernel.isMarkovKernel_kerNat {X : Type u_1} [(i : ) → MeasurableSpace (X i)] {i : } {j : } (κ : (k : ) → ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic k }) → X l) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] (hij : i < j) :
                      theorem ProbabilityTheory.Kernel.kerNat_proj {X : Type u_1} [(i : ) → MeasurableSpace (X i)] (κ : (k : ) → ProbabilityTheory.Kernel ((l : { x : // x Finset.Iic k }) → X l) (X (k + 1))) [∀ (i : ), ProbabilityTheory.IsMarkovKernel (κ i)] {a : } {b : } {c : } (hab : a < b) (hbc : b c) :
                      noncomputable def ProbabilityTheory.Kernel.partialKernel {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (n : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic n }) → X i) (X (n + 1))) (a : ) (b : ) :
                      ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic a }) → X i) ((i : { x : // x Finset.Iic b }) → X i)

                      Given a family of kernels κ : (n : ℕ) → Kernel ((i : Iic n) → X i) (X (n + 1)), we can compose them: if a < b, then (κ a) ⊗ₖ ... ⊗ₖ (κ (b - 1)) is a kernel from (i : Iic a) → X i to (i : Ioc a b) → X i. This composition is called kerNat κ a b.

                      In order to make manipulations easier, we define partialKernel κ a b : Kernel ((i : Iic a) → X i) ((i : Iic b) → X i). Given the trajectory up to time a, partialKernel κ a b gives the distribution of the trajectory up to time b. It is the product of a Dirac mass along the trajectory, up to a, with kerNat κ a b.

                      Equations
                      • One or more equations did not get rendered due to their size.
                      Instances For
                        theorem ProbabilityTheory.Kernel.partialKernel_lt {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (n : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic n }) → X i) (X (n + 1))) {a : } {b : } (hab : a < b) :
                        theorem ProbabilityTheory.Kernel.partialKernel_le {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (n : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic n }) → X i) (X (n + 1))) {a : } {b : } (hab : b a) :
                        theorem ProbabilityTheory.Kernel.partialKernel_proj {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (n : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic n }) → X i) (X (n + 1))) [∀ (n : ), ProbabilityTheory.IsMarkovKernel (κ n)] (a : ) {b : } {c : } (hbc : b c) :

                        If b ≤ c, then projecting the trajectory up to time c on first coordinates gives the trajectory up to time b.

                        theorem ProbabilityTheory.Kernel.partialKernel_proj_apply {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (n : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic n }) → X i) (X (n + 1))) [∀ (n : ), ProbabilityTheory.IsMarkovKernel (κ n)] {n : } (x : (i : { x : // x Finset.Iic n }) → X i) (a : ) (b : ) (hab : a b) :
                        theorem ProbabilityTheory.Kernel.partialKernel_comp {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (n : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic n }) → X i) (X (n + 1))) [∀ (n : ), ProbabilityTheory.IsMarkovKernel (κ n)] (c : ) {a : } {b : } (h : a b) :

                        Given the trajectory up to time a, first computing the distribution up to time b and then the distribution up to time c is the same as directly computing the distribution up to time c.

                        theorem ProbabilityTheory.Kernel.partialKernel_comp' {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (n : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic n }) → X i) (X (n + 1))) [∀ (n : ), ProbabilityTheory.IsMarkovKernel (κ n)] (a : ) {b : } {c : } (h : c b) :

                        Given the trajectory up to time a, first computing the distribution up to time b and then the distribution up to time c is the same as directly computing the distribution up to time c.

                        noncomputable def ProbabilityTheory.Kernel.lmarginalPartialKernel {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (n : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic n }) → X i) (X (n + 1))) (a : ) (b : ) (f : ((n : ) → X n)ENNReal) (x : (n : ) → X n) :

                        This function computes the integral of a function f against partialKernel, and allows to view it as a function depending on all the variables.

                        Equations
                        • One or more equations did not get rendered due to their size.
                        Instances For
                          theorem ProbabilityTheory.Kernel.lmarginalPartialKernel_le {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (n : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic n }) → X i) (X (n + 1))) {a : } {b : } (hba : b a) {f : ((n : ) → X n)ENNReal} (mf : Measurable f) :

                          If b ≤ a, then integrating f against the partialKernel κ a b does nothing.

                          theorem ProbabilityTheory.Kernel.lmarginalPartialKernel_mono {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (n : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic n }) → X i) (X (n + 1))) (a : ) (b : ) {f : ((n : ) → X n)ENNReal} {g : ((n : ) → X n)ENNReal} (hfg : f g) (x : (n : ) → X n) :
                          theorem ProbabilityTheory.Kernel.lmarginalPartialKernel_lt {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (n : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic n }) → X i) (X (n + 1))) [∀ (n : ), ProbabilityTheory.IsFiniteKernel (κ n)] {a : } {b : } (hab : a < b) {f : ((n : ) → X n)ENNReal} (mf : Measurable f) (x : (n : ) → X n) :
                          ProbabilityTheory.Kernel.lmarginalPartialKernel κ a b f x = ∫⁻ (y : (i : { x : // x Finset.Ioc a b }) → X i), f (Function.updateFinset x (Finset.Ioc a b) y)(ProbabilityTheory.Kernel.kerNat κ a b) (Preorder.frestrictLe a x)

                          If a < b, then integrating f against the partialKernel κ a b is the same as integrating against kerNat a b.

                          theorem ProbabilityTheory.Kernel.measurable_lmarginalPartialKernel {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (n : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic n }) → X i) (X (n + 1))) [∀ (n : ), ProbabilityTheory.IsSFiniteKernel (κ n)] (a : ) (b : ) {f : ((n : ) → X n)ENNReal} (hf : Measurable f) :
                          theorem ProbabilityTheory.Kernel.lmarginalPartialKernel_self {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (n : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic n }) → X i) (X (n + 1))) [∀ (n : ), ProbabilityTheory.IsFiniteKernel (κ n)] {a : } {b : } {c : } (hab : a b) (hbc : b c) {f : ((n : ) → X n)ENNReal} (hf : Measurable f) :
                          theorem DependsOn.lmarginalPartialKernel_eq {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (n : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic n }) → X i) (X (n + 1))) [∀ (n : ), ProbabilityTheory.IsMarkovKernel (κ n)] {a : } {b : } (c : ) {f : ((n : ) → X n)ENNReal} (mf : Measurable f) (hf : DependsOn f (Finset.Iic a)) (hab : a b) :
                          theorem DependsOn.lmarginalPartialKernel_right {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (n : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic n }) → X i) (X (n + 1))) [∀ (n : ), ProbabilityTheory.IsMarkovKernel (κ n)] {f : ((i : ) → X i)ENNReal} {a : } (b : ) {c : } {d : } (mf : Measurable f) (hf : DependsOn f (Finset.Iic a)) (hac : a c) (had : a d) :
                          theorem DependsOn.dependsOn_lmarginalPartialKernel {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (n : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic n }) → X i) (X (n + 1))) [∀ (n : ), ProbabilityTheory.IsMarkovKernel (κ n)] (a : ) {b : } {f : ((n : ) → X n)ENNReal} (hf : DependsOn f (Finset.Iic b)) (mf : Measurable f) :