A Formalization of the Ionescu-Tulcea Theorem in Mathlib
Etienne Marion
TL;DR
The paper formalizes the Ionescu-Tulcea theorem in Lean/Mathlib, proving the existence of a kernel that describes infinite trajectories of a Markov process from a sequence of finite-step kernels. It navigates deep formalization challenges posed by dependent types and multi-kernel composition, introducing generalized constructions (η_{a,b}, traj) and marginals to build a projective-limit kernel ξ_a via Carathéodory extension. The work also demonstrates how the resulting framework yields a robust construction of the product of an arbitrary family of probability measures through countable and infinite product measures. Together, these results provide a natural and usable formal toolkit for modeling infinite stochastic processes in a proof assistant. The effort advances formal probability by aligning mathematical concepts with Lean/Mathlib’s API, facilitating future formalizations of complex stochastic constructions like Brownian motion.
Abstract
We describe the formalization of the Ionescu-Tulcea theorem, showing the existence of a probability measure on the space of trajectories of a Markov chain, in the proof assistant Lean using the integrated library Mathlib. We first present a mathematical proof before exposing the difficulties which arise when trying to formalize it, and how they were overcome. We then build on this work to formalize the construction of the product of an arbitrary family of probability measures.
