Peierls argument for the Ising model
- A connected cluster is determined by its edge boundary
- Spin-flip symmetry and the Peierls long-range-order criterion
- Connected dual contours of the singleton and rectangular clusters
- Euler circuits and single dual circuits for planar contours
- The Peierls argument: contour sums and the long-range-order criterion
- Contours of minus clusters
- Counting connected contours
- Injectivity of contours and the reduction to counting contour sets
- Contours of clusters in a box and closed-walk encodings
- Clusters as open clusters of indicator configurations, and anchored boundary walks
- Dual circuits anchored on a coordinate axis
- Dual circuits through one component of the contour
- Dual circuits decode to contours in two dimensions
- The contour of a hole-free planar set is a single cycle
- Hole-free clusters and the Peierls bound on the square lattice
- The contour-count bound over all clusters fails
- Outer contours on the square lattice
- The Peierls bound on the square lattice
DefinitionClosed-walk encoding of realised contours of length \(\ell\)#✓fully proved
Every realised contour of length ℓ in Λ_n is decoded from a closed lattice walk of length
ℓ based at one of at most ℓ anchor sites.
def RealisedContourWalkEncoding (d n ℓ : ℕ) : Prop :=
∃ anchors : Finset (Site d), anchors.card ≤ ℓ ∧
∃ (enc : Finset (Sym2 (Site d)) → Σ v : Site d, (hypercubicLattice d).Walk v v)
(decode : (Σ v : Site d, (hypercubicLattice d).Walk v v) → Finset (Sym2 (Site d))),
∀ F ∈ realisedContours d n ℓ,
(enc F).1 ∈ anchors ∧ (enc F).2.length = ℓ ∧ decode (enc F) = F
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def hypercubicLattice (d : ℕ) : SimpleGraph (Site d) where
Adj := NearestNeighbour d
symm := ⟨fun _ _ h => nearestNeighbour_symm d h⟩
loopless := nearestNeighbour_irrefl d
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:76
noncomputable def realisedContours (d n ℓ : ℕ) : Finset (Finset (Sym2 (Site d))) :=
((connClusterFamily (d := d) n).filter
(fun K : Finset (Site d) => contourLen (↑K) (bondFinsetTouch d n) = ℓ)).image
(fun K : Finset (Site d) => crossEdges (↑K : Set (Site d)) (bondFinsetTouch d n))
PhyslibExt/CondensedMatter/IsingModel/Peierls/ContourCountInjection.lean:188
DefinitionPeierls count of connected clusters by contour length#✓fully proved
For every ℓ, at most ℓ (2d)^ℓ connected clusters through the origin in Λ_n have contour
length ℓ.
def ConnectedContourCount (d n : ℕ) : Prop :=
∀ ℓ : ℕ,
(((connClusterFamily (d := d) n).filter
(fun (K : Finset (Site d)) => contourLen (↑K) (bondFinsetTouch d n) = ℓ)).card : ℝ)
≤ (ℓ : ℝ) * (2 * d : ℝ) ^ ℓ
noncomputable def connClusterFamily (n : ℕ) : Finset (Finset (Site d)) :=
(clusterFamily (d := d) n).filter (fun K => IsConnectedCluster K)
PhyslibExt/CondensedMatter/IsingModel/PeierlsContourCount.lean:237
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
noncomputable def contourLen (K : Set (Site d)) (B : Finset (Sym2 (Site d))) : ℕ :=
(crossEdges K B).card
PhyslibExt/CondensedMatter/IsingModel/PeierlsContours.lean:116
noncomputable def bondFinsetTouch (d n : ℕ) : Finset (Sym2 (Site d)) :=
(bondPairsTouch d n).image (fun p => s(p.1, p.2))
PhyslibExt/CondensedMatter/IsingModel/InfiniteVolume.lean:114
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.