Boundary conditions induced on a box by the outer annulus
A. Gluing inner and outer configurations
DefinitionGluing a box configuration into an outer configuration#✓fully proved
Glue a configuration ω on Λ_n into an outer configuration ψ on Λ_(n+1): edges of Λ_n
follow ω, the others follow ψ.
noncomputable def psiExt (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(ω : ConfigSpace (Sym2 (boxVerts d n))) : ConfigSpace (Sym2 (boxVerts d (n + 1))) :=
fun e => if h : e ∈ Set.range (innerEdge d n) then ω h.choose else ψ e
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
def innerEdge (d n : ℕ) : Sym2 (boxVerts d n) → Sym2 (boxVerts d (n + 1)) :=
Sym2.map (boxVertIncl d n)
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:97
Uses 5 · Used by 22
B. The outer graph and the induced wiring
DefinitionOpen edges of an outer configuration outside the inner box#✓fully proved
The open edges of ψ on Λ_(n+1) that are not edges of Λ_n.
noncomputable def outsideOpenGraph (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d (n + 1)) where
Adj x y := (boxGraph d (n + 1)).Adj x y ∧ ψ s(x, y) = true ∧ s(x, y) ∉ Set.range (innerEdge d n)
symm := by
refine ⟨?_⟩
rintro x y ⟨hadj, hopen, hrange⟩
refine ⟨hadj.symm, ?_, ?_⟩ <;> rw [Sym2.eq_swap] <;> assumption
loopless := ⟨by rintro x ⟨hadj, _, _⟩; exact hadj.ne rfl⟩
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
def innerEdge (d n : ℕ) : Sym2 (boxVerts d n) → Sym2 (boxVerts d (n + 1)) :=
Sym2.map (boxVertIncl d n)
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:97
Uses 4 · Used by 24
DefinitionOuter open graph plus the outer boundary clique#✓fully proved
The outer graph: open outer edges of ψ together with the clique on ∂Λ_(n+1).
noncomputable def outsideGraph (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d (n + 1)) :=
outsideOpenGraph d n ψ ⊔ StatMech.Lattice.boundaryCliqueGraph (boxBoundary d (n + 1))
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
noncomputable def outsideOpenGraph (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d (n + 1)) where
Adj x y := (boxGraph d (n + 1)).Adj x y ∧ ψ s(x, y) = true ∧ s(x, y) ∉ Set.range (innerEdge d n)
symm := by
refine ⟨?_⟩
rintro x y ⟨hadj, hopen, hrange⟩
refine ⟨hadj.symm, ?_, ?_⟩ <;> rw [Sym2.eq_swap] <;> assumption
loopless := ⟨by rintro x ⟨hadj, _, _⟩; exact hadj.ne rfl⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:143
def boundaryCliqueGraph : SimpleGraph V := SimpleGraph.fromRel (wireRel bdry)
MathlibExt/Combinatorics/SimpleGraph/Lattice/BoundaryConditions.lean:121
def boxBoundary (d n : ℕ) (x : boxVerts d n) : Prop := (x : Site d) ∈ vertexBoundary d n
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:151
Uses 5 · Used by 11
DefinitionWiring induced on a box through the outer graph#✓fully proved
The wiring induced on Λ_n by ψ: distinct vertices of Λ_n connected in the outer graph.
noncomputable def inducedWiring (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d n) where
Adj x y := x ≠ y ∧ (outsideGraph d n ψ).Reachable (boxVertIncl d n x) (boxVertIncl d n y)
symm := by
refine ⟨?_⟩
rintro x y ⟨hne, hreach⟩
exact ⟨hne.symm, hreach.symm⟩
loopless := ⟨by rintro x ⟨hne, _⟩; exact hne rfl⟩
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
noncomputable def outsideGraph (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d (n + 1)) :=
outsideOpenGraph d n ψ ⊔ StatMech.Lattice.boundaryCliqueGraph (boxBoundary d (n + 1))
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:158
def boxVertIncl (d n : ℕ) (x : boxVerts d n) : boxVerts d (n + 1) :=
⟨(x : Site d), box_subset_succ d n x.2⟩
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:68
Uses 4 · Used by 9
C. Decomposition of the glued graph
DefinitionInner open edges viewed in the larger box#✓fully proved
The open edges of ω, viewed as edges of Λ_(n+1).
noncomputable def innerImageGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
SimpleGraph (boxVerts d (n + 1)) where
Adj x y := (boxGraph d (n + 1)).Adj x y ∧ psiExt d n (fun _ => false) ω s(x, y) = true
∧ s(x, y) ∈ Set.range (innerEdge d n)
symm := by
refine ⟨?_⟩
rintro x y ⟨hadj, hopen, hrange⟩
refine ⟨hadj.symm, ?_, ?_⟩ <;> rw [Sym2.eq_swap] <;> assumption
loopless := ⟨by rintro x ⟨hadj, _, _⟩; exact hadj.ne rfl⟩
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
noncomputable def psiExt (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(ω : ConfigSpace (Sym2 (boxVerts d n))) : ConfigSpace (Sym2 (boxVerts d (n + 1))) :=
fun e => if h : e ∈ Set.range (innerEdge d n) then ω h.choose else ψ e
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:78
def innerEdge (d n : ℕ) : Sym2 (boxVerts d n) → Sym2 (boxVerts d (n + 1)) :=
Sym2.map (boxVertIncl d n)
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:97
Uses 5 · Used by 14
LemmaWired glued open graph is the union of inner and outer graphs#✓fully proved
The wired open graph of the glued configuration is the union of the inner open edges and the outer graph.
lemma psiWiredGraph_eq_sup (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(ω : ConfigSpace (Sym2 (boxVerts d n))) :
openSub (boxGraph d (n + 1)) (psiExt d n ψ ω)
⊔ StatMech.Lattice.boundaryCliqueGraph (boxBoundary d (n + 1))
= innerImageGraph d n ω ⊔ outsideGraph d n ψ
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
def openSub (ω : ConfigSpace (Sym2 V)) : SimpleGraph V where
Adj x y := G.Adj x y ∧ ω s(x, y) = true
symm := by
refine ⟨fun x y h => ?_⟩
refine ⟨h.1.symm, ?_⟩
rw [Sym2.eq_swap]; exact h.2
loopless := ⟨fun x h => h.1.ne rfl⟩
PhyslibExt/StatisticalMechanics/RandomCluster/RandomCluster.lean:82
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
noncomputable def psiExt (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(ω : ConfigSpace (Sym2 (boxVerts d n))) : ConfigSpace (Sym2 (boxVerts d (n + 1))) :=
fun e => if h : e ∈ Set.range (innerEdge d n) then ω h.choose else ψ e
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:78
def boundaryCliqueGraph : SimpleGraph V := SimpleGraph.fromRel (wireRel bdry)
MathlibExt/Combinatorics/SimpleGraph/Lattice/BoundaryConditions.lean:121
def boxBoundary (d n : ℕ) (x : boxVerts d n) : Prop := (x : Site d) ∈ vertexBoundary d n
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:151
noncomputable def innerImageGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
SimpleGraph (boxVerts d (n + 1)) where
Adj x y := (boxGraph d (n + 1)).Adj x y ∧ psiExt d n (fun _ => false) ω s(x, y) = true
∧ s(x, y) ∈ Set.range (innerEdge d n)
symm := by
refine ⟨?_⟩
rintro x y ⟨hadj, hopen, hrange⟩
refine ⟨hadj.symm, ?_, ?_⟩ <;> rw [Sym2.eq_swap] <;> assumption
loopless := ⟨by rintro x ⟨hadj, _, _⟩; exact hadj.ne rfl⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:201
noncomputable def outsideGraph (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d (n + 1)) :=
outsideOpenGraph d n ψ ⊔ StatMech.Lattice.boundaryCliqueGraph (boxBoundary d (n + 1))
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:158
Uses 14 · Used by 1
AbbreviationWired open graph of a glued configuration#✓fully proved
The wired open graph of the glued configuration on Λ_(n+1).
noncomputable abbrev fullGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d (n + 1)) :=
innerImageGraph d n ω ⊔ outsideGraph d n ψ
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
noncomputable def innerImageGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
SimpleGraph (boxVerts d (n + 1)) where
Adj x y := (boxGraph d (n + 1)).Adj x y ∧ psiExt d n (fun _ => false) ω s(x, y) = true
∧ s(x, y) ∈ Set.range (innerEdge d n)
symm := by
refine ⟨?_⟩
rintro x y ⟨hadj, hopen, hrange⟩
refine ⟨hadj.symm, ?_, ?_⟩ <;> rw [Sym2.eq_swap] <;> assumption
loopless := ⟨by rintro x ⟨hadj, _, _⟩; exact hadj.ne rfl⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:201
noncomputable def outsideGraph (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d (n + 1)) :=
outsideOpenGraph d n ψ ⊔ StatMech.Lattice.boundaryCliqueGraph (boxBoundary d (n + 1))
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:158
AbbreviationInner open graph with the induced wiring#✓fully proved
The open graph of ω on Λ_n with the induced wiring added.
noncomputable abbrev innerGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d n) :=
openSub (boxGraph d n) ω ⊔ inducedWiring d n ψ
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
def openSub (ω : ConfigSpace (Sym2 V)) : SimpleGraph V where
Adj x y := G.Adj x y ∧ ω s(x, y) = true
symm := by
refine ⟨fun x y h => ?_⟩
refine ⟨h.1.symm, ?_⟩
rw [Sym2.eq_swap]; exact h.2
loopless := ⟨fun x h => h.1.ne rfl⟩
PhyslibExt/StatisticalMechanics/RandomCluster/RandomCluster.lean:82
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
noncomputable def inducedWiring (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d n) where
Adj x y := x ≠ y ∧ (outsideGraph d n ψ).Reachable (boxVertIncl d n x) (boxVertIncl d n y)
symm := by
refine ⟨?_⟩
rintro x y ⟨hne, hreach⟩
exact ⟨hne.symm, hreach.symm⟩
loopless := ⟨by rintro x ⟨hne, _⟩; exact hne rfl⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:176
LemmaGlued and inner graphs have the same connections on the box#✓fully proved
Two vertices of Λ_n are connected in the glued graph iff they are connected in innerGraph.
lemma fullGraph_reachable_boxVertIncl (d n : ℕ)
(ω : ConfigSpace (Sym2 (boxVerts d n))) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(x y : boxVerts d n) :
(fullGraph d n ω ψ).Reachable (boxVertIncl d n x) (boxVertIncl d n y)
↔ (innerGraph d n ω ψ).Reachable x y
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
noncomputable abbrev fullGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d (n + 1)) :=
innerImageGraph d n ω ⊔ outsideGraph d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:249
def boxVertIncl (d n : ℕ) (x : boxVerts d n) : boxVerts d (n + 1) :=
⟨(x : Site d), box_subset_succ d n x.2⟩
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:68
noncomputable abbrev innerGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d n) :=
openSub (boxGraph d n) ω ⊔ inducedWiring d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:254
Uses 16
D. Counting clusters
DefinitionOuter vertex whose outer component avoids the inner box#✓fully proved
A vertex of Λ_(n+1) whose outer component contains no vertex of Λ_n.
def OutsideOnly (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(u : boxVerts d (n + 1)) : Prop :=
∀ v, (outsideGraph d n ψ).Reachable u v → ¬ IsInnerVert d n v
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
noncomputable def outsideGraph (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d (n + 1)) :=
outsideOpenGraph d n ψ ⊔ StatMech.Lattice.boundaryCliqueGraph (boxBoundary d (n + 1))
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:158
def IsInnerVert (d n : ℕ) (v : boxVerts d (n + 1)) : Prop := (v : Site d) ∈ box d n
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:110
Uses 4 · Used by 2
DefinitionOuter component avoiding the inner box#✓fully proved
OutsideOnly as a predicate on components of the outer graph.
noncomputable def IsOutsideOnly (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
(outsideGraph d n ψ).ConnectedComponent → Prop :=
ConnectedComponent.lift (OutsideOnly d n ψ)
(fun _ _ p _ => propext ⟨fun h => outsideOnly_of_reachable d n ψ h p.reachable,
fun h => outsideOnly_of_reachable d n ψ h p.reachable.symm⟩)
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
noncomputable def outsideGraph (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d (n + 1)) :=
outsideOpenGraph d n ψ ⊔ StatMech.Lattice.boundaryCliqueGraph (boxBoundary d (n + 1))
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:158
def OutsideOnly (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(u : boxVerts d (n + 1)) : Prop :=
∀ v, (outsideGraph d n ψ).Reachable u v → ¬ IsInnerVert d n v
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:373
lemma outsideOnly_of_reachable (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
{u v : boxVerts d (n + 1)} (hu : OutsideOnly d n ψ u)
(h : (outsideGraph d n ψ).Reachable u v) : OutsideOnly d n ψ v
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:381
DefinitionOuter components avoiding the inner box#✓fully proved
The components of the outer graph that avoid Λ_n.
def OutsideOnlyComp (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : Type :=
{c : (outsideGraph d n ψ).ConnectedComponent // IsOutsideOnly d n ψ c}
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
noncomputable def outsideGraph (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d (n + 1)) :=
outsideOpenGraph d n ψ ⊔ StatMech.Lattice.boundaryCliqueGraph (boxBoundary d (n + 1))
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:158
noncomputable def IsOutsideOnly (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
(outsideGraph d n ψ).ConnectedComponent → Prop :=
ConnectedComponent.lift (OutsideOnly d n ψ)
(fun _ _ p _ => propext ⟨fun h => outsideOnly_of_reachable d n ψ h p.reachable,
fun h => outsideOnly_of_reachable d n ψ h p.reachable.symm⟩)
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:400
DefinitionComponent map into the wired glued graph#✓fully proved
The map from components of innerGraph and outer components avoiding Λ_n to components of the
glued graph.
noncomputable def fullComponentMap (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
(innerGraph d n ω ψ).ConnectedComponent ⊕ OutsideOnlyComp d n ψ →
(fullGraph d n ω ψ).ConnectedComponent
| Sum.inl c => c.lift (fun x => (fullGraph d n ω ψ).connectedComponentMk (boxVertIncl d n x))
(fun _ _ p _ => ConnectedComponent.sound
(fullGraph_reachable_of_innerGraph d n ω ψ p.reachable))
| Sum.inr c => c.1.lift (fun v => (fullGraph d n ω ψ).connectedComponentMk v)
(fun _ _ p _ => ConnectedComponent.sound
(p.reachable.mono (outsideGraph_le_fullGraph d n ω ψ)))
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
noncomputable abbrev innerGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d n) :=
openSub (boxGraph d n) ω ⊔ inducedWiring d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:254
def OutsideOnlyComp (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : Type :=
{c : (outsideGraph d n ψ).ConnectedComponent // IsOutsideOnly d n ψ c}
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:412
noncomputable abbrev fullGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d (n + 1)) :=
innerImageGraph d n ω ⊔ outsideGraph d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:249
def boxVertIncl (d n : ℕ) (x : boxVerts d n) : boxVerts d (n + 1) :=
⟨(x : Site d), box_subset_succ d n x.2⟩
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:68
lemma fullGraph_reachable_of_innerGraph (d n : ℕ)
(ω : ConfigSpace (Sym2 (boxVerts d n))) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
{x y : boxVerts d n} (h : (innerGraph d n ω ψ).Reachable x y) :
(fullGraph d n ω ψ).Reachable (boxVertIncl d n x) (boxVertIncl d n y)
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:303
lemma outsideGraph_le_fullGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
outsideGraph d n ψ ≤ fullGraph d n ω ψ
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:264
Uses 17 · Used by 1
DefinitionComponent decomposition of the wired glued graph#✓fully proved
Components of the glued graph are components of innerGraph plus the outer components avoiding
Λ_n.
noncomputable def fullComponentEquiv (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
(innerGraph d n ω ψ).ConnectedComponent ⊕ OutsideOnlyComp d n ψ ≃
(fullGraph d n ω ψ).ConnectedComponent :=
Equiv.ofBijective (fullComponentMap d n ω ψ)
⟨fullComponentMap_injective d n ω ψ, fullComponentMap_surjective d n ω ψ⟩
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
noncomputable abbrev innerGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d n) :=
openSub (boxGraph d n) ω ⊔ inducedWiring d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:254
def OutsideOnlyComp (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : Type :=
{c : (outsideGraph d n ψ).ConnectedComponent // IsOutsideOnly d n ψ c}
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:412
noncomputable abbrev fullGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d (n + 1)) :=
innerImageGraph d n ω ⊔ outsideGraph d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:249
noncomputable def fullComponentMap (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
(innerGraph d n ω ψ).ConnectedComponent ⊕ OutsideOnlyComp d n ψ →
(fullGraph d n ω ψ).ConnectedComponent
| Sum.inl c => c.lift (fun x => (fullGraph d n ω ψ).connectedComponentMk (boxVertIncl d n x))
(fun _ _ p _ => ConnectedComponent.sound
(fullGraph_reachable_of_innerGraph d n ω ψ p.reachable))
| Sum.inr c => c.1.lift (fun v => (fullGraph d n ω ψ).connectedComponentMk v)
(fun _ _ p _ => ConnectedComponent.sound
(p.reachable.mono (outsideGraph_le_fullGraph d n ω ψ)))
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:423
lemma fullComponentMap_injective (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
Function.Injective (fullComponentMap d n ω ψ)
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:445
lemma fullComponentMap_surjective (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
Function.Surjective (fullComponentMap d n ω ψ)
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:481
Uses 20 · Used by 1
DefinitionNumber of outer components avoiding the inner box#✓fully proved
The number of outer components avoiding Λ_n.
noncomputable def outsideShift (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : ℕ :=
Nat.card (OutsideOnlyComp d n ψ)
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
def OutsideOnlyComp (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : Type :=
{c : (outsideGraph d n ψ).ConnectedComponent // IsOutsideOnly d n ψ c}
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:412
Uses 3 · Used by 3
LemmaWired cluster count of a glued configuration splits additively#✓fully proved
The wired cluster count of a glued configuration is the induced cluster count of ω plus
outsideShift d n ψ.
lemma numClustersBC_psiExt (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
numClustersBC (boxGraph d (n + 1))
(StatMech.Lattice.boundaryCliqueGraph (boxBoundary d (n + 1))) (psiExt d n ψ ω)
= numClustersBC (boxGraph d n) (inducedWiring d n ψ) ω + outsideShift d n ψ
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
noncomputable def numClustersBC (C : SimpleGraph V) [DecidableRel C.Adj]
(ω : ConfigSpace (Sym2 V)) : ℕ :=
Nat.card (openSub G ω ⊔ C).ConnectedComponent
PhyslibExt/StatisticalMechanics/RandomCluster/MonoBC.lean:75
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
def boundaryCliqueGraph : SimpleGraph V := SimpleGraph.fromRel (wireRel bdry)
MathlibExt/Combinatorics/SimpleGraph/Lattice/BoundaryConditions.lean:121
def boxBoundary (d n : ℕ) (x : boxVerts d n) : Prop := (x : Site d) ∈ vertexBoundary d n
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:151
noncomputable def psiExt (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(ω : ConfigSpace (Sym2 (boxVerts d n))) : ConfigSpace (Sym2 (boxVerts d (n + 1))) :=
fun e => if h : e ∈ Set.range (innerEdge d n) then ω h.choose else ψ e
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:78
noncomputable def inducedWiring (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d n) where
Adj x y := x ≠ y ∧ (outsideGraph d n ψ).Reachable (boxVertIncl d n x) (boxVertIncl d n y)
symm := by
refine ⟨?_⟩
rintro x y ⟨hne, hreach⟩
exact ⟨hne.symm, hreach.symm⟩
loopless := ⟨by rintro x ⟨hne, _⟩; exact hne rfl⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:176
noncomputable def outsideShift (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : ℕ :=
Nat.card (OutsideOnlyComp d n ψ)
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:510
Uses 21 · Used by 1
E. Factorization of the weights
DefinitionOuter Bernoulli edge factor of an outer configuration#✓fully proved
The Bernoulli edge product over the edges of Λ_(n+1) outside Λ_n, evaluated at ψ.
noncomputable def psiEdgeFactor (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(p : ℝ) : ℝ :=
∏ e ∈ (boxGraph d (n + 1)).edgeFinset.filter (fun e => e ∉ Set.range (innerEdge d n)),
(if ψ e then p else 1 - p)
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
def innerEdge (d n : ℕ) : Sym2 (boxVerts d n) → Sym2 (boxVerts d (n + 1)) :=
Sym2.map (boxVertIncl d n)
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:97
Uses 6 · Used by 6
LemmaEdge product of a glued configuration factorizes#✓fully proved
The edge product of a glued configuration factorizes into the inner edge product and
psiEdgeFactor.
lemma edgeProduct_psiExt (d n : ℕ) {p : ℝ} (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(ω : ConfigSpace (Sym2 (boxVerts d n))) :
edgeProduct (boxGraph d (n + 1)) p (psiExt d n ψ ω)
= edgeProduct (boxGraph d n) p ω * psiEdgeFactor d n ψ p
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
def edgeProduct (p : ℝ) (ω : ConfigSpace (Sym2 V)) : ℝ :=
∏ e ∈ G.edgeFinset, (if ω e then p else 1 - p)
PhyslibExt/StatisticalMechanics/RandomCluster/RandomCluster.lean:126
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
noncomputable def psiExt (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(ω : ConfigSpace (Sym2 (boxVerts d n))) : ConfigSpace (Sym2 (boxVerts d (n + 1))) :=
fun e => if h : e ∈ Set.range (innerEdge d n) then ω h.choose else ψ e
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:78
noncomputable def psiEdgeFactor (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(p : ℝ) : ℝ :=
∏ e ∈ (boxGraph d (n + 1)).edgeFinset.filter (fun e => e ∉ Set.range (innerEdge d n)),
(if ψ e then p else 1 - p)
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:535
Uses 11 · Used by 2
DefinitionOuter weight factor of an outer configuration#✓fully proved
The factor depending only on ψ: psiEdgeFactor · q ^ outsideShift.
noncomputable def psiShift (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(p q : ℝ) : ℝ :=
psiEdgeFactor d n ψ p * q ^ outsideShift d n ψ
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
noncomputable def psiEdgeFactor (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(p : ℝ) : ℝ :=
∏ e ∈ (boxGraph d (n + 1)).edgeFinset.filter (fun e => e ∉ Set.range (innerEdge d n)),
(if ψ e then p else 1 - p)
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:535
noncomputable def outsideShift (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : ℕ :=
Nat.card (OutsideOnlyComp d n ψ)
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:510
LemmaDomain Markov property for the wired measure on nested boxes#✓fully proved
Domain Markov property: the wired measure on Λ_(n+1), conditioned on the outer configuration
ψ, is the random-cluster measure on Λ_n with the induced wiring.
lemma condBcProb_psiExt_eq_bcProb (d n : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q)
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
condBcProb (boxGraph d (n + 1))
(StatMech.Lattice.boundaryCliqueGraph (boxBoundary d (n + 1))) p q
(innerEdgeFinset d n) ψ (psiExt d n ψ ω)
= bcProb (boxGraph d n) (inducedWiring d n ψ) p q ω
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
noncomputable def condBcProb (p q : ℝ) (F : Finset (Sym2 V)) (ψ ω : ConfigSpace (Sym2 V)) : ℝ :=
if AgreesOff F ψ ω then bcWeight G C p q ω / inducedBcZ G C p q F ψ else 0
PhyslibExt/StatisticalMechanics/RandomCluster/WiredDominationInner.lean:113
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
def boundaryCliqueGraph : SimpleGraph V := SimpleGraph.fromRel (wireRel bdry)
MathlibExt/Combinatorics/SimpleGraph/Lattice/BoundaryConditions.lean:121
def boxBoundary (d n : ℕ) (x : boxVerts d n) : Prop := (x : Site d) ∈ vertexBoundary d n
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:151
noncomputable def innerEdgeFinset (d n : ℕ) : Finset (Sym2 (boxVerts d (n + 1))) :=
Finset.univ.image (innerEdge d n)
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:440
noncomputable def psiExt (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(ω : ConfigSpace (Sym2 (boxVerts d n))) : ConfigSpace (Sym2 (boxVerts d (n + 1))) :=
fun e => if h : e ∈ Set.range (innerEdge d n) then ω h.choose else ψ e
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:78
noncomputable def bcProb (p q : ℝ) (ω : ConfigSpace (Sym2 V)) : ℝ :=
bcWeight G C p q ω / bcZ G C p q
PhyslibExt/StatisticalMechanics/RandomCluster/MonoBC.lean:152
noncomputable def inducedWiring (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d n) where
Adj x y := x ≠ y ∧ (outsideGraph d n ψ).Reachable (boxVertIncl d n x) (boxVertIncl d n y)
symm := by
refine ⟨?_⟩
rintro x y ⟨hne, hreach⟩
exact ⟨hne.symm, hreach.symm⟩
loopless := ⟨by rintro x ⟨hne, _⟩; exact hne rfl⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:176
Uses 28 · Used by 1
F. The induced wiring lives on the boundary
LemmaInduced wiring lies below the inner boundary clique#✓fully proved
The induced wiring lies below the clique on ∂Λ_n.
lemma inducedWiring_le_wired (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
inducedWiring d n ψ ≤ StatMech.Lattice.boundaryCliqueGraph (boxBoundary d n)
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
noncomputable def inducedWiring (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d n) where
Adj x y := x ≠ y ∧ (outsideGraph d n ψ).Reachable (boxVertIncl d n x) (boxVertIncl d n y)
symm := by
refine ⟨?_⟩
rintro x y ⟨hne, hreach⟩
exact ⟨hne.symm, hreach.symm⟩
loopless := ⟨by rintro x ⟨hne, _⟩; exact hne rfl⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:176
def boundaryCliqueGraph : SimpleGraph V := SimpleGraph.fromRel (wireRel bdry)
MathlibExt/Combinatorics/SimpleGraph/Lattice/BoundaryConditions.lean:121
def boxBoundary (d n : ℕ) (x : boxVerts d n) : Prop := (x : Site d) ∈ vertexBoundary d n
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:151
Uses 17 · Used by 1
G. Domination by the wired measure
LemmaWired box measure dominates the induced-wiring measure for \(q \ge 1\)#✓fully proved
For q ≥ 1, the measure on Λ_n with the induced wiring is dominated by the wired measure on
Λ_n.
lemma condBcProb_psiExt_dominated_wired (d n : ℕ)
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 1 ≤ q)
{A : Set (ConfigSpace (Sym2 (boxVerts d n)))} (hA : IsIncreasing A) :
(∑ ω, A.indicator (fun _ => (1 : ℝ)) ω
* bcProb (boxGraph d n) (inducedWiring d n ψ) p q ω)
≤ ∑ ω, A.indicator (fun _ => (1 : ℝ)) ω
* wiredFkProb (boxGraph d n) (boxBoundary d n) p q ω
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
def IsIncreasing (A : Set (ConfigSpace E)) : Prop := IsUpperSet A
MathlibExt/Probability/CorrelationInequalities/IncreasingEvent.lean:55
noncomputable def bcProb (p q : ℝ) (ω : ConfigSpace (Sym2 V)) : ℝ :=
bcWeight G C p q ω / bcZ G C p q
PhyslibExt/StatisticalMechanics/RandomCluster/MonoBC.lean:152
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
noncomputable def inducedWiring (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d n) where
Adj x y := x ≠ y ∧ (outsideGraph d n ψ).Reachable (boxVertIncl d n x) (boxVertIncl d n y)
symm := by
refine ⟨?_⟩
rintro x y ⟨hne, hreach⟩
exact ⟨hne.symm, hreach.symm⟩
loopless := ⟨by rintro x ⟨hne, _⟩; exact hne rfl⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InducedBC.lean:176
noncomputable def wiredFkProb (p q : ℝ) (ω : ConfigSpace (Sym2 V)) : ℝ :=
wiredFkWeight G bdry p q ω / wiredFkZ G bdry p q
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:105
def boxBoundary (d n : ℕ) (x : boxVerts d n) : Prop := (x : Site d) ∈ vertexBoundary d n
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:151
Uses 15 · Used by 1
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.