Skip to content

Ising two-point function via the Edwards–Sokal coupling

7 fully proved

A. Spins, connection events, and connection probabilities

DefinitionOpen connection between two vertices#✓fully proved

x and y are joined by a path of open edges of ω in G (x ↔ y).

def Connected (ω : ConfigSpace (Sym2 V)) (x y : V) : Prop :=
  (openSub G ω).Reachable x y
Uses 2 · Used by 19

DefinitionRandom-cluster connection probability#✓fully proved

The random-cluster connection probability φ_{G,p,q}(x ↔ y).

noncomputable def connProb (p q : ℝ) (x y : V) : ℝ :=
  ∑ ω ∈ Finset.univ.filter (fun ω : ConfigSpace (Sym2 V) => Connected G ω x y),
    fkProb G p q ω
Uses 4 · Used by 4

B. Counting colorings that agree at two points

DefinitionFunctions equal at two points as functions omitting one point#✓fully proved

For a ≠ b, functions C → Fin q with f a = f b correspond to functions on C \ {b}.

StatMech.FK.eqFunEquiv · 19 lines
noncomputable def eqFunEquiv {C : Type*} [Fintype C] [DecidableEq C] (q : ℕ) (a b : C)
    (hab : a ≠ b) :
    {f : C → Fin q // f a = f b} ≃ ({c : C // c ≠ b} → Fin q) where
  toFun f := fun c => f.1 c.1
  invFun g := ⟨fun c => if h : c = b then g ⟨a, hab⟩ else g ⟨c, h⟩, by
    change (if h : a = b then g ⟨a, hab⟩ else g ⟨a, h⟩)
        = if h : b = b then g ⟨a, hab⟩ else g ⟨b, h⟩
    rw [dite_eq_right hab, dite_eq_left rfl]⟩
  left_inv f := by
    apply Subtype.ext
    funext c
    simp only
    by_cases h : c = b
    · rw [dite_eq_left h, h]; exact f.2
    · rw [dite_eq_right h]
  right_inv g := by
    funext c
    simp only
    rw [dite_eq_right c.2]
Used by 2

DefinitionCorrespondence for cluster-constant colorings equal at two vertices#✓fully proved

Colorings constant on open clusters with σ x = σ y correspond to colorings of the clusters that agree on the clusters of x and y.

noncomputable def constEqEquiv {q : ℕ} (ω : ConfigSpace (Sym2 V)) (x y : V) :
    {σ : V → Fin q // ConstOnOpen G ω σ ∧ σ x = σ y} ≃
      {τ : (openSub G ω).ConnectedComponent → Fin q //
        τ ((openSub G ω).connectedComponentMk x)
          = τ ((openSub G ω).connectedComponentMk y)} := by
  refine (Equiv.subtypeSubtypeEquivSubtypeInter _ _).symm.trans ?_
  exact ((constOnOpenEquiv G ω).subtypeEquiv (fun _ => Iff.rfl)).symm
Uses 4 · Used by 2

C. The two-point function

DefinitionIsing two-point function from the Edwards–Sokal coupling#✓fully proved

The Ising two-point function ⟨σ_x σ_y⟩ at bond parameter p, computed as the Edwards–Sokal spin marginal.

noncomputable def esTwoPoint (p : ℝ) (x y : V) : ℝ :=
  (∑ ω : ConfigSpace (Sym2 V), ∑ σ : V → Fin 2,
      esWeight G p σ ω * (isingSpin (σ x) * isingSpin (σ y))) / esZ G 2 p
Uses 4 · Used by 1

LemmaIsing two-point function equals the \(q = 2\) connection probability#✓fully proved

The Ising two-point function equals the random-cluster connection probability with q = 2: ⟨σ_x σ_y⟩ = φ_{p,2}(x ↔ y) (Edwards–Sokal 1988; Grimmett, The Random-Cluster Model, 2006, Theorem 1.16).

lemma esTwoPoint_eq_connProb (p : ℝ) (x y : V) :
    esTwoPoint G p x y = connProb G p 2 x y
Uses 20

The dependency explorer needs JavaScript and its graph data.

Download the complete graph data.