Disintegration of the chain law over its first coordinates
ProvedMarkovChainCLT.chainMeasure_eq_comp_trajLet be a Markov kernel with initial distribution , and let be the resulting law on path space. Then for every ,
where and is the kernel sending an initial segment to the law of the trajectory continuing from it.
What it says. The law of the chain is recovered by drawing its first coordinates from their own marginal and then continuing with . This is the disintegration of the path measure over the past up to time — the precise sense in which is the conditional law of the trajectory given , and the form in which conditioning is actually applied.
Why it is needed. Mixing estimates all have the shape: fix a past event and a future event , condition on the first coordinates, and compare the conditional probability of with its stationary value. The conditioning step is exactly this identity. Once it is available, a past event — which by the identification of the past -algebra is a pullback — becomes a function of the integration variable in the outer integral, while a future event is handled inside by the restart property. Without the disintegration the two identifications have nothing to act on.
Proof. Two observations, both at the level of kernels. First, the marginal: pushing the trajectory kernel forward along gives precomposed with the embedding of a point as a length-one segment, so for that kernel . Second, the decomposition: Mathlib's together with the fact that precomposition commutes with composition on the right gives the trajectory kernel of the chain. Associativity of composition with a measure then turns into .
No hypothesis on beyond being a probability measure is needed; in particular the chain need not be started from an invariant measure.
import Definitions.Def_MarkovChainPathMeasure open Filter Finset Function MeasurableEquiv MeasurableSpace MeasureTheory Preorder ProbabilityTheory open scoped ENNReal NNReal Topology open MarkovChainCLT
theorem MarkovChainCLT.chainMeasure_eq_comp_traj {X : Type*} [MeasurableSpace X]
(P : Kernel X X) [IsMarkovKernel P] (lam : Measure X) [IsProbabilityMeasure lam] (k : ℕ) :
chainMeasure P lam
= (Kernel.traj (X := fun _ : ℕ => X) (BanditAlgorithm.markovChainStep P) k)
∘ₘ ((chainMeasure P lam).map (frestrictLe (π := fun _ : ℕ => X) k)) := by sorry