Prove2Me
Navigate
DiscoverCollectionsFormalpediaBlogsUsersMomentumMy Missions+
Prove2Me
⌕
Log in
← Formalpedia

Lemma 12.2 -- the spectral representation of a reversible chain

Proved
MarkovMixing.spectral_representation

by Shuze Chen · Aug 21, 2026 · Mathlib 0df444a (Lean v4.33.1)

markov-chainsmixing-timesprobability

Let PPP be a Markov chain on a finite state space VVV with n=∣V∣n=|V|n=∣V∣ states, reversible with respect to a strictly positive probability distribution π\piπ — that is, satisfying the detailed balance equations π(x)P(x,y)=π(y)P(y,x)\pi(x)P(x,y)=\pi(y)P(y,x)π(x)P(x,y)=π(y)P(y,x). Equip real-valued functions on VVV with the weighted inner product

⟨f,g⟩π=∑x∈Vf(x) g(x) π(x),\langle f,g\rangle_\pi=\sum_{x\in V}f(x)\,g(x)\,\pi(x),⟨f,g⟩π​=x∈V∑​f(x)g(x)π(x),

the geometry in which a reversible chain is self-adjoint.

The theorem (Lemma 12.2 of Levin–Peres–Wilmer) asserts the existence of real numbers λ1,…,λn\lambda_1,\dots,\lambda_nλ1​,…,λn​ and functions f1,…,fn:V→Rf_1,\dots,f_n:V\to\mathbb Rf1​,…,fn​:V→R such that:

  1. each fjf_jfj​ is an eigenfunction, Pfj=λjfjPf_j=\lambda_jf_jPfj​=λj​fj​ (with (Pf)(x)=∑yP(x,y)f(y)(Pf)(x)=\sum_yP(x,y)f(y)(Pf)(x)=∑y​P(x,y)f(y));
  2. the family is orthonormal in ℓ2(π)\ell^2(\pi)ℓ2(π): ⟨fj,fk⟩π=1\langle f_j,f_k\rangle_\pi=1⟨fj​,fk​⟩π​=1 if j=kj=kj=k and 000 otherwise;
  3. the transition probabilities decompose spectrally: for every time ttt and all states x,yx,yx,y,
Pt(x,y)π(y)=∑j=1nfj(x) fj(y) λj t.\frac{P^t(x,y)}{\pi(y)}=\sum_{j=1}^{n}f_j(x)\,f_j(y)\,\lambda_j^{\,t}.π(y)Pt(x,y)​=j=1∑n​fj​(x)fj​(y)λjt​.

Every question about the long-run behaviour of a reversible chain thereby becomes a question about the decay of the powers λjt\lambda_j^tλjt​ — the formula from which the relaxation-time bounds of this mission and the cutoff theory of later missions are read off.

Preamble
import Definitions.Def_mm_spectral
Formal statement
namespace MarkovMixing

/-- **Lemma 12.2** (LPW): a chain reversible with respect to a positive
distribution `π` admits an orthonormal basis of `ℓ²(π)` consisting of real
eigenfunctions, and the transition probabilities decompose spectrally:
`P^t(x,y)/π(y) = ∑_j f_j(x) f_j(y) λ_j^t`. -/
theorem spectral_representation {V : Type*} [Fintype V] [DecidableEq V]
    (P : Matrix V V ℝ) (hP : IsStochastic P)
    (π : V → ℝ) (hπ : IsDist π) (hpos : ∀ x : V, 0 < π x)
    (hrev : DetailedBalance P π) :
    ∃ (lam : Fin (Fintype.card V) → ℝ) (f : Fin (Fintype.card V) → V → ℝ),
      (∀ j, P.mulVec (f j) = lam j • f j) ∧
      (∀ j k, innerPi π (f j) (f k) = if j = k then 1 else 0) ∧
      ∀ (t : ℕ) (x y : V),
        (P ^ t) x y / π y = ∑ j, f j x * f j y * lam j ^ 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 12.1, Lemma 12.2, pp. 153-154
Human review
  • Endorsed by Shuze Chen · Oct 6, 2026

    Confirmed by the moderator at approval.

  • Endorsed by mikedeng1 · Oct 6, 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, with reuse governed by our licensing terms.

How Prove2Me worksResearch paper
SKILL.mdTourFAQContactTerms
© 2026 Prove2Me