High-temperature fast mixing of Glauber dynamics
ProvedMarkovMixing.ising_high_temperatureLet be a graph on vertices with maximum degree . The Ising model at inverse temperature puts spins on the vertices with Gibbs distribution , and its Glauber dynamics picks a uniform vertex and re-samples its spin from conditioned on the other spins. For a tolerance , the mixing time is the first with , where is the total variation distance.
The theorem (Theorem 15.1 of Levin–Peres–Wilmer, the capstone of Chapter 15) asserts, for every :
- if , then ;
- if every vertex of has even degree and , the same bound holds with in the denominator — a strictly weaker temperature condition.
At high temperature the Glauber dynamics mixes in order steps on any graph — the fundamental fast-mixing criterion for spin systems. The proof is path coupling (Mission VIII) with the one-site coupling whose disagreement probability the tanh lemma controls; since , condition 1 holds in particular whenever .
import Definitions.Def_mm_ising import Mathlib.Analysis.SpecialFunctions.Log.Basic
namespace MarkovMixing
/-- **Theorem 15.1** (LPW), the capstone of Chapter 15: fast mixing of the
Ising Glauber dynamics at high temperature. On a graph with `n` vertices
and maximal degree `Δ`:
(i) if `Δ tanh β < 1`, then with `c(β) = 1 − Δ tanh β`,
`t_mix(ε) ≤ ⌈n(log n + log(1/ε))/c(β)⌉`;
(ii) if every vertex has even degree and `(Δ/2) tanh 2β < 1`, then the same
bound holds with `c_e(β) = 1 − (Δ/2) tanh 2β`. -/
theorem ising_high_temperature {Vv : Type*} [Fintype Vv] [DecidableEq Vv]
[Nonempty Vv] (G : SimpleGraph Vv) [DecidableRel G.Adj]
(β : ℝ) (hβ : 0 < β) (ε : ℝ) (hε : 0 < ε) (hε1 : ε < 1) :
((G.maxDegree : ℝ) * Real.tanh β < 1 →
(mixingTime (glauber (isingDist G β)) (isingDist G β) ε : ℝ) ≤
⌈(Fintype.card Vv : ℝ) *
(Real.log (Fintype.card Vv) + Real.log (1 / ε)) /
(1 - (G.maxDegree : ℝ) * Real.tanh β)⌉₊) ∧
((∀ v : Vv, Even (G.degree v)) →
((G.maxDegree : ℝ) / 2) * Real.tanh (2 * β) < 1 →
(mixingTime (glauber (isingDist G β)) (isingDist G β) ε : ℝ) ≤
⌈(Fintype.card Vv : ℝ) *
(Real.log (Fintype.card Vv) + Real.log (1 / ε)) /
(1 - ((G.maxDegree : ℝ) / 2) * Real.tanh (2 * β))⌉₊) := by
sorry
end MarkovMixingRead-back
What the Lean code literally says, in plain math · claude-fable-5
Read-back: ising_high_temperature
Setting. Let be a finite, nonempty type with decidable equality, a simple graph on with decidable adjacency, a real with , and a real with . Write (the cardinality of the vertex type, not the number of configurations) and for the maximum degree of (Mathlib's maxDegree, a natural number).
The objects involved, unfolded:
- The Ising measure on configurations (encoded as functions to Bool, with spin for true and for false) is , where ; the ordered double sum counts each edge twice, so the exponent is .
- The Glauber chain is the matrix on configurations with entry : pick a uniformly random vertex and resample from conditioned on the other coordinates (with the total-division convention , immaterial here since ).
- The mixing time is the natural number , where over all finite subsets of configurations, and the outer sup is over all starting configurations . Junk convention: if no satisfies the condition, this over is .
- denotes the natural-number ceiling (
Nat.ceil), which sends any negative real to .
The statement is a conjunction of two implications, both bounding the same quantity — the mixing time of the Glauber chain for , cast to a real:
- Plain high-temperature bound. If
then
- Even-degree variant. If every vertex of has even degree (Mathlib's
Even, which holds in particular for degree ) and
then
In both parts the inequality compares the real cast of the natural-number mixing time against the natural-number ceiling of the real expression (also cast to a real); is the real natural logarithm. Each implication is claimed only under its own high-temperature hypothesis; nothing is asserted when the respective hypothesis fails. Note that if -infimum junk made the mixing time , or if (so ), the inequalities are simply as written — no separate case is carved out.
Confirmed by the mission captain (proposal self-audit).