Clusters as open clusters of indicator configurations, and anchored boundary walks
A. Indicator configurations of clusters
DefinitionBond configuration open on the edges inside a set#✓fully proved
The bond configuration that is open exactly on the edges with both endpoints in K.
noncomputable def indicatorConfig (K : Finset (Site d)) : ConfigSpace (Sym2 (Site d)) :=
fun e => Sym2.lift ⟨fun x y => decide (x ∈ K ∧ y ∈ K), by
intro x y; simp only [decide_eq_decide]; tauto⟩ e
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
Uses 2 · Used by 3
B. Anchored boundary walks in two dimensions
DefinitionAnchor row of \(\ell\) sites in \(\mathbb{Z}^2\)#✓fully proved
The anchor row {(j, 0) : j < ℓ} in ℤ².
noncomputable def ccb_anchorRow (ℓ : ℕ) : Finset (Site 2) :=
(Finset.range ℓ).image (fun j : ℕ => (![ (j : ℤ), 0] : Site 2))
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
Uses 1 · Used by 1
DefinitionAnchored closed-walk decoding of cluster contours in \(\mathbb{Z}^2\)#✓fully proved
In ℤ², every connected cluster in Λ_n with contour length ℓ has its contour decoded from a
closed walk of length ℓ based in the anchor row.
def ccb_AnchoredBoundaryWalkExists (n ℓ : ℕ) : Prop :=
∃ D : (Σ v : Site 2, (hypercubicLattice 2).Walk v v) → Finset (Sym2 (Site 2)),
∀ K ∈ ccb_contourFiber 2 n ℓ,
∃ v ∈ ccb_anchorRow ℓ, ∃ w : (hypercubicLattice 2).Walk v v,
w.length = ℓ ∧ D ⟨v, w⟩ = crossEdges (↑K) (bondFinsetTouch 2 n)
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 ccb_contourFiber (d n ℓ : ℕ) : Finset (Finset (Site d)) :=
(connClusterFamily (d := d) n).filter
(fun (K : Finset (Site d)) => contourLen (↑K) (bondFinsetTouch d n) = ℓ)
PhyslibExt/CondensedMatter/IsingModel/Peierls/ClusterContourBijection.lean:149
noncomputable def ccb_anchorRow (ℓ : ℕ) : Finset (Site 2) :=
(Finset.range ℓ).image (fun j : ℕ => (![ (j : ℤ), 0] : Site 2))
PhyslibExt/CondensedMatter/IsingModel/Peierls/AnchoredBoundaryWalk.lean:109
noncomputable def crossEdges (K : Set (Site d)) (B : Finset (Sym2 (Site d))) :
Finset (Sym2 (Site d)) :=
B.filter (crosses K)
PhyslibExt/CondensedMatter/IsingModel/PeierlsContours.lean:111
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.