Monotone CFTP: two trajectories certify coalescence
ProvedMarkovMixing.monotone_cftp_coalescenceLet be a finite state space carrying a partial order with a smallest element and a largest element , and let be monotone maps: implies . Write for their composition (as in coupling from the past, where the are the update maps drawn at times and the deepest map applies first).
The theorem (§22.2 of Levin–Peres–Wilmer, the principle behind monotone CFTP) asserts: if the composition merely identifies the two extremes,
then is constant on all of : for every pair of states.
A composition of monotone maps is monotone, so for every ; when the two ends meet, everything between is squeezed to the same value. This is what makes CFTP practical on exponentially large ordered state spaces: instead of tracking all trajectories, the algorithm runs just two — from the top state and the bottom state — and their meeting certifies global coalescence. For the Ising model of Mission IX, whose heat-bath updates are monotone for the coordinatewise spin order, this reduces trajectories to .
import Definitions.Def_mm_cftp import Mathlib.Order.Bounds.Basic
namespace MarkovMixing
/-- **§22.2, monotone CFTP** (LPW): if the state space carries a partial
order with a top and a bottom state and every update map is monotone, then
the composition collapses the whole space as soon as it identifies the top
and bottom states — the upper and lower trajectories of the monotone CFTP
algorithm sandwich all others. -/
theorem monotone_cftp_coalescence {V : Type*} [Fintype V] [DecidableEq V]
[PartialOrder V] [OrderBot V] [OrderTop V]
{t : ℕ} (F : Fin t → (V → V)) (hmono : ∀ i, Monotone (F i))
(hmeet : cftpCompose F ⊥ = cftpCompose F ⊤) :
∀ x y : V, cftpCompose F x = cftpCompose F y := by
sorry
end MarkovMixing