Documentation

KolmogorovExtension4.IonescuTulceaKernel

@[irreducible]
def iterate_induction {X : Type u_1} {p : } (x₀ : (i : { x : // x Finset.Iic p }) → X i) (ind : (k : ) → ((n : { x : // x Finset.Iic k }) → X n)X (k + 1)) (k : ) :
X k

This function takes a trajectory up to time p and a way of building the next step of the trajectory and returns a whole trajectory whose first steps correspond to the initial ones provided.

Equations
  • One or more equations did not get rendered due to their size.
Instances For
    theorem iterate_induction_le {X : Type u_1} {p : } (x₀ : (i : { x : // x Finset.Iic p }) → X i) (ind : (k : ) → ((n : { x : // x Finset.Iic k }) → X n)X (k + 1)) (k : { x : // x Finset.Iic p }) :
    iterate_induction x₀ ind k = x₀ k
    theorem proj_updateFinset {X : Type u_1} {n : } (x : (n : ) → X n) (y : (i : { x : // x Finset.Iic n }) → X i) :
    theorem aux {X : Type u_1} [(n : ) → MeasurableSpace (X n)] {n : } (x₀ : (i : { x : // x Finset.Iic n }) → X i) :
    (el' n) Prod.mk x₀ (Set.Ioi n).restrict = fun (y : (i : ) → X i) => Function.updateFinset y (Finset.Iic n) x₀
    theorem isProjectiveLimit_nat_iff' {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (μ : (I : Finset ) → MeasureTheory.Measure ((i : { x : // x I }) → X i)) (hμ : MeasureTheory.IsProjectiveMeasureFamily μ) (ν : MeasureTheory.Measure ((n : ) → X n)) (a : ) :

    To check that a measure ν is the projective limit of a projective family of measures indexed by Finset, it is enough to check on intervals of the form Iic n, where n is larger than a given integer.

    theorem isProjectiveLimit_nat_iff {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (μ : (I : Finset ) → MeasureTheory.Measure ((i : { x : // x I }) → X i)) (hμ : MeasureTheory.IsProjectiveMeasureFamily μ) (ν : MeasureTheory.Measure ((n : ) → X n)) :

    To check that a measure ν is the projective limit of a projective family of measures indexed by Finset, it is enough to check on intervals of the form Iic n.

    noncomputable def inducedFamily {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (μ : (n : ) → MeasureTheory.Measure ((i : { x : // x Finset.Iic n }) → X i)) (S : Finset ) :
    MeasureTheory.Measure ((k : { x : // x S }) → X k)

    Given a family of measures μ : (n : ℕ) → Measure ((i : Iic n) → X i), we can define a family of measures indexed by Finset by projecting the measures.

    Equations
    Instances For
      Equations
      • =
      theorem inducedFamily_Iic {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (μ : (n : ) → MeasureTheory.Measure ((i : { x : // x Finset.Iic n }) → X i)) (n : ) :

      Given a family of measures μ : (n : ℕ) → Measure ((i : Iic n) → X i), the induced family equals μ over the intervals Iic n.

      theorem isProjectiveMeasureFamily_inducedFamily {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (μ : (n : ) → MeasureTheory.Measure ((i : { x : // x Finset.Iic n }) → X i)) (h : ∀ (a b : ) (hab : a b), MeasureTheory.Measure.map (Preorder.frestrictLe₂ hab) (μ b) = μ a) :

      Given a family of measures μ : (n : ℕ) → Measure ((i : Iic n) → X i), the induced family will be projective only if μ is projective, in the sense that if a ≤ b, then projecting μ b gives μ a.

      noncomputable def ionescuTulceaContent {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] {n : } (x : (i : { x : // x Finset.Iic n }) → X i) :

      Given a family of kernels κ : (n : ℕ) → Kernel ((i : Iic n) → X i) (X (n + 1)), and the trajectory up to time n we can construct an additive content over cylinders. It corresponds to composing the kernels by starting at time n + 1.

      Equations
      Instances For
        theorem ionescuTulceaContent_cylinder {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] {a : } {b : } (x : (i : { x : // x Finset.Iic a }) → X i) {S : Set ((i : { x : // x Finset.Iic b }) → X i)} (mS : MeasurableSet S) :

        The ionescuTulceaContent κ x of a cylinder indexed by first coordinates is given by partialKernel.

        theorem ionescuTulceaContent_eq_lmarginalPartialKernel {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] {N : } {S : Set ((i : { x : // x Finset.Iic N }) → X i)} (mS : MeasurableSet S) (x : (n : ) → X n) (n : ) :

        The ionescuTulceaContent of a cylinder is equal to the integral of its indicator function.

        theorem cylinders_nat {X : Type u_1} [(n : ) → MeasurableSpace (X n)] :
        MeasureTheory.measurableCylinders X = ⋃ (N : ), ⋃ (S : Set ((i : { x : // x Finset.Iic N }) → X i)), ⋃ (_ : MeasurableSet S), {MeasureTheory.cylinder (Finset.Iic N) S}

        The cylinders of a product space indexed by can be seen as depending on the first corrdinates.

        theorem le_lmarginalPartialKernel_succ {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] [Nonempty (X 0)] {f : ((n : ) → X n)ENNReal} {N : } (hcte : ∀ (n : ), DependsOn (f n) (Finset.Iic (N n))) (mf : ∀ (n : ), Measurable (f n)) {bound : ENNReal} (fin_bound : bound ) (le_bound : ∀ (n : ) (x : (n : ) → X n), f n x bound) {k : } (anti : ∀ (x : (n : ) → X n), Antitone fun (n : ) => ProbabilityTheory.Kernel.lmarginalPartialKernel κ (k + 1) (N n) (f n) x) {l : ((n : ) → X n)ENNReal} (htendsto : ∀ (x : (n : ) → X n), Filter.Tendsto (fun (n : ) => ProbabilityTheory.Kernel.lmarginalPartialKernel κ (k + 1) (N n) (f n) x) Filter.atTop (nhds (l x))) (ε : ENNReal) (y : (n : { x : // x Finset.Iic k }) → X n) (hpos : ∀ (x : (i : ) → X i) (n : ), ε ProbabilityTheory.Kernel.lmarginalPartialKernel κ k (N n) (f n) (Function.updateFinset x (Finset.Iic k) y)) :
        ∃ (z : X (k + 1)), ∀ (x : (i : ) → X i) (n : ), ε ProbabilityTheory.Kernel.lmarginalPartialKernel κ (k + 1) (N n) (f n) (Function.update (Function.updateFinset x (Finset.Iic k) y) (k + 1) z)

        This is an auxiliary result for ionescuTulceaContent_tendsto_zero. Consider f a sequence of bounded measurable functions such that f n depends only on the first coordinates up to N n. Assume that when integrating f n against partialKernel (k + 1) (N n), one gets a non-increasing sequence of functions wich converges to l. Assume then that there exists ε and y : (n : Iic k) → X n such that when integrating f n against partialKernel k (N n), you get something at least ε for all. Then there exists z such that this remains true when integrating f against partialKernel (k + 1) (N n) (update y (k + 1) z).

        theorem dependsOn_cylinder_indicator {ι : Type u_2} {α : ιType u_3} {I : Finset ι} (S : Set ((i : { x : ι // x I }) → α i)) :
        DependsOn ((MeasureTheory.cylinder I S).indicator 1) I

        The indicator of a cylinder only depends on the variables whose the cylinder depends on.

        theorem ionescuTulceaContent_tendsto_zero {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] [Nonempty (X 0)] (A : Set ((n : ) → X n)) (A_mem : ∀ (n : ), A n MeasureTheory.measurableCylinders X) (A_anti : Antitone A) (A_inter : ⋂ (n : ), A n = ) {p : } (x₀ : (i : { x : // x Finset.Iic p }) → X i) :
        Filter.Tendsto (fun (n : ) => (ionescuTulceaContent κ x₀) (A n)) Filter.atTop (nhds 0)

        This is the key theorem to prove the existence of the ionescuTulceaKernel: the ionescuTulceaContent of a decresaing sequence of cylinders with empty intersection converges to 0. This implies the σ-additivity of ionescuTulceaContent (see sigma_additive_addContent_of_tendsto_zero), which allows to extend it to the σ-algebra by Carathéodory's theorem.

        theorem ionescuTulceaContent_sigma_subadditive {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] [Nonempty (X 0)] {p : } (x₀ : (i : { x : // x Finset.Iic p }) → X i) ⦃f : Set ((n : ) → X n) (hf : ∀ (n : ), f n MeasureTheory.measurableCylinders X) (hf_Union : ⋃ (n : ), f n MeasureTheory.measurableCylinders X) :
        (ionescuTulceaContent κ x₀) (⋃ (n : ), f n) ∑' (n : ), (ionescuTulceaContent κ x₀) (f n)

        The ionescuTulceaContent is sigma-subadditive.

        noncomputable def ionescuTulceaFun {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] [Nonempty (X 0)] (p : ) (x₀ : (i : { x : // x Finset.Iic p }) → X i) :
        MeasureTheory.Measure ((n : ) → X n)

        This function is the kernel given by the Ionescu-Tulcea theorem.

        Equations
        Instances For
          theorem isProbabilityMeasure_ionescuTulceaFun {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] [Nonempty (X 0)] (p : ) (x₀ : (i : { x : // x Finset.Iic p }) → X i) :
          theorem isProjectiveLimit_ionescuTulceaFun {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] [Nonempty (X 0)] (p : ) (x₀ : (i : { x : // x Finset.Iic p }) → X i) :
          theorem measurable_ionescuTulceaFun {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] [Nonempty (X 0)] (p : ) :
          noncomputable def ionescuTulceaKernel {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] [Nonempty (X 0)] (p : ) :
          ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic p }) → X i) ((n : ) → X n)

          Ionescu-Tulcea Theorem : Given a family of kernels κ k taking variables in Iic k with value in X (k+1), the kernel ionescuTulceaKernel κ p takes a variable x depending on the variables i ≤ p and associates to it a kernel on trajectories depending on all variables, where the entries with index ≤ p are those of x, and then one follows iteratively the kernels κ p, then κ (p+1), and so on.

          The fact that such a kernel exists on infinite trajectories is not obvious, and is the content of the Ionescu-Tulcea theorem.

          Equations
          Instances For
            theorem ionescuTulceaKernel_apply {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] [Nonempty (X 0)] (p : ) (x₀ : (i : { x : // x Finset.Iic p }) → X i) :
            (ionescuTulceaKernel κ p) x₀ = ionescuTulceaFun κ p x₀
            instance instIsMarkovKernelForallValNatMemFinsetIicForallIonescuTulceaKernel {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] [Nonempty (X 0)] (p : ) :
            Equations
            • =
            theorem ionescuTulceaKernel_proj {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] [Nonempty (X 0)] (a : ) (b : ) :
            theorem eq_ionescuTulceaKernel' {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] [Nonempty (X 0)] {a : } (n : ) (η : ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic a }) → X i) ((n : ) → X n)) (hη : bn, η.map (Preorder.frestrictLe b) = ProbabilityTheory.Kernel.partialKernel κ a b) :
            theorem eq_ionescuTulceaKernel {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] [Nonempty (X 0)] {a : } (η : ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic a }) → X i) ((n : ) → X n)) (hη : ∀ (b : ), η.map (Preorder.frestrictLe b) = ProbabilityTheory.Kernel.partialKernel κ a b) :
            theorem partialKernel_comp_ionescuTulceaKernel {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] [Nonempty (X 0)] {a : } {b : } (hab : a b) :
            theorem ionescuTulceaKernel_proj_le {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] [Nonempty (X 0)] {a : } {b : } (hab : a b) :
            def {X : Type u_1} [(n : ) → MeasurableSpace (X n)] :

            The canonical filtration on dependent functions indexed by , where 𝓕 n consists of measurable sets depending only on coordinates ≤ n.

            Equations
            Instances For
              theorem stronglyMeasurable_dependsOn {X : Type u_1} [(n : ) → MeasurableSpace (X n)] {E : Type u_2} [NormedAddCommGroup E] {n : } {f : ((n : ) → X n)E} (mf : MeasureTheory.StronglyMeasurable f) :

              If a function is strongly measurable with respect to the σ-algebra generated by the first coordinates, then it only depends on those first coordinates.

              theorem ionescuTulceaKernel_eq {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] [Nonempty (X 0)] (n : ) :
              ionescuTulceaKernel κ n = ((ProbabilityTheory.Kernel.deterministic id ).prod ((ionescuTulceaKernel κ n).map (Set.Ioi n).restrict)).map (el' n)

              This theorem shows that ionescuTulceaKernel κ n is, up to an equivalence, the product of a determinstic kernel with another kernel. This is an intermediate result to compute integrals with respect to this kernel.

              theorem measurable_updateFinset' {ι : Type u_3} [DecidableEq ι] {I : Finset ι} {X : ιType u_4} [(i : ι) → MeasurableSpace (X i)] {y : (i : { x : ι // x I }) → X i} :
              Measurable fun (x : (i : ι) → X i) => Function.updateFinset x I y
              theorem ionescuTulceaKernel_eq_map_updateFinset {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] [Nonempty (X 0)] {n : } (x₀ : (i : { x : // x Finset.Iic n }) → X i) :
              (ionescuTulceaKernel κ n) x₀ = MeasureTheory.Measure.map (fun (y : (i : ) → X i) => Function.updateFinset y (Finset.Iic n) x₀) ((ionescuTulceaKernel κ n) x₀)
              theorem integrable_ionescuTulceaKernel {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] {E : Type u_2} [NormedAddCommGroup E] [Nonempty (X 0)] {a : } {b : } (hab : a b) {f : ((n : ) → X n)E} (x₀ : (i : { x : // x Finset.Iic a }) → X i) (i_f : MeasureTheory.Integrable f ((ionescuTulceaKernel κ a) x₀)) :
              ∀ᵐ (x : (i : ) → X i) ∂(ionescuTulceaKernel κ a) x₀, MeasureTheory.Integrable f ((ionescuTulceaKernel κ b) (Preorder.frestrictLe b x))
              theorem integral_ionescuTulceaKernel {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] {E : Type u_2} [NormedAddCommGroup E] [Nonempty (X 0)] [NormedSpace E] {n : } (x₀ : (i : { x : // x Finset.Iic n }) → X i) {f : ((n : ) → X n)E} (mf : MeasureTheory.AEStronglyMeasurable f ((ionescuTulceaKernel κ n) x₀)) :
              ∫ (x : (n : ) → X n), f x(ionescuTulceaKernel κ n) x₀ = ∫ (x : (n : ) → X n), f (Function.updateFinset x (Finset.Iic n) x₀)(ionescuTulceaKernel κ n) x₀
              theorem partialKernel_comp_ionescuTulceaKernel_apply {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] {E : Type u_2} [NormedAddCommGroup E] [Nonempty (X 0)] [NormedSpace E] {a : } {b : } (hab : a b) (f : ((i : { x : // x Finset.Iic b }) → X i)((n : ) → X n)E) (hf : MeasureTheory.StronglyMeasurable (Function.uncurry f)) (x₀ : (i : { x : // x Finset.Iic a }) → X i) (i_f : MeasureTheory.Integrable (fun (x : (i : ) → X i) => f (Preorder.frestrictLe b x) x) ((ionescuTulceaKernel κ a) x₀)) :
              ∫ (x : (i : { x : // x Finset.Iic b }) → X i), ∫ (y : (n : ) → X n), f x y(ionescuTulceaKernel κ b) x(ProbabilityTheory.Kernel.partialKernel κ a b) x₀ = ∫ (x : (n : ) → X n), f (Preorder.frestrictLe b x) x(ionescuTulceaKernel κ a) x₀
              theorem condexp_ionescuTulceaKernel {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] {E : Type u_2} [NormedAddCommGroup E] [Nonempty (X 0)] [NormedSpace E] [CompleteSpace E] {a : } {b : } (hab : a b) (x₀ : (i : { x : // x Finset.Iic a }) → X i) {f : ((n : ) → X n)E} (i_f : MeasureTheory.Integrable f ((ionescuTulceaKernel κ a) x₀)) (mf : MeasureTheory.StronglyMeasurable f) :
              MeasureTheory.condexp ( b) ((ionescuTulceaKernel κ a) x₀) f =ᵐ[(ionescuTulceaKernel κ a) x₀] fun (x : (n : ) → X n) => ∫ (y : (n : ) → X n), f y(ionescuTulceaKernel κ b) (Preorder.frestrictLe b x)
              theorem condexp_ionescuTulceaKernel' {X : Type u_1} [(n : ) → MeasurableSpace (X n)] (κ : (k : ) → ProbabilityTheory.Kernel ((i : { x : // x Finset.Iic k }) → X i) (X (k + 1))) [∀ (k : ), ProbabilityTheory.IsMarkovKernel (κ k)] {E : Type u_2} [NormedAddCommGroup E] [Nonempty (X 0)] [NormedSpace E] [CompleteSpace E] {a : } {b : } {c : } (hab : a b) (hbc : b c) (x₀ : (i : { x : // x Finset.Iic a }) → X i) {f : ((n : ) → X n)E} :
              MeasureTheory.condexp ( b) ((ionescuTulceaKernel κ a) x₀) f =ᵐ[(ionescuTulceaKernel κ a) x₀] fun (x : (n : ) → X n) => ∫ (y : (i : { x : // x Finset.Iic c }) → X i), MeasureTheory.condexp ( c) ((ionescuTulceaKernel κ a) x₀) f (Function.updateFinset x (Finset.Iic c) y)(ProbabilityTheory.Kernel.partialKernel κ b c) (Preorder.frestrictLe b x)