Prove2Me
Navigate
MissionsFormalpediaBlogsUsersMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

The evolving-set identity Pt(x,y)=π(y)π(x)P{x}{y∈St}P^t(x,y)=\frac{\pi(y)}{\pi(x)}\mathbb P_{\{x\}}\{y\in S_t\}Pt(x,y)=π(x)π(y)​P{x}​{y∈St​}

Proved
MarkovMixing.evolving_sets_identity

by Shuze Chen · Aug 22, 2026 · Mathlib c5ea003 (Lean v4.30.0)

markov-chainsmixing-timesprobability

Let PPP be a Markov chain on a finite state space VVV with strictly positive stationary distribution π\piπ, and write Q(S,y)=∑x∈Sπ(x)P(x,y)Q(S,y)=\sum_{x\in S}\pi(x)P(x,y)Q(S,y)=∑x∈S​π(x)P(x,y) for the stationary flow from a set SSS into a state yyy. The evolving-set process of Morris and Peres is the Markov chain on subsets of VVV that, from the current set SSS, draws uuu uniform on (0,1](0,1](0,1] and passes to the superlevel set {y:Q(S,y)/π(y)≥u}\{y:Q(S,y)/\pi(y)\ge u\}{y:Q(S,y)/π(y)≥u}; its transition probability from SSS to TTT is the length of the interval of thresholds uuu realizing TTT.

The theorem (Lemma 17.12 of Levin–Peres–Wilmer) asserts that the set process contains the original chain: for all states x,yx,yx,y and every time ttt,

Pt(x,y)  =  π(y)π(x)  P{x}{y∈St},P^t(x,y)\;=\;\frac{\pi(y)}{\pi(x)}\;\mathbb P_{\{x\}}\bigl\{y\in S_t\bigr\},Pt(x,y)=π(x)π(y)​P{x}​{y∈St​},

where the right-hand probability is over the evolving-set process started from the singleton {x}\{x\}{x} — the sum of its ttt-step transition probabilities into the sets containing yyy.

Every question about ttt-step transition probabilities is thereby a question about how the random set grows and shrinks. Combined with the martingale property of π(St)\pi(S_t)π(St​) (the companion lemma), this identity is what converts martingale estimates on sets into the mixing and return-probability bounds of this mission.

Preamble
import Definitions.Def_mm_martingale
Formal statement
namespace MarkovMixing

/-- **Lemma 17.12** (LPW): the transition probabilities of the chain are
recovered from the evolving-set process by
`P^t(x,y) = (π(y)/π(x)) P_{{x}}{y ∈ S_t}`. -/
theorem evolving_sets_identity {V : Type*} [Fintype V] [DecidableEq V]
    (P : Matrix V V ℝ) (hP : IsStochastic P)
    (π : V → ℝ) (hπ : IsStationary P π) (hpos : ∀ x : V, 0 < π x)
    (x y : V) (t : ℕ) :
    (P ^ t) x y = π y / π x *
      ∑ T ∈ Finset.univ.filter (fun T : Finset V => y ∈ T),
        ((evolvingSets P π) ^ t) {x} T := by
  sorry

end MarkovMixing
Source
D. A. Levin, Y. Peres, E. L. Wilmer, Markov Chains and Mixing Times, AMS 2009, https://documents.epfl.ch/groups/i/ip/ipg/www/2013-2014/Random_Walks/markovmixing.pdf, Section 17.4, Lemma 17.12, Eq. (17.14), p. 236
Read-back

What the Lean code literally says, in plain math · claude-fable-5

Read-back: evolving_sets_identity

Let VVV be a finite type with decidable equality, and let PPP be a real matrix on V×VV\times VV×V that is stochastic (all entries nonnegative, every row summing to 111). Let π:V→R\pi : V \to \mathbb{R}π:V→R be stationary for PPP, meaning both that π\piπ is a probability distribution (πv≥0\pi_v \ge 0πv​≥0 for all vvv and ∑vπv=1\sum_v \pi_v = 1∑v​πv​=1) and that the row vector π\piπ is fixed by PPP: ∑uπuP(u,y)=πy\sum_u \pi_u P(u, y) = \pi_y∑u​πu​P(u,y)=πy​ for every yyy. Assume additionally that π\piπ is strictly positive: πv>0\pi_v > 0πv​>0 for every v∈Vv \in Vv∈V. Fix vertices x,y∈Vx, y \in Vx,y∈V and a natural number t≥0t \ge 0t≥0 (the case t=0t = 0t=0 is included).

Let KKK denote the evolving-set matrix of (P,π)(P, \pi)(P,π): a real matrix whose index type is the collection of all subsets of VVV, with entries

K(S,T)  =  max⁡(0, U(S,T)−L(S,T)),K(S, T) \;=\; \max\bigl(0,\ U(S,T) - L(S,T)\bigr),K(S,T)=max(0, U(S,T)−L(S,T)),

where, writing the clamped threshold Q^(S,z)=min⁡(1,max⁡(0,∑u∈SπuP(u,z)πz))\widehat{Q}(S, z) = \min\bigl(1, \max\bigl(0, \tfrac{\sum_{u\in S} \pi_u P(u,z)}{\pi_z}\bigr)\bigr)Q​(S,z)=min(1,max(0,πz​∑u∈S​πu​P(u,z)​)) (total division; under the strict-positivity hypothesis the denominator is never 000):

  • U(S,T)U(S,T)U(S,T) is the minimum of Q^(S,z)\widehat{Q}(S, z)Q​(S,z) over z∈Tz \in Tz∈T when TTT is nonempty, and equals 111 when T=∅T = \varnothingT=∅;
  • L(S,T)L(S,T)L(S,T) is the maximum of Q^(S,z)\widehat{Q}(S, z)Q​(S,z) over z∉Tz \notin Tz∈/T when T≠VT \ne VT=V, and equals 000 when T=VT = VT=V.

The theorem asserts the exact identity

(Pt)x,y  =  πyπx∑T⊆Vy∈T(Kt){x}, T,(P^t)_{x,y} \;=\; \frac{\pi_y}{\pi_x} \sum_{\substack{T \subseteq V \\ y \in T}} \bigl(K^t\bigr)_{\{x\},\,T},(Pt)x,y​=πx​πy​​T⊆Vy∈T​∑​(Kt){x},T​,

where (Pt)x,y(P^t)_{x,y}(Pt)x,y​ is the (x,y)(x,y)(x,y) entry of the ttt-th matrix power of PPP; KtK^tKt is the ttt-th matrix power of KKK over the index type of all subsets of VVV (with K0K^0K0 the identity matrix on subsets); the sum runs over all subsets TTT of VVV that contain yyy (including T=VT = VT=V and singletons); the row index of KtK^tKt is the singleton {x}\{x\}{x}; and πy/πx\pi_y/\pi_xπy​/πx​ is real division (well-defined and nonzero here since π\piπ is strictly positive). For t=0t = 0t=0 the identity reads: the indicator of x=yx = yx=y equals πy/πx\pi_y/\pi_xπy​/πx​ times the indicator that y∈{x}y \in \{x\}y∈{x}.

Human review
  • Endorsed by Community (Bot) · Aug 22, 2026

  • Endorsed by Shuze Chen · Aug 22, 2026

    Confirmed by the mission captain (proposal self-audit).

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.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactJoin Slack© 2026 Prove2Me