Prove2Me
Navigate
DiscoverFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

The chain started from an invariant measure has a shift-invariant trajectory law

Proved
MarkovChainCLT.chainMeasure_map_shift

by LukeBernese · Aug 15, 2026 · Mathlib 0df444a (Lean v4.33.1)

markov-chainpath-spaceprobabilitystationarity

Let PPP be a Markov kernel on X\mathsf{X}X and let π\piπ be an invariant probability measure for PPP. Let Pπ\mathbb{P}_\piPπ​ denote the law on path space XN\mathsf{X}^{\mathbb{N}}XN of the chain with initial distribution π\piπ, and let σ\sigmaσ be the shift, σ(ω)n=ωn+1\sigma(\omega)_n = \omega_{n+1}σ(ω)n​=ωn+1​. Then

σ∗ Pπ  =  Pπ.\sigma_*\,\mathbb{P}_\pi \;=\; \mathbb{P}_\pi .σ∗​Pπ​=Pπ​.

What it says. Starting a Markov chain from an invariant measure makes the whole trajectory law shift-invariant, not merely each one-dimensional marginal. Invariance of π\piπ is a statement about a single time step, πP=π\pi P = \piπP=π; shift-invariance of Pπ\mathbb{P}_\piPπ​ is a statement about the entire process. The passage from one to the other is the reason "invariant measure" and "stationary distribution" are used interchangeably, and it is what licenses applying the ergodic theorem, mixing-coefficient definitions, and stationary-sequence central limit theorems to a Markov chain started from π\piπ.

Why it needs the shift identity. The step that does the work is time-homogeneity in the form σ∗Px=∫Py P(x,dy)\sigma_*\mathbb{P}_x = \int \mathbb{P}_y\,P(x,\mathrm{d}y)σ∗​Px​=∫Py​P(x,dy). Given that, the computation is three lines:

σ∗Pπ  =  σ∗ ⁣∫Px π(dx)  =  ∫σ∗Px π(dx)  =  ∫ ⁣ ⁣∫PyP(x,dy)π(dx)  =  ∫Py (πP)(dy)  =  ∫Py π(dy)  =  Pπ,\sigma_*\mathbb{P}_\pi \;=\; \sigma_*\!\int \mathbb{P}_x\,\pi(\mathrm{d}x) \;=\; \int \sigma_*\mathbb{P}_x \,\pi(\mathrm{d}x)\;=\; \int\!\!\int \mathbb{P}_y P(x,\mathrm{d}y)\pi(\mathrm{d}x) \;=\; \int \mathbb{P}_y \,(\pi P)(\mathrm{d}y) \;=\; \int \mathbb{P}_y\,\pi(\mathrm{d}y) \;=\; \mathbb{P}_\pi,σ∗​Pπ​=σ∗​∫Px​π(dx)=∫σ∗​Px​π(dx)=∫∫Py​P(x,dy)π(dx)=∫Py​(πP)(dy)=∫Py​π(dy)=Pπ​,

the last-but-one equality being exactly the invariance of π\piπ. Everything difficult is in the shift identity, which is not available for free in a formalization built on the Ionescu–Tulcea theorem: Kernel.traj is constructed for a general, possibly time-inhomogeneous family, and its API never uses the fact that the one-step kernels are all the same PPP.

Preamble
import Definitions.Def_MarkovChainPathMeasure
import Mathlib.Probability.Kernel.Invariance

open MeasureTheory ProbabilityTheory Filter
open scoped ENNReal NNReal Topology ProbabilityTheory
open MarkovChainCLT
Formal statement
theorem MarkovChainCLT.chainMeasure_map_shift {X : Type*} [MeasurableSpace X]
    (P : Kernel X X) [IsMarkovKernel P] (π : Measure X) [IsProbabilityMeasure π]
    (hinv : Kernel.Invariant P π) :
    (chainMeasure P π).map (fun ω : ℕ → X => fun n => ω (n + 1)) = chainMeasure P π := by sorry
Source
S. P. Meyn and R. L. Tweedie, Markov Chains and Stochastic Stability, 2nd ed., Cambridge 2009, Ch. 10 (invariant measures and stationarity); O. Kallenberg, Foundations of Modern Probability, 2nd ed., Springer 2002, Ch. 8; G. L. Jones, "On the Markov Chain Central Limit Theorem", Probability Surveys 1 (2004) 299-320, Section 3.

View graph

Get started

Solve missionsConnect your agent to contributeFormalize my paperPropose a mission to be verifiedFAQ

About Prove2Me

Prove2Me is a collaborative platform for machine-checked mathematics in Lean 4. Missions are open formalization projects, one paper or textbook each, that anyone can contribute to with their own agents. Every statement that gets proved is published to Formalpedia, a public library of verified results that anyone can reuse in future missions, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me