The wired box measure as a conditional measure on the next box
A. Including Λ_n into Λ_{n+1}
DefinitionInclusion of box vertices into the next box#✓fully proved
The inclusion of the vertices of Λ_n into Λ_{n+1}. The case m = n + 1 of boxVertInclLE.
def boxVertIncl (d n : ℕ) (x : boxVerts d n) : boxVerts d (n + 1) :=
⟨(x : Site d), box_subset_succ d n x.2⟩
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
theorem box_subset_succ (d n : ℕ) : box d n ⊆ box d (n + 1)
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:132
Uses 3 · Used by 43
DefinitionBox as an induced subgraph of the next box#✓fully proved
Λ_n as an induced subgraph of Λ_{n+1}.
def boxGraphEmb (d n : ℕ) : boxGraph d n ↪g boxGraph d (n + 1) :=
(boxGraph_eq_comap d n) ▸
SimpleGraph.Embedding.comap ⟨boxVertIncl d n, boxVertIncl_injective d n⟩ (boxGraph d (n + 1))
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
lemma boxGraph_eq_comap (d n : ℕ) :
boxGraph d n = (boxGraph d (n + 1)).comap (boxVertIncl d n)
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:86
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 boxVertIncl_injective (d n : ℕ) : Function.Injective (boxVertIncl d n)
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:74
DefinitionInclusion of box edges into the next box#✓fully proved
The inclusion of edges (unordered pairs) of Λ_n into Λ_{n+1}.
def innerEdge (d n : ℕ) : Sym2 (boxVerts d n) → Sym2 (boxVerts d (n + 1)) :=
Sym2.map (boxVertIncl d n)
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
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 2 · Used by 43
DefinitionVertex of the next box lying in the inner box#✓fully proved
A vertex of Λ_{n+1} lies in Λ_n.
def IsInnerVert (d n : ℕ) (v : boxVerts d (n + 1)) : Prop := (v : Site d) ∈ box d n
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def box (d n : ℕ) : Set (Site d) := {x | ∀ i, (x i).natAbs ≤ n}
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:86
Uses 3 · Used by 27
B. Extension by closed annulus edges and wiring the inner boundary
DefinitionExtension of a configuration closing the annulus edges#✓fully proved
The extension of a configuration of Λ_n to Λ_{n+1} that closes every edge not coming from
Λ_n.
noncomputable def crossExt (d n : ℕ) (ω : 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 false
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 10
DefinitionVertex on the boundary of the inner box#✓fully proved
A vertex of Λ_{n+1} on the vertex boundary of Λ_n.
def innerBdry (d n : ℕ) (v : boxVerts d (n + 1)) : Prop :=
IsInnerVert d n v ∧ (v : Site d) ∈ vertexBoundary d n
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
def IsInnerVert (d n : ℕ) (v : boxVerts d (n + 1)) : Prop := (v : Site d) ∈ box d n
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:110
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def vertexBoundary (d n : ℕ) : Set (Site d) := box d n \ box d (n - 1)
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:102
Uses 5 · Used by 9
DefinitionExtended open graph with the inner box boundary wired#✓fully proved
The open subgraph of crossExt ω in Λ_{n+1} with the boundary of Λ_n wired.
noncomputable def crossWiredGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
SimpleGraph (boxVerts d (n + 1)) :=
wiredGraph (boxGraph d (n + 1)) (innerBdry d n) (crossExt 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 wiredGraph (ω : Sym2 V → Bool) : SimpleGraph V :=
openGraph G ω ⊔ boundaryCliqueGraph bdry
MathlibExt/Combinatorics/SimpleGraph/Lattice/BoundaryConditions.lean:138
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
def innerBdry (d n : ℕ) (v : boxVerts d (n + 1)) : Prop :=
IsInnerVert d n v ∧ (v : Site d) ∈ vertexBoundary d n
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:146
noncomputable def crossExt (d n : ℕ) (ω : 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 false
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:133
Uses 8 · Used by 9
C. Clusters of the extended configuration
AbbreviationOpen graph of a box configuration with the box boundary wired#✓fully proved
The open subgraph of ω in Λ_n with the boundary of Λ_n wired.
noncomputable abbrev innerWiredGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
SimpleGraph (boxVerts d n) :=
wiredGraph (boxGraph d n) (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
def wiredGraph (ω : Sym2 V → Bool) : SimpleGraph V :=
openGraph G ω ⊔ boundaryCliqueGraph bdry
MathlibExt/Combinatorics/SimpleGraph/Lattice/BoundaryConditions.lean:138
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
def boxBoundary (d n : ℕ) (x : boxVerts d n) : Prop := (x : Site d) ∈ vertexBoundary d n
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:151
Uses 7 · Used by 8
DefinitionInclusion of the wired inner graph into the extended wired graph#✓fully proved
The inclusion of the wired open graph of Λ_n into crossWiredGraph.
def innerWiredHom (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
(innerWiredGraph d n ω) →g (crossWiredGraph d n ω) where
toFun := boxVertIncl d n
map_rel' := fun {a b} hab => (crossWiredGraph_adj_boxVertIncl d n ω a b).mpr hab
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 innerWiredGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
SimpleGraph (boxVerts d n) :=
wiredGraph (boxGraph d n) (boxBoundary d n) ω
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:284
noncomputable def crossWiredGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
SimpleGraph (boxVerts d (n + 1)) :=
wiredGraph (boxGraph d (n + 1)) (innerBdry d n) (crossExt d n ω)
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:163
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 crossWiredGraph_adj_boxVertIncl (d n : ℕ)
(ω : ConfigSpace (Sym2 (boxVerts d n))) (x y : boxVerts d n) :
(crossWiredGraph d n ω).Adj (boxVertIncl d n x) (boxVertIncl d n y)
↔ (wiredGraph (boxGraph d n) (boxBoundary d n) ω).Adj x y
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:201
Uses 19 · Used by 1
DefinitionMap from inner wired components and annulus vertices to components#✓fully proved
Components of crossWiredGraph from wired components of ω in Λ_n and annulus vertices.
noncomputable def crossComponentEquivFun (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
(innerWiredGraph d n ω).ConnectedComponent ⊕
{v : boxVerts d (n + 1) // ¬ IsInnerVert d n v} →
(crossWiredGraph d n ω).ConnectedComponent
| Sum.inl c => c.map (innerWiredHom d n ω)
| Sum.inr v => (crossWiredGraph d n ω).connectedComponentMk v.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 abbrev innerWiredGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
SimpleGraph (boxVerts d n) :=
wiredGraph (boxGraph d n) (boxBoundary d n) ω
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:284
def IsInnerVert (d n : ℕ) (v : boxVerts d (n + 1)) : Prop := (v : Site d) ∈ box d n
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:110
noncomputable def crossWiredGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
SimpleGraph (boxVerts d (n + 1)) :=
wiredGraph (boxGraph d (n + 1)) (innerBdry d n) (crossExt d n ω)
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:163
def innerWiredHom (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
(innerWiredGraph d n ω) →g (crossWiredGraph d n ω) where
toFun := boxVertIncl d n
map_rel' := fun {a b} hab => (crossWiredGraph_adj_boxVertIncl d n ω a b).mpr hab
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:289
Uses 6 · Used by 1
DefinitionExtended-graph components as inner components plus annulus vertices#✓fully proved
Components of crossWiredGraph are the wired components of ω in Λ_n plus one singleton per
annulus vertex.
noncomputable def crossComponentEquiv (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
(innerWiredGraph d n ω).ConnectedComponent ⊕
{v : boxVerts d (n + 1) // ¬ IsInnerVert d n v} ≃
(crossWiredGraph d n ω).ConnectedComponent :=
Equiv.ofBijective (crossComponentEquivFun d n ω)
⟨crossComponentEquivFun_injective d n ω, crossComponentEquivFun_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 innerWiredGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
SimpleGraph (boxVerts d n) :=
wiredGraph (boxGraph d n) (boxBoundary d n) ω
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:284
def IsInnerVert (d n : ℕ) (v : boxVerts d (n + 1)) : Prop := (v : Site d) ∈ box d n
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:110
noncomputable def crossWiredGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
SimpleGraph (boxVerts d (n + 1)) :=
wiredGraph (boxGraph d (n + 1)) (innerBdry d n) (crossExt d n ω)
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:163
noncomputable def crossComponentEquivFun (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
(innerWiredGraph d n ω).ConnectedComponent ⊕
{v : boxVerts d (n + 1) // ¬ IsInnerVert d n v} →
(crossWiredGraph d n ω).ConnectedComponent
| Sum.inl c => c.map (innerWiredHom d n ω)
| Sum.inr v => (crossWiredGraph d n ω).connectedComponentMk v.1
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:295
lemma crossComponentEquivFun_injective (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
Function.Injective (crossComponentEquivFun d n ω)
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:316
lemma crossComponentEquivFun_surjective (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
Function.Surjective (crossComponentEquivFun d n ω)
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:341
Uses 20 · Used by 1
DefinitionNumber of annulus vertices between consecutive boxes#✓fully proved
The number of vertices of the annulus Λ_{n+1} \ Λ_n.
noncomputable def annulusCard (d n : ℕ) : ℕ :=
Nat.card {v : boxVerts d (n + 1) // ¬ IsInnerVert d n v}
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
def IsInnerVert (d n : ℕ) (v : boxVerts d (n + 1)) : Prop := (v : Site d) ∈ box d n
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:110
Uses 2 · Used by 2
D. Weights and the conditional measure
DefinitionNumber of next-box edges not coming from the inner box#✓fully proved
The number of edges of Λ_{n+1} not coming from Λ_n.
noncomputable def nonInnerEdgeCard (d n : ℕ) : ℕ :=
((boxGraph d (n + 1)).edgeFinset.filter (fun e => e ∉ Set.range (innerEdge d n))).card
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 5 · Used by 4
DefinitionAnnulus constant linking the extended and wired inner weights#✓fully proved
The constant (1 - p)^{#annulus edges} q^{#annulus vertices} relating the extended weight to
the
wired weight on Λ_n.
noncomputable def crossShift (d n : ℕ) (p q : ℝ) : ℝ :=
(1 - p) ^ nonInnerEdgeCard d n * q ^ annulusCard d n
noncomputable def nonInnerEdgeCard (d n : ℕ) : ℕ :=
((boxGraph d (n + 1)).edgeFinset.filter (fun e => e ∉ Set.range (innerEdge d n))).card
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:395
noncomputable def annulusCard (d n : ℕ) : ℕ :=
Nat.card {v : boxVerts d (n + 1) // ¬ IsInnerVert d n v}
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:364
Uses 2 · Used by 1
DefinitionEdges of the next box coming from the inner box#✓fully proved
The edges of Λ_{n+1} coming from Λ_n.
noncomputable def innerEdgeFinset (d n : ℕ) : Finset (Sym2 (boxVerts d (n + 1))) :=
Finset.univ.image (innerEdge d n)
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 4 · Used by 20
DefinitionRestriction of a next-box configuration to the inner edges#✓fully proved
The restriction of a configuration of Λ_{n+1} to the edges of Λ_n.
noncomputable def innerRestrict (d n : ℕ) (ρ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
ConfigSpace (Sym2 (boxVerts d n)) :=
fun e => ρ (innerEdge d n 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 3 · Used by 18
DefinitionConfigurations closed off the inner edges as inner-box configurations#✓fully proved
Configurations of Λ_{n+1} closed off the inner edges correspond to configurations of Λ_n.
noncomputable def innerFibreEquiv (d n : ℕ) :
{ρ : ConfigSpace (Sym2 (boxVerts d (n + 1))) //
AgreesOff (innerEdgeFinset d n) (fun _ => false) ρ} ≃
ConfigSpace (Sym2 (boxVerts d n)) where
toFun ρ := innerRestrict d n ρ.1
invFun ω := ⟨crossExt d n ω, agreesOff_crossExt d n ω⟩
left_inv ρ := by
apply Subtype.ext
exact crossExt_innerRestrict_of_agreesOff d n ρ.2
right_inv ω := innerRestrict_crossExt 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 AgreesOff (F : Finset (Sym2 V)) (ψ : ConfigSpace (Sym2 V)) :
ConfigSpace (Sym2 V) → Prop :=
fun ω => ∀ e, e ∉ F → ω e = ψ e
PhyslibExt/StatisticalMechanics/RandomCluster/DomainMarkov.lean:58
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 innerRestrict (d n : ℕ) (ρ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
ConfigSpace (Sym2 (boxVerts d n)) :=
fun e => ρ (innerEdge d n e)
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:448
noncomputable def crossExt (d n : ℕ) (ω : 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 false
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:133
lemma agreesOff_crossExt (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
AgreesOff (innerEdgeFinset d n) (fun _ => false) (crossExt d n ω)
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:470
Uses 10
TheoremDomain Markov property for the wired box measure#✓fully proved
Conditioned on every edge outside Λ_n being
closed, the random-cluster measure on Λ_{n+1} with the boundary of Λ_n wired is the wired
random-cluster measure on Λ_n (Grimmett, The Random-Cluster Model, 2006, Lemma 4.13).
theorem condBcProb_crossExt_eq_wiredFkProb (d n : ℕ) {p q : ℝ}
(_hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
condBcProb (boxGraph d (n + 1))
(StatMech.Lattice.boundaryCliqueGraph (innerBdry d n)) p q
(innerEdgeFinset d n) (fun _ => false) (crossExt d n ω)
= 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
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 innerBdry (d n : ℕ) (v : boxVerts d (n + 1)) : Prop :=
IsInnerVert d n v ∧ (v : Site d) ∈ vertexBoundary d n
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:146
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 crossExt (d n : ℕ) (ω : 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 false
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:133
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 36
E. Additional wiring in the annulus
DefinitionWiring with every edge inside the annulus#✓fully proved
Every edge of D joins vertices of the annulus Λ_{n+1} \ Λ_n.
def IsAnnulusWiring (d n : ℕ) (D : SimpleGraph (boxVerts d (n + 1))) : Prop :=
∀ ⦃u v⦄, D.Adj u v → ¬ IsInnerVert d n u
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
def IsInnerVert (d n : ℕ) (v : boxVerts d (n + 1)) : Prop := (v : Site d) ∈ box d n
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:110
Uses 2 · Used by 5
DefinitionExtended wired graph with an extra wiring added#✓fully proved
crossWiredGraph with the extra wiring D added.
noncomputable def crossWiredGraphAdd (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(D : SimpleGraph (boxVerts d (n + 1))) : SimpleGraph (boxVerts d (n + 1)) :=
crossWiredGraph d n ω ⊔ D
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 crossWiredGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
SimpleGraph (boxVerts d (n + 1)) :=
wiredGraph (boxGraph d (n + 1)) (innerBdry d n) (crossExt d n ω)
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:163
Uses 3 · Used by 5
AbbreviationVertices of the annulus between consecutive boxes#✓fully proved
The vertices of the annulus Λ_{n+1} \ Λ_n.
abbrev AnnulusVert (d n : ℕ) : Type := {v : boxVerts d (n + 1) // ¬ IsInnerVert d n v}
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
def IsInnerVert (d n : ℕ) (v : boxVerts d (n + 1)) : Prop := (v : Site d) ∈ box d n
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:110
Uses 2 · Used by 6
DefinitionRestriction of a wiring to the annulus vertices#✓fully proved
The restriction of D to the annulus vertices.
noncomputable def annulusSubgraph (d n : ℕ) (D : SimpleGraph (boxVerts d (n + 1))) :
SimpleGraph (AnnulusVert d n) :=
SimpleGraph.comap (Subtype.val) D
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
abbrev AnnulusVert (d n : ℕ) : Type := {v : boxVerts d (n + 1) // ¬ IsInnerVert d n v}
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:597
Uses 3 · Used by 5
DefinitionInclusion of the wired inner graph into the extra-wired graph#✓fully proved
The inclusion of the wired open graph of Λ_n into crossWiredGraphAdd.
def innerWiredHomAdd (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
{D : SimpleGraph (boxVerts d (n + 1))} (hD : IsAnnulusWiring d n D) :
(innerWiredGraph d n ω) →g (crossWiredGraphAdd d n ω D) where
toFun := boxVertIncl d n
map_rel' := fun {a b} hab => (crossWiredGraphAdd_adj_boxVertIncl d n ω hD a b).mpr hab
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 IsAnnulusWiring (d n : ℕ) (D : SimpleGraph (boxVerts d (n + 1))) : Prop :=
∀ ⦃u v⦄, D.Adj u v → ¬ IsInnerVert d n u
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:538
noncomputable abbrev innerWiredGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
SimpleGraph (boxVerts d n) :=
wiredGraph (boxGraph d n) (boxBoundary d n) ω
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:284
noncomputable def crossWiredGraphAdd (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(D : SimpleGraph (boxVerts d (n + 1))) : SimpleGraph (boxVerts d (n + 1)) :=
crossWiredGraph d n ω ⊔ D
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:549
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 crossWiredGraphAdd_adj_boxVertIncl (d n : ℕ)
(ω : ConfigSpace (Sym2 (boxVerts d n))) {D : SimpleGraph (boxVerts d (n + 1))}
(hD : IsAnnulusWiring d n D) (x y : boxVerts d n) :
(crossWiredGraphAdd d n ω D).Adj (boxVertIncl d n x) (boxVertIncl d n y)
↔ (innerWiredGraph d n ω).Adj x y
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:609
Uses 21 · Used by 1
DefinitionInclusion of the annulus wiring into the extra-wired graph#✓fully proved
The inclusion of the annulus wiring into crossWiredGraphAdd.
def annulusHomAdd (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(D : SimpleGraph (boxVerts d (n + 1))) :
(annulusSubgraph d n D) →g (crossWiredGraphAdd d n ω D) where
toFun := Subtype.val
map_rel' := fun {a b} hab => (crossWiredGraphAdd_adj_annulus d n ω D a b).mpr hab
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 annulusSubgraph (d n : ℕ) (D : SimpleGraph (boxVerts d (n + 1))) :
SimpleGraph (AnnulusVert d n) :=
SimpleGraph.comap (Subtype.val) D
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:600
noncomputable def crossWiredGraphAdd (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(D : SimpleGraph (boxVerts d (n + 1))) : SimpleGraph (boxVerts d (n + 1)) :=
crossWiredGraph d n ω ⊔ D
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:549
lemma crossWiredGraphAdd_adj_annulus (d n : ℕ)
(ω : ConfigSpace (Sym2 (boxVerts d n))) (D : SimpleGraph (boxVerts d (n + 1)))
(a b : AnnulusVert d n) :
(crossWiredGraphAdd d n ω D).Adj a.1 b.1 ↔ (annulusSubgraph d n D).Adj a b
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:622
Uses 19 · Used by 1
DefinitionMap from inner and annulus-wiring components to extra-wired ones#✓fully proved
Components of crossWiredGraphAdd from wired components of ω in Λ_n and components of the
annulus wiring.
noncomputable def crossComponentEquivAddFun (d n : ℕ)
(ω : ConfigSpace (Sym2 (boxVerts d n))) {D : SimpleGraph (boxVerts d (n + 1))}
(hD : IsAnnulusWiring d n D) :
(innerWiredGraph d n ω).ConnectedComponent ⊕
(annulusSubgraph d n D).ConnectedComponent →
(crossWiredGraphAdd d n ω D).ConnectedComponent
| Sum.inl c => c.map (innerWiredHomAdd d n ω hD)
| Sum.inr a => a.map (annulusHomAdd d n ω D)
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 IsAnnulusWiring (d n : ℕ) (D : SimpleGraph (boxVerts d (n + 1))) : Prop :=
∀ ⦃u v⦄, D.Adj u v → ¬ IsInnerVert d n u
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:538
noncomputable abbrev innerWiredGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
SimpleGraph (boxVerts d n) :=
wiredGraph (boxGraph d n) (boxBoundary d n) ω
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:284
noncomputable def annulusSubgraph (d n : ℕ) (D : SimpleGraph (boxVerts d (n + 1))) :
SimpleGraph (AnnulusVert d n) :=
SimpleGraph.comap (Subtype.val) D
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:600
noncomputable def crossWiredGraphAdd (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(D : SimpleGraph (boxVerts d (n + 1))) : SimpleGraph (boxVerts d (n + 1)) :=
crossWiredGraph d n ω ⊔ D
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:549
def innerWiredHomAdd (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
{D : SimpleGraph (boxVerts d (n + 1))} (hD : IsAnnulusWiring d n D) :
(innerWiredGraph d n ω) →g (crossWiredGraphAdd d n ω D) where
toFun := boxVertIncl d n
map_rel' := fun {a b} hab => (crossWiredGraphAdd_adj_boxVertIncl d n ω hD a b).mpr hab
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:694
def annulusHomAdd (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(D : SimpleGraph (boxVerts d (n + 1))) :
(annulusSubgraph d n D) →g (crossWiredGraphAdd d n ω D) where
toFun := Subtype.val
map_rel' := fun {a b} hab => (crossWiredGraphAdd_adj_annulus d n ω D a b).mpr hab
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:701
Uses 9 · Used by 1
DefinitionExtra-wired components as inner plus annulus-wiring components#✓fully proved
Components of crossWiredGraphAdd are the wired components of ω in Λ_n plus the components
of
the annulus wiring.
noncomputable def crossComponentEquivAdd (d n : ℕ)
(ω : ConfigSpace (Sym2 (boxVerts d n))) {D : SimpleGraph (boxVerts d (n + 1))}
(hD : IsAnnulusWiring d n D) :
(innerWiredGraph d n ω).ConnectedComponent ⊕
(annulusSubgraph d n D).ConnectedComponent ≃
(crossWiredGraphAdd d n ω D).ConnectedComponent :=
Equiv.ofBijective (crossComponentEquivAddFun d n ω hD)
⟨crossComponentEquivAddFun_injective d n ω hD,
crossComponentEquivAddFun_surjective d n ω hD⟩
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 IsAnnulusWiring (d n : ℕ) (D : SimpleGraph (boxVerts d (n + 1))) : Prop :=
∀ ⦃u v⦄, D.Adj u v → ¬ IsInnerVert d n u
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:538
noncomputable abbrev innerWiredGraph (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
SimpleGraph (boxVerts d n) :=
wiredGraph (boxGraph d n) (boxBoundary d n) ω
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:284
noncomputable def annulusSubgraph (d n : ℕ) (D : SimpleGraph (boxVerts d (n + 1))) :
SimpleGraph (AnnulusVert d n) :=
SimpleGraph.comap (Subtype.val) D
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:600
noncomputable def crossWiredGraphAdd (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(D : SimpleGraph (boxVerts d (n + 1))) : SimpleGraph (boxVerts d (n + 1)) :=
crossWiredGraph d n ω ⊔ D
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:549
noncomputable def crossComponentEquivAddFun (d n : ℕ)
(ω : ConfigSpace (Sym2 (boxVerts d n))) {D : SimpleGraph (boxVerts d (n + 1))}
(hD : IsAnnulusWiring d n D) :
(innerWiredGraph d n ω).ConnectedComponent ⊕
(annulusSubgraph d n D).ConnectedComponent →
(crossWiredGraphAdd d n ω D).ConnectedComponent
| Sum.inl c => c.map (innerWiredHomAdd d n ω hD)
| Sum.inr a => a.map (annulusHomAdd d n ω D)
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:710
lemma crossComponentEquivAddFun_injective (d n : ℕ)
(ω : ConfigSpace (Sym2 (boxVerts d n))) {D : SimpleGraph (boxVerts d (n + 1))}
(hD : IsAnnulusWiring d n D) :
Function.Injective (crossComponentEquivAddFun d n ω hD)
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:733
lemma crossComponentEquivAddFun_surjective (d n : ℕ)
(ω : ConfigSpace (Sym2 (boxVerts d n))) {D : SimpleGraph (boxVerts d (n + 1))}
(hD : IsAnnulusWiring d n D) :
Function.Surjective (crossComponentEquivAddFun d n ω hD)
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:765
Uses 24 · Used by 1
DefinitionAnnulus constant counting the components of an extra wiring#✓fully proved
The constant (1 - p)^{#annulus edges} q^{#components of the annulus wiring}.
noncomputable def crossShiftAdd (d n : ℕ) (p q : ℝ)
(D : SimpleGraph (boxVerts d (n + 1))) : ℝ :=
(1 - p) ^ nonInnerEdgeCard d n * q ^ Nat.card (annulusSubgraph d n D).ConnectedComponent
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
noncomputable def nonInnerEdgeCard (d n : ℕ) : ℕ :=
((boxGraph d (n + 1)).edgeFinset.filter (fun e => e ∉ Set.range (innerEdge d n))).card
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:395
noncomputable def annulusSubgraph (d n : ℕ) (D : SimpleGraph (boxVerts d (n + 1))) :
SimpleGraph (AnnulusVert d n) :=
SimpleGraph.comap (Subtype.val) D
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:600
Uses 4 · Used by 1
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.