The free q = 2 random-cluster measures increase with the box
A. The wiring induced by an outer configuration
DefinitionWiring induced on a box by outer open edges#✓fully proved
The boundary wiring on Λ_n induced by an outer configuration ψ on Λ_(n+1): two distinct
vertices of Λ_n are wired when ψ connects them by open edges outside Λ_n.
noncomputable def inducedWiringFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d n) where
Adj x y := x ≠ y ∧ (outsideOpenGraph 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 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 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 12
LemmaAdjacency criterion for the free induced wiring#✓fully proved
Unfolding adjacency in the induced wiring.
lemma inducedWiringFree_adj (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(x y : boxVerts d n) :
(inducedWiringFree d n ψ).Adj x y
↔ x ≠ y ∧ (outsideOpenGraph d n ψ).Reachable (boxVertIncl d n x) (boxVertIncl d n 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 def inducedWiringFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d n) where
Adj x y := x ≠ y ∧ (outsideOpenGraph 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/FreeWeakLimit.lean:69
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 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
LemmaGlued open graph is the union of inner and outer open edges#✓fully proved
The open graph of a glued configuration is the union of the open edges of Λ_n and the outer
open edges.
lemma psiFreeGraph_eq_sup (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(ω : ConfigSpace (Sym2 (boxVerts d n))) :
openSub (boxGraph d (n + 1)) (psiExt d n ψ ω)
= innerImageGraph d n ω ⊔ outsideOpenGraph 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
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 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
Uses 11 · Used by 1
AbbreviationOpen graph of a glued configuration#✓fully proved
The open graph on Λ_(n+1) of ω on Λ_n glued into ψ.
noncomputable abbrev fullGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d (n + 1)) :=
innerImageGraph d n ω ⊔ outsideOpenGraph 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 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
Uses 4 · Used by 12
AbbreviationInner open graph with the free induced wiring#✓fully proved
The open graph of ω on Λ_n together with the wiring induced by ψ.
noncomputable abbrev innerGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d n) :=
openSub (boxGraph d n) ω ⊔ inducedWiringFree 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 inducedWiringFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d n) where
Adj x y := x ≠ y ∧ (outsideOpenGraph 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/FreeWeakLimit.lean:69
Uses 5 · Used by 10
LemmaOuter open graph lies in the glued open graph#✓fully proved
The outer open graph is contained in the glued open graph.
lemma outsideOpenGraph_le_fullGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
outsideOpenGraph d n ψ ≤ fullGraphFree 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 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
noncomputable abbrev fullGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d (n + 1)) :=
innerImageGraph d n ω ⊔ outsideOpenGraph d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:112
LemmaOuter open connections give connections in the inner graph#✓fully proved
Vertices of Λ_n connected by outer open edges are connected in innerGraphFree.
lemma innerGraphFree_reachable_of_outsideReachable (d n : ℕ)
(ω : ConfigSpace (Sym2 (boxVerts d n))) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
{x y : boxVerts d n}
(h : (outsideOpenGraph d n ψ).Reachable (boxVertIncl d n x) (boxVertIncl d n y)) :
(innerGraphFree 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 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 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 innerGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d n) :=
openSub (boxGraph d n) ω ⊔ inducedWiringFree d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:117
Uses 10 · Used by 1
LemmaInner-graph connections are glued-graph connections#✓fully proved
Connections in innerGraphFree are connections in the glued open graph.
lemma fullGraphFree_reachable_of_innerGraphFree (d n : ℕ)
(ω : ConfigSpace (Sym2 (boxVerts d n))) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
{x y : boxVerts d n} (h : (innerGraphFree d n ω ψ).Reachable x y) :
(fullGraphFree d n ω ψ).Reachable (boxVertIncl d n x) (boxVertIncl d n 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 innerGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d n) :=
openSub (boxGraph d n) ω ⊔ inducedWiringFree d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:117
noncomputable abbrev fullGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d (n + 1)) :=
innerImageGraph d n ω ⊔ outsideOpenGraph d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:112
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 16 · Used by 1
LemmaGlued connections between inner vertices are inner-graph connections#✓fully proved
Connections in the glued open graph between vertices of Λ_n are connections in
innerGraphFree.
lemma innerGraphFree_reachable_of_fullGraphFree (d n : ℕ)
(ω : ConfigSpace (Sym2 (boxVerts d n))) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
{x y : boxVerts d n}
(h : (fullGraphFree d n ω ψ).Reachable (boxVertIncl d n x) (boxVertIncl d n y)) :
(innerGraphFree 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 fullGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d (n + 1)) :=
innerImageGraph d n ω ⊔ outsideOpenGraph d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:112
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 innerGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d n) :=
openSub (boxGraph d n) ω ⊔ inducedWiringFree d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:117
Uses 17 · Used by 1
LemmaGlued open edges at outer vertices are outer edges#✓fully proved
An edge of the glued open graph at a vertex outside Λ_n is an outer open edge.
lemma fullGraphFree_adj_of_outside (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) {u w : boxVerts d (n + 1)}
(hu : ¬ IsInnerVert d n u) (h : (fullGraphFree d n ω ψ).Adj u w) :
(outsideOpenGraph d n ψ).Adj u w
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 IsInnerVert (d n : ℕ) (v : boxVerts d (n + 1)) : Prop := (v : Site d) ∈ box d n
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:110
noncomputable abbrev fullGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d (n + 1)) :=
innerImageGraph d n ω ⊔ outsideOpenGraph d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:112
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
Uses 12 · Used by 1
B. Clusters of a glued configuration
DefinitionOuter vertex whose outer open cluster avoids the inner box#✓fully proved
A vertex of Λ_(n+1) whose outer open cluster contains no vertex of Λ_n.
def OutsideOnlyFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(u : boxVerts d (n + 1)) : Prop :=
∀ v, (outsideOpenGraph 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 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 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 7
LemmaA vertex whose outer cluster avoids the inner box lies outside it#✓fully proved
A vertex whose outer cluster avoids Λ_n is not in Λ_n.
lemma outsideOnlyFree_self_not_inner (d n : ℕ)
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) {u : boxVerts d (n + 1)}
(hu : OutsideOnlyFree d n ψ u) : ¬ IsInnerVert d n u
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 OutsideOnlyFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(u : boxVerts d (n + 1)) : Prop :=
∀ v, (outsideOpenGraph d n ψ).Reachable u v → ¬ IsInnerVert d n v
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:206
def IsInnerVert (d n : ℕ) (v : boxVerts d (n + 1)) : Prop := (v : Site d) ∈ box d n
PhyslibExt/StatisticalMechanics/RandomCluster/BoxCrossGraph.lean:110
LemmaAvoiding the inner box is constant on outer open clusters#✓fully proved
Avoiding Λ_n is constant on outer open clusters.
lemma outsideOnlyFree_of_reachable (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
{u v : boxVerts d (n + 1)} (hu : OutsideOnlyFree d n ψ u)
(h : (outsideOpenGraph d n ψ).Reachable u v) : OutsideOnlyFree 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
def OutsideOnlyFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(u : boxVerts d (n + 1)) : Prop :=
∀ v, (outsideOpenGraph d n ψ).Reachable u v → ¬ IsInnerVert d n v
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:206
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
LemmaGlued connections from an avoiding vertex are outer connections#✓fully proved
From a vertex whose outer cluster avoids Λ_n, glued connections are outer connections.
lemma outsideOpenGraph_reachable_of_fullGraphFree_outsideOnly (d n : ℕ)
(ω : ConfigSpace (Sym2 (boxVerts d n))) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
{u w : boxVerts d (n + 1)} (hu : OutsideOnlyFree d n ψ u)
(h : (fullGraphFree d n ω ψ).Reachable u w) :
(outsideOpenGraph d n ψ).Reachable u w
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 OutsideOnlyFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(u : boxVerts d (n + 1)) : Prop :=
∀ v, (outsideOpenGraph d n ψ).Reachable u v → ¬ IsInnerVert d n v
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:206
noncomputable abbrev fullGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d (n + 1)) :=
innerImageGraph d n ω ⊔ outsideOpenGraph d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:112
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
Uses 7 · Used by 1
DefinitionOuter open cluster avoiding the inner box#✓fully proved
An outer open cluster that contains no vertex of Λ_n.
noncomputable def IsOutsideOnlyFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
(outsideOpenGraph d n ψ).ConnectedComponent → Prop :=
ConnectedComponent.lift (OutsideOnlyFree d n ψ)
(fun _ _ p _ => propext ⟨fun h => outsideOnlyFree_of_reachable d n ψ h p.reachable,
fun h => outsideOnlyFree_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 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 OutsideOnlyFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(u : boxVerts d (n + 1)) : Prop :=
∀ v, (outsideOpenGraph d n ψ).Reachable u v → ¬ IsInnerVert d n v
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:206
lemma outsideOnlyFree_of_reachable (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
{u v : boxVerts d (n + 1)} (hu : OutsideOnlyFree d n ψ u)
(h : (outsideOpenGraph d n ψ).Reachable u v) : OutsideOnlyFree d n ψ v
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:217
Uses 5 · Used by 7
LemmaAn outer cluster avoids the inner box iff its representative does#✓fully proved
An outer cluster avoids Λ_n exactly when its representative vertex does.
@[simp] lemma isOutsideOnlyFree_mk (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(v : boxVerts d (n + 1)) :
IsOutsideOnlyFree d n ψ ((outsideOpenGraph d n ψ).connectedComponentMk v)
↔ OutsideOnlyFree 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 IsOutsideOnlyFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
(outsideOpenGraph d n ψ).ConnectedComponent → Prop :=
ConnectedComponent.lift (OutsideOnlyFree d n ψ)
(fun _ _ p _ => propext ⟨fun h => outsideOnlyFree_of_reachable d n ψ h p.reachable,
fun h => outsideOnlyFree_of_reachable d n ψ h p.reachable.symm⟩)
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:237
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 OutsideOnlyFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(u : boxVerts d (n + 1)) : Prop :=
∀ v, (outsideOpenGraph d n ψ).Reachable u v → ¬ IsInnerVert d n v
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:206
DefinitionOuter open clusters avoiding the inner box#✓fully proved
The outer open clusters that contain no vertex of Λ_n.
def OutsideOnlyCompFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : Type :=
{c : (outsideOpenGraph d n ψ).ConnectedComponent // IsOutsideOnlyFree 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 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
noncomputable def IsOutsideOnlyFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
(outsideOpenGraph d n ψ).ConnectedComponent → Prop :=
ConnectedComponent.lift (OutsideOnlyFree d n ψ)
(fun _ _ p _ => propext ⟨fun h => outsideOnlyFree_of_reachable d n ψ h p.reachable,
fun h => outsideOnlyFree_of_reachable d n ψ h p.reachable.symm⟩)
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:237
Uses 4 · Used by 8
DefinitionCluster map into the glued configuration#✓fully proved
The map from clusters of innerGraphFree and outer clusters avoiding Λ_n to clusters of the
glued configuration.
noncomputable def fullComponentMapFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
(innerGraphFree d n ω ψ).ConnectedComponent ⊕ OutsideOnlyCompFree d n ψ →
(fullGraphFree d n ω ψ).ConnectedComponent
| Sum.inl c => c.lift (fun x => (fullGraphFree d n ω ψ).connectedComponentMk (boxVertIncl d n x))
(fun _ _ p _ => ConnectedComponent.sound
(fullGraphFree_reachable_of_innerGraphFree d n ω ψ p.reachable))
| Sum.inr c => c.1.lift (fun v => (fullGraphFree d n ω ψ).connectedComponentMk v)
(fun _ _ p _ => ConnectedComponent.sound
(p.reachable.mono (outsideOpenGraph_le_fullGraphFree 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 innerGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d n) :=
openSub (boxGraph d n) ω ⊔ inducedWiringFree d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:117
def OutsideOnlyCompFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : Type :=
{c : (outsideOpenGraph d n ψ).ConnectedComponent // IsOutsideOnlyFree d n ψ c}
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:251
noncomputable abbrev fullGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d (n + 1)) :=
innerImageGraph d n ω ⊔ outsideOpenGraph d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:112
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 fullGraphFree_reachable_of_innerGraphFree (d n : ℕ)
(ω : ConfigSpace (Sym2 (boxVerts d n))) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
{x y : boxVerts d n} (h : (innerGraphFree d n ω ψ).Reachable x y) :
(fullGraphFree d n ω ψ).Reachable (boxVertIncl d n x) (boxVertIncl d n y)
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:144
lemma outsideOpenGraph_le_fullGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
outsideOpenGraph d n ψ ≤ fullGraphFree d n ω ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:128
Uses 10 · Used by 5
LemmaCluster map on inner clusters#✓fully proved
The cluster map on an inner cluster.
lemma fullComponentMapFree_inl_mk (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) (x : boxVerts d n) :
fullComponentMapFree d n ω ψ (Sum.inl ((innerGraphFree d n ω ψ).connectedComponentMk x))
= (fullGraphFree d n ω ψ).connectedComponentMk (boxVertIncl d n x)
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 fullComponentMapFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
(innerGraphFree d n ω ψ).ConnectedComponent ⊕ OutsideOnlyCompFree d n ψ →
(fullGraphFree d n ω ψ).ConnectedComponent
| Sum.inl c => c.lift (fun x => (fullGraphFree d n ω ψ).connectedComponentMk (boxVertIncl d n x))
(fun _ _ p _ => ConnectedComponent.sound
(fullGraphFree_reachable_of_innerGraphFree d n ω ψ p.reachable))
| Sum.inr c => c.1.lift (fun v => (fullGraphFree d n ω ψ).connectedComponentMk v)
(fun _ _ p _ => ConnectedComponent.sound
(p.reachable.mono (outsideOpenGraph_le_fullGraphFree d n ω ψ)))
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:262
noncomputable abbrev innerGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d n) :=
openSub (boxGraph d n) ω ⊔ inducedWiringFree d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:117
noncomputable abbrev fullGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d (n + 1)) :=
innerImageGraph d n ω ⊔ outsideOpenGraph d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:112
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 7 · Used by 2
LemmaCluster map on avoiding outer clusters#✓fully proved
The cluster map on an outer cluster avoiding Λ_n.
lemma fullComponentMapFree_inr_mk (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) (v : boxVerts d (n + 1))
(hv : IsOutsideOnlyFree d n ψ ((outsideOpenGraph d n ψ).connectedComponentMk v)) :
fullComponentMapFree d n ω ψ
(Sum.inr ⟨(outsideOpenGraph d n ψ).connectedComponentMk v, hv⟩)
= (fullGraphFree d n ω ψ).connectedComponentMk 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 IsOutsideOnlyFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
(outsideOpenGraph d n ψ).ConnectedComponent → Prop :=
ConnectedComponent.lift (OutsideOnlyFree d n ψ)
(fun _ _ p _ => propext ⟨fun h => outsideOnlyFree_of_reachable d n ψ h p.reachable,
fun h => outsideOnlyFree_of_reachable d n ψ h p.reachable.symm⟩)
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:237
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
noncomputable def fullComponentMapFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
(innerGraphFree d n ω ψ).ConnectedComponent ⊕ OutsideOnlyCompFree d n ψ →
(fullGraphFree d n ω ψ).ConnectedComponent
| Sum.inl c => c.lift (fun x => (fullGraphFree d n ω ψ).connectedComponentMk (boxVertIncl d n x))
(fun _ _ p _ => ConnectedComponent.sound
(fullGraphFree_reachable_of_innerGraphFree d n ω ψ p.reachable))
| Sum.inr c => c.1.lift (fun v => (fullGraphFree d n ω ψ).connectedComponentMk v)
(fun _ _ p _ => ConnectedComponent.sound
(p.reachable.mono (outsideOpenGraph_le_fullGraphFree d n ω ψ)))
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:262
noncomputable abbrev fullGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d (n + 1)) :=
innerImageGraph d n ω ⊔ outsideOpenGraph d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:112
Uses 8 · Used by 2
LemmaInjectivity of the free cluster map#✓fully proved
The cluster map is injective.
lemma fullComponentMapFree_injective (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
Function.Injective (fullComponentMapFree 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 fullComponentMapFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
(innerGraphFree d n ω ψ).ConnectedComponent ⊕ OutsideOnlyCompFree d n ψ →
(fullGraphFree d n ω ψ).ConnectedComponent
| Sum.inl c => c.lift (fun x => (fullGraphFree d n ω ψ).connectedComponentMk (boxVertIncl d n x))
(fun _ _ p _ => ConnectedComponent.sound
(fullGraphFree_reachable_of_innerGraphFree d n ω ψ p.reachable))
| Sum.inr c => c.1.lift (fun v => (fullGraphFree d n ω ψ).connectedComponentMk v)
(fun _ _ p _ => ConnectedComponent.sound
(p.reachable.mono (outsideOpenGraph_le_fullGraphFree d n ω ψ)))
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:262
Uses 18 · Used by 1
LemmaSurjectivity of the free cluster map#✓fully proved
The cluster map is surjective.
lemma fullComponentMapFree_surjective (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
Function.Surjective (fullComponentMapFree 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 fullComponentMapFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
(innerGraphFree d n ω ψ).ConnectedComponent ⊕ OutsideOnlyCompFree d n ψ →
(fullGraphFree d n ω ψ).ConnectedComponent
| Sum.inl c => c.lift (fun x => (fullGraphFree d n ω ψ).connectedComponentMk (boxVertIncl d n x))
(fun _ _ p _ => ConnectedComponent.sound
(fullGraphFree_reachable_of_innerGraphFree d n ω ψ p.reachable))
| Sum.inr c => c.1.lift (fun v => (fullGraphFree d n ω ψ).connectedComponentMk v)
(fun _ _ p _ => ConnectedComponent.sound
(p.reachable.mono (outsideOpenGraph_le_fullGraphFree d n ω ψ)))
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:262
Uses 18 · Used by 1
DefinitionCluster decomposition of the glued configuration#✓fully proved
Clusters of the glued configuration correspond to clusters of innerGraphFree plus outer
clusters avoiding Λ_n.
noncomputable def fullComponentEquivFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
(innerGraphFree d n ω ψ).ConnectedComponent ⊕ OutsideOnlyCompFree d n ψ ≃
(fullGraphFree d n ω ψ).ConnectedComponent :=
Equiv.ofBijective (fullComponentMapFree d n ω ψ)
⟨fullComponentMapFree_injective d n ω ψ, fullComponentMapFree_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 innerGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d n) :=
openSub (boxGraph d n) ω ⊔ inducedWiringFree d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:117
def OutsideOnlyCompFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : Type :=
{c : (outsideOpenGraph d n ψ).ConnectedComponent // IsOutsideOnlyFree d n ψ c}
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:251
noncomputable abbrev fullGraphFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : SimpleGraph (boxVerts d (n + 1)) :=
innerImageGraph d n ω ⊔ outsideOpenGraph d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:112
noncomputable def fullComponentMapFree (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
(innerGraphFree d n ω ψ).ConnectedComponent ⊕ OutsideOnlyCompFree d n ψ →
(fullGraphFree d n ω ψ).ConnectedComponent
| Sum.inl c => c.lift (fun x => (fullGraphFree d n ω ψ).connectedComponentMk (boxVertIncl d n x))
(fun _ _ p _ => ConnectedComponent.sound
(fullGraphFree_reachable_of_innerGraphFree d n ω ψ p.reachable))
| Sum.inr c => c.1.lift (fun v => (fullGraphFree d n ω ψ).connectedComponentMk v)
(fun _ _ p _ => ConnectedComponent.sound
(p.reachable.mono (outsideOpenGraph_le_fullGraphFree d n ω ψ)))
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:262
lemma fullComponentMapFree_injective (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
Function.Injective (fullComponentMapFree d n ω ψ)
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:288
lemma fullComponentMapFree_surjective (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
Function.Surjective (fullComponentMapFree d n ω ψ)
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:326
Uses 8 · Used by 1
DefinitionNumber of outer open clusters avoiding the inner box#✓fully proved
The number of outer open clusters avoiding Λ_n.
noncomputable def outsideShiftFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : ℕ :=
Nat.card (OutsideOnlyCompFree 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 OutsideOnlyCompFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : Type :=
{c : (outsideOpenGraph d n ψ).ConnectedComponent // IsOutsideOnlyFree d n ψ c}
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:251
Uses 3 · Used by 4
LemmaCluster count of a glued configuration splits additively#✓fully proved
The cluster count of a glued configuration is the cluster count of ω with the induced wiring
plus the number of outer clusters avoiding Λ_n.
lemma numClusters_psiExt_free (d n : ℕ) (ω : ConfigSpace (Sym2 (boxVerts d n)))
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
numClusters (boxGraph d (n + 1)) (psiExt d n ψ ω)
= numClustersBC (boxGraph d n) (inducedWiringFree d n ψ) ω + outsideShiftFree 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 numClusters (ω : ConfigSpace (Sym2 V)) : ℕ :=
Fintype.card (openSub G ω).ConnectedComponent
PhyslibExt/StatisticalMechanics/RandomCluster/RandomCluster.lean:116
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 numClustersBC (C : SimpleGraph V) [DecidableRel C.Adj]
(ω : ConfigSpace (Sym2 V)) : ℕ :=
Nat.card (openSub G ω ⊔ C).ConnectedComponent
PhyslibExt/StatisticalMechanics/RandomCluster/MonoBC.lean:75
noncomputable def inducedWiringFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d n) where
Adj x y := x ≠ y ∧ (outsideOpenGraph 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/FreeWeakLimit.lean:69
noncomputable def outsideShiftFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : ℕ :=
Nat.card (OutsideOnlyCompFree d n ψ)
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:355
Uses 19 · Used by 1
C. Domain Markov property for the free measure
DefinitionOuter factor of the weight of a glued configuration#✓fully proved
The factor of the random-cluster weight of a glued configuration contributed by the outer configuration.
noncomputable def psiShiftFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(p q : ℝ) : ℝ :=
psiEdgeFactor d n ψ p * q ^ outsideShiftFree 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 outsideShiftFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) : ℕ :=
Nat.card (OutsideOnlyCompFree d n ψ)
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:355
LemmaPositivity of the outer weight factor#✓fully proved
The outer weight factor is positive.
lemma psiShiftFree_pos {d n : ℕ} {ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))} {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) : 0 < psiShiftFree 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 psiShiftFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(p q : ℝ) : ℝ :=
psiEdgeFactor d n ψ p * q ^ outsideShiftFree d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:377
Uses 9 · Used by 1
LemmaRandom-cluster weight of a glued configuration factorizes#✓fully proved
The random-cluster weight of a glued configuration factors as the outer factor times the weight
of ω with the induced wiring.
lemma fkWeight_psiExt_free (d n : ℕ) {p q : ℝ} (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(ω : ConfigSpace (Sym2 (boxVerts d n))) :
fkWeight (boxGraph d (n + 1)) p q (psiExt d n ψ ω)
= bcWeight (boxGraph d n) (inducedWiringFree d n ψ) p q ω * psiShiftFree 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 fkWeight (p q : ℝ) (ω : ConfigSpace (Sym2 V)) : ℝ :=
edgeProduct G p ω * q ^ numClusters G ω
PhyslibExt/StatisticalMechanics/RandomCluster/RandomCluster.lean:140
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 bcWeight (p q : ℝ) (ω : ConfigSpace (Sym2 V)) : ℝ :=
edgeProduct G p ω * q ^ numClustersBC G C ω
PhyslibExt/StatisticalMechanics/RandomCluster/MonoBC.lean:128
noncomputable def inducedWiringFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d n) where
Adj x y := x ≠ y ∧ (outsideOpenGraph 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/FreeWeakLimit.lean:69
noncomputable def psiShiftFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(p q : ℝ) : ℝ :=
psiEdgeFactor d n ψ p * q ^ outsideShiftFree d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:377
Uses 17 · Used by 2
LemmaConditional partition function in terms of the induced wiring#✓fully proved
The conditional partition function given the outer configuration, in terms of the induced-wiring partition function.
lemma inducedFkZ_innerEdgeFinset_psi_free (d n : ℕ) {p q : ℝ}
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
inducedFkZ (boxGraph d (n + 1)) p q (innerEdgeFinset d n) ψ
= bcZ (boxGraph d n) (inducedWiringFree d n ψ) p q * psiShiftFree 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 inducedFkZ (p q : ℝ) (F : Finset (Sym2 V))
(ψ : ConfigSpace (Sym2 V)) : ℝ :=
∑ ρ ∈ condFibre F ψ, fkWeight G p q ρ
PhyslibExt/StatisticalMechanics/RandomCluster/DomainMarkov.lean:101
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
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 bcZ (p q : ℝ) : ℝ :=
∑ ω : ConfigSpace (Sym2 V), bcWeight G C p q ω
PhyslibExt/StatisticalMechanics/RandomCluster/MonoBC.lean:140
noncomputable def inducedWiringFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d n) where
Adj x y := x ≠ y ∧ (outsideOpenGraph 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/FreeWeakLimit.lean:69
noncomputable def psiShiftFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(p q : ℝ) : ℝ :=
psiEdgeFactor d n ψ p * q ^ outsideShiftFree d n ψ
PhyslibExt/StatisticalMechanics/RandomCluster/FreeWeakLimit.lean:377
Uses 19 · Used by 1
LemmaDomain Markov property#✓fully proved
Conditionally on the configuration ψ outside Λ_n, the free
random-cluster measure on Λ_(n+1) restricted to Λ_n is the random-cluster measure on Λ_n with
the wiring induced by ψ.
lemma condFkProb_psiExt_eq_bcProb_free (d n : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q)
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) (ω : ConfigSpace (Sym2 (boxVerts d n))) :
condFkProb (boxGraph d (n + 1)) p q (innerEdgeFinset d n) ψ (psiExt d n ψ ω)
= bcProb (boxGraph d n) (inducedWiringFree 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 condFkProb (p q : ℝ) (F : Finset (Sym2 V))
(ψ ω : ConfigSpace (Sym2 V)) : ℝ :=
fkProb G p q ω / ∑ ρ ∈ condFibre F ψ, fkProb G p q ρ
PhyslibExt/StatisticalMechanics/RandomCluster/DomainMarkov.lean:144
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
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 inducedWiringFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d n) where
Adj x y := x ≠ y ∧ (outsideOpenGraph 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/FreeWeakLimit.lean:69
Uses 20 · Used by 1
LemmaFibre masses of the free measure sum to one#✓fully proved
The masses of the conditioning fibres of the free measure on Λ_(n+1) sum to 1.
lemma sum_fibreMass_eq_one_free (n : ℕ) {p q : ℝ} (hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) :
∑ ψ ∈ Finset.univ.filter (fun ψ => outProj d n ψ = ψ),
(∑ σ ∈ condFibre (innerEdgeFinset d n) ψ,
fkProb (boxGraph d (n + 1)) p q σ) = 1
noncomputable def outProj (d n : ℕ) (ρ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
ConfigSpace (Sym2 (boxVerts d (n + 1))) :=
psiExt d n ρ (fun _ => false)
PhyslibExt/StatisticalMechanics/RandomCluster/WiredDomChain.lean:77
noncomputable def condFibre (F : Finset (Sym2 V)) (ψ : ConfigSpace (Sym2 V)) :
Finset (ConfigSpace (Sym2 V)) :=
Finset.univ.filter (AgreesOff F ψ)
PhyslibExt/StatisticalMechanics/RandomCluster/DomainMarkov.lean:85
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 fkProb (p q : ℝ) (ω : ConfigSpace (Sym2 V)) : ℝ :=
fkWeight G p q ω / fkZ G p q
PhyslibExt/StatisticalMechanics/RandomCluster/RandomCluster.lean:172
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
Uses 15 · Used by 1
LemmaFibre-mass factorization of random-cluster probabilities#✓fully proved
A random-cluster probability is its fibre mass times its conditional probability.
lemma fkProb_eq_fibreMass_mul_condFkProb (n : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q)
(ω : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
fkProb (boxGraph d (n + 1)) p q ω
= (∑ ρ ∈ condFibre (innerEdgeFinset d n) ω, fkProb (boxGraph d (n + 1)) p q ρ)
* condFkProb (boxGraph d (n + 1)) p q (innerEdgeFinset 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 fkProb (p q : ℝ) (ω : ConfigSpace (Sym2 V)) : ℝ :=
fkWeight G p q ω / fkZ G p q
PhyslibExt/StatisticalMechanics/RandomCluster/RandomCluster.lean:172
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
noncomputable def condFibre (F : Finset (Sym2 V)) (ψ : ConfigSpace (Sym2 V)) :
Finset (ConfigSpace (Sym2 V)) :=
Finset.univ.filter (AgreesOff F ψ)
PhyslibExt/StatisticalMechanics/RandomCluster/DomainMarkov.lean:85
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 condFkProb (p q : ℝ) (F : Finset (Sym2 V))
(ψ ω : ConfigSpace (Sym2 V)) : ℝ :=
fkProb G p q ω / ∑ ρ ∈ condFibre F ψ, fkProb G p q ρ
PhyslibExt/StatisticalMechanics/RandomCluster/DomainMarkov.lean:144
Uses 14 · Used by 1
LemmaConditional free probabilities depend only on the outer configuration#✓fully proved
Configurations agreeing off F give the same conditional random-cluster probabilities.
lemma condFkProb_congr_dom_free (n : ℕ) {p q : ℝ}
(ψ ψ' ω : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(h : AgreesOff (innerEdgeFinset d n) ψ ψ') :
condFkProb (boxGraph d (n + 1)) p q (innerEdgeFinset d n) ψ ω
= condFkProb (boxGraph d (n + 1)) p q (innerEdgeFinset 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 condFkProb (p q : ℝ) (F : Finset (Sym2 V))
(ψ ω : ConfigSpace (Sym2 V)) : ℝ :=
fkProb G p q ω / ∑ ρ ∈ condFibre F ψ, fkProb G p q ρ
PhyslibExt/StatisticalMechanics/RandomCluster/DomainMarkov.lean:144
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
Uses 10 · Used by 1
D. The free measures increase with the box
LemmaDecomposition of the free measure over the outer configuration#✓fully proved
Decomposition of the free measure on Λ_(n+1) over the configuration outside Λ_n.
lemma freeSucc_fkProb_decompose (n : ℕ) {p q : ℝ} (hp : 0 < p) (hp1 : p < 1) (hq : 0 < q)
(B : Set (ConfigSpace (Sym2 (boxVerts d (n + 1))))) :
(∑ ρ, B.indicator (fun _ => (1 : ℝ)) ρ * fkProb (boxGraph d (n + 1)) p q ρ)
= ∑ ψ ∈ Finset.univ.filter (fun ψ => outProj d n ψ = ψ),
(∑ σ ∈ condFibre (innerEdgeFinset d n) ψ,
fkProb (boxGraph d (n + 1)) p q σ)
* (∑ ρ ∈ condFibre (innerEdgeFinset d n) ψ, B.indicator (fun _ => (1 : ℝ)) ρ
* condFkProb (boxGraph d (n + 1)) p q (innerEdgeFinset 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 fkProb (p q : ℝ) (ω : ConfigSpace (Sym2 V)) : ℝ :=
fkWeight G p q ω / fkZ G p q
PhyslibExt/StatisticalMechanics/RandomCluster/RandomCluster.lean:172
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
noncomputable def outProj (d n : ℕ) (ρ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
ConfigSpace (Sym2 (boxVerts d (n + 1))) :=
psiExt d n ρ (fun _ => false)
PhyslibExt/StatisticalMechanics/RandomCluster/WiredDomChain.lean:77
noncomputable def condFibre (F : Finset (Sym2 V)) (ψ : ConfigSpace (Sym2 V)) :
Finset (ConfigSpace (Sym2 V)) :=
Finset.univ.filter (AgreesOff F ψ)
PhyslibExt/StatisticalMechanics/RandomCluster/DomainMarkov.lean:85
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 condFkProb (p q : ℝ) (F : Finset (Sym2 V))
(ψ ω : ConfigSpace (Sym2 V)) : ℝ :=
fkProb G p q ω / ∑ ρ ∈ condFibre F ψ, fkProb G p q ρ
PhyslibExt/StatisticalMechanics/RandomCluster/DomainMarkov.lean:144
Uses 15 · Used by 1
LemmaConditional free measure as an induced-wiring measure#✓fully proved
The conditional free measure of an event of Λ_n equals its probability under the
induced-wiring measure.
lemma condFkProb_psiExt_sum_eq_inducedBox_free (d n : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q)
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
(B : Set (ConfigSpace (Sym2 (boxVerts d (n + 1))))) :
(∑ ρ ∈ condFibre (innerEdgeFinset d n) ψ, B.indicator (fun _ => (1 : ℝ)) ρ *
condFkProb (boxGraph d (n + 1)) p q (innerEdgeFinset d n) ψ ρ)
= ∑ ω : ConfigSpace (Sym2 (boxVerts d n)),
(psiExt d n ψ ⁻¹' B).indicator (fun _ => (1 : ℝ)) ω
* bcProb (boxGraph d n) (inducedWiringFree 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 condFibre (F : Finset (Sym2 V)) (ψ : ConfigSpace (Sym2 V)) :
Finset (ConfigSpace (Sym2 V)) :=
Finset.univ.filter (AgreesOff F ψ)
PhyslibExt/StatisticalMechanics/RandomCluster/DomainMarkov.lean:85
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 condFkProb (p q : ℝ) (F : Finset (Sym2 V))
(ψ ω : ConfigSpace (Sym2 V)) : ℝ :=
fkProb G p q ω / ∑ ρ ∈ condFibre F ψ, fkProb G p q ρ
PhyslibExt/StatisticalMechanics/RandomCluster/DomainMarkov.lean:144
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 bcProb (p q : ℝ) (ω : ConfigSpace (Sym2 V)) : ℝ :=
bcWeight G C p q ω / bcZ G C p q
PhyslibExt/StatisticalMechanics/RandomCluster/MonoBC.lean:152
noncomputable def inducedWiringFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d n) where
Adj x y := x ≠ y ∧ (outsideOpenGraph 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/FreeWeakLimit.lean:69
Uses 16 · Used by 1
LemmaFree measure is dominated by induced-wiring measures for \(q \ge 1\)#✓fully proved
For q ≥ 1, the free measure on Λ_n gives an increasing event at most its probability under
any induced wiring.
lemma fkProb_le_inducedFree (d n : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 1 ≤ q)
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
{A₀ : Set (ConfigSpace (Sym2 (boxVerts d n)))} (hA₀ : IsIncreasing A₀) :
(∑ ω, A₀.indicator (fun _ => (1 : ℝ)) ω * fkProb (boxGraph d n) p q ω)
≤ ∑ ω, A₀.indicator (fun _ => (1 : ℝ)) ω
* bcProb (boxGraph d n) (inducedWiringFree 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 fkProb (p q : ℝ) (ω : ConfigSpace (Sym2 V)) : ℝ :=
fkWeight G p q ω / fkZ G p q
PhyslibExt/StatisticalMechanics/RandomCluster/RandomCluster.lean:172
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
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 inducedWiringFree (d n : ℕ) (ψ : ConfigSpace (Sym2 (boxVerts d (n + 1)))) :
SimpleGraph (boxVerts d n) where
Adj x y := x ≠ y ∧ (outsideOpenGraph 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/FreeWeakLimit.lean:69
Uses 18 · Used by 1
LemmaConditional free measure dominates the smaller free box for \(q \ge 1\)#✓fully proved
For q ≥ 1, conditionally on any outer configuration, the free measure on Λ_(n+1) gives an
increasing event of Λ_n at least its free Λ_n probability.
lemma fkProb_le_condFkProb_innerRestrict_free (d n : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 1 ≤ q)
(ψ : ConfigSpace (Sym2 (boxVerts d (n + 1))))
{A₀ : Set (ConfigSpace (Sym2 (boxVerts d n)))} (hA₀ : IsIncreasing A₀) :
(∑ ω, A₀.indicator (fun _ => (1 : ℝ)) ω * fkProb (boxGraph d n) p q ω)
≤ ∑ ρ ∈ condFibre (innerEdgeFinset d n) ψ,
(innerRestrict d n ⁻¹' A₀).indicator (fun _ => (1 : ℝ)) ρ
* condFkProb (boxGraph d (n + 1)) p q (innerEdgeFinset 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 IsIncreasing (A : Set (ConfigSpace E)) : Prop := IsUpperSet A
MathlibExt/Probability/CorrelationInequalities/IncreasingEvent.lean:55
noncomputable def fkProb (p q : ℝ) (ω : ConfigSpace (Sym2 V)) : ℝ :=
fkWeight G p q ω / fkZ G p q
PhyslibExt/StatisticalMechanics/RandomCluster/RandomCluster.lean:172
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
noncomputable def condFibre (F : Finset (Sym2 V)) (ψ : ConfigSpace (Sym2 V)) :
Finset (ConfigSpace (Sym2 V)) :=
Finset.univ.filter (AgreesOff F ψ)
PhyslibExt/StatisticalMechanics/RandomCluster/DomainMarkov.lean:85
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 condFkProb (p q : ℝ) (F : Finset (Sym2 V))
(ψ ω : ConfigSpace (Sym2 V)) : ℝ :=
fkProb G p q ω / ∑ ρ ∈ condFibre F ψ, fkProb G p q ρ
PhyslibExt/StatisticalMechanics/RandomCluster/DomainMarkov.lean:144
Uses 18 · Used by 1
LemmaOne-step box monotonicity of free measures for \(q \ge 1\)#✓fully proved
For q ≥ 1, the free measure on Λ_(n+1) gives an increasing event of Λ_n at least its free
Λ_n probability.
lemma freeSucc_fkProb_innerEvent_le (n : ℕ) {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 : ℝ)) ω * fkProb (boxGraph d n) p q ω)
≤ ∑ ρ, (innerRestrict d n ⁻¹' A₀).indicator (fun _ => (1 : ℝ)) ρ
* fkProb (boxGraph d (n + 1)) 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 fkProb (p q : ℝ) (ω : ConfigSpace (Sym2 V)) : ℝ :=
fkWeight G p q ω / fkZ G p q
PhyslibExt/StatisticalMechanics/RandomCluster/RandomCluster.lean:172
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
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
Uses 19 · Used by 2
LemmaFree box measure of a cylinder event as a finite sum#✓fully proved
The free Λ_m measure of a Λ_m cylinder event, as a finite sum.
lemma freeFiniteMeasure_real_boxRestrictEvent (m : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) (S : Set (ConfigSpace (Sym2 (boxVerts d m))))
(hmeas : MeasurableSet (boxRestrict d m ⁻¹' S)) :
(freeFiniteMeasure d m hp hp1 hq
: Measure (ConfigSpace (Sym2 (Site d)))).real (boxRestrict d m ⁻¹' S)
= ∑ ω : ConfigSpace (Sym2 (boxVerts d m)),
S.indicator (fun _ => (1 : ℝ)) ω * fkProb (boxGraph d m) 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 boxRestrict (d n : ℕ) (ω : ConfigSpace (Sym2 (Site d))) :
ConfigSpace (Sym2 (boxVerts d n)) :=
fun eb => ω (edgeIncl d n eb)
PhyslibExt/StatisticalMechanics/RandomCluster/TwoPointInfinite.lean:127
noncomputable def freeFiniteMeasure (d n : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) :
ProbabilityMeasure (ConfigSpace (Sym2 (Site d))) :=
⟨((fkPMF (boxGraph d n) hp hp1 hq).toMeasure).map (extendEdge d n),
inferInstance⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:179
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
noncomputable def fkProb (p q : ℝ) (ω : ConfigSpace (Sym2 V)) : ℝ :=
fkWeight G p q ω / fkZ G p q
PhyslibExt/StatisticalMechanics/RandomCluster/RandomCluster.lean:172
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
Uses 15 · Used by 14
LemmaNext-box free measure of a cylinder event as a finite sum#✓fully proved
The free Λ_(n+1) measure of a Λ_n cylinder event, as a finite sum.
lemma freeFiniteMeasure_succ_real_innerRestrictEvent (n : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q)
(S : Set (ConfigSpace (Sym2 (boxVerts d n))))
(hmeas : MeasurableSet (boxRestrict d n ⁻¹' S)) :
(freeFiniteMeasure d (n + 1) hp hp1 hq
: Measure (ConfigSpace (Sym2 (Site d)))).real (boxRestrict d n ⁻¹' S)
= ∑ ρ : ConfigSpace (Sym2 (boxVerts d (n + 1))),
(innerRestrict d n ⁻¹' S).indicator (fun _ => (1 : ℝ)) ρ
* fkProb (boxGraph d (n + 1)) 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 boxRestrict (d n : ℕ) (ω : ConfigSpace (Sym2 (Site d))) :
ConfigSpace (Sym2 (boxVerts d n)) :=
fun eb => ω (edgeIncl d n eb)
PhyslibExt/StatisticalMechanics/RandomCluster/TwoPointInfinite.lean:127
noncomputable def freeFiniteMeasure (d n : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) :
ProbabilityMeasure (ConfigSpace (Sym2 (Site d))) :=
⟨((fkPMF (boxGraph d n) hp hp1 hq).toMeasure).map (extendEdge d n),
inferInstance⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:179
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
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 fkProb (p q : ℝ) (ω : ConfigSpace (Sym2 V)) : ℝ :=
fkWeight G p q ω / fkZ G p q
PhyslibExt/StatisticalMechanics/RandomCluster/RandomCluster.lean:172
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
Uses 18 · Used by 2
LemmaIncreasing box events gain free \(q = 2\) probability in the next box#✓fully proved
For q = 2, the free Λ_n probability of an increasing Λ_n event is at most its free
Λ_(n+1) measure.
lemma freeFiniteMeasure_smallerBox_le_succ (n : ℕ) {p : ℝ} (hp : 0 < p) (hp1 : p < 1)
{S : Set (ConfigSpace (Sym2 (boxVerts d n)))} (hS : IsIncreasing S)
(hmeas : MeasurableSet (boxRestrict d n ⁻¹' S)) :
(∑ ω, S.indicator (fun _ => (1 : ℝ)) ω * fkProb (boxGraph d n) p 2 ω)
≤ (freeFiniteMeasure d (n + 1) hp hp1 (by norm_num : (0 : ℝ) < 2)
: Measure (ConfigSpace (Sym2 (Site d)))).real (boxRestrict d n ⁻¹' S)
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
def boxRestrict (d n : ℕ) (ω : ConfigSpace (Sym2 (Site d))) :
ConfigSpace (Sym2 (boxVerts d n)) :=
fun eb => ω (edgeIncl d n eb)
PhyslibExt/StatisticalMechanics/RandomCluster/TwoPointInfinite.lean:127
noncomputable def fkProb (p q : ℝ) (ω : ConfigSpace (Sym2 V)) : ℝ :=
fkWeight G p q ω / fkZ G p q
PhyslibExt/StatisticalMechanics/RandomCluster/RandomCluster.lean:172
def boxGraph (d n : ℕ) : SimpleGraph (boxVerts d n) :=
SimpleGraph.comap Subtype.val (hypercubicLattice d)
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:142
noncomputable def freeFiniteMeasure (d n : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) :
ProbabilityMeasure (ConfigSpace (Sym2 (Site d))) :=
⟨((fkPMF (boxGraph d n) hp hp1 hq).toMeasure).map (extendEdge d n),
inferInstance⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:179
Uses 12 · Used by 1
E. The free infinite-volume limit on increasing cylinder events
LemmaOne-step growth of free \(q = 2\) measures of increasing cylinders#✓fully proved
For q = 2 and N ≤ m, the free Λ_m measure of an increasing Λ_N cylinder event is at most
its free Λ_(m+1) measure.
lemma fkFreeLimit_le_succ (N m : ℕ) (hNm : N ≤ m) {p : ℝ}
(hp : 0 < p) (hp1 : p < 1)
{S : Set (ConfigSpace (Sym2 (boxVerts d N)))} (hS : IsIncreasing S) :
(freeFiniteMeasure d m hp hp1 (by norm_num : (0 : ℝ) < 2)
: Measure (ConfigSpace (Sym2 (Site d)))).real (boxRestrict d N ⁻¹' S)
≤ (freeFiniteMeasure d (m + 1) hp hp1 (by norm_num : (0 : ℝ) < 2)
: Measure (ConfigSpace (Sym2 (Site d)))).real (boxRestrict d N ⁻¹' S)
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 freeFiniteMeasure (d n : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) :
ProbabilityMeasure (ConfigSpace (Sym2 (Site d))) :=
⟨((fkPMF (boxGraph d n) hp hp1 hq).toMeasure).map (extendEdge d n),
inferInstance⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:179
Uses 15 · Used by 1
LemmaFree \(q = 2\) box measures of increasing cylinders are monotone#✓fully proved
For q = 2, the free box measures of an increasing Λ_N cylinder event increase with the box.
lemma fkFreeLimit_monotone (N : ℕ) {p : ℝ}
(hp : 0 < p) (hp1 : p < 1)
{S : Set (ConfigSpace (Sym2 (boxVerts d N)))} (hS : IsIncreasing S) :
Monotone (fun k => (freeFiniteMeasure d (N+k) hp hp1 (by norm_num : (0 : ℝ) < 2)
: Measure (ConfigSpace (Sym2 (Site d)))).real (boxRestrict d N ⁻¹' S))
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 freeFiniteMeasure (d n : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) :
ProbabilityMeasure (ConfigSpace (Sym2 (Site d))) :=
⟨((fkPMF (boxGraph d n) hp hp1 hq).toMeasure).map (extendEdge d n),
inferInstance⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:179
DefinitionLimit of free \(q = 2\) box measures of a cylinder event#✓fully proved
The limit sup_k φ⁰_{Λ_(N+k)}(S) of the free q = 2 box measures of a Λ_N cylinder event
S.
noncomputable def fkFreeLimitValue (N : ℕ) {p : ℝ} (hp : 0 < p) (hp1 : p < 1)
(S : Set (ConfigSpace (Sym2 (boxVerts d N)))) : ℝ :=
⨆ k, (freeFiniteMeasure d (N+k) hp hp1 (by norm_num : (0 : ℝ) < 2)
: Measure (ConfigSpace (Sym2 (Site d)))).real (boxRestrict d N ⁻¹' S)
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 freeFiniteMeasure (d n : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) :
ProbabilityMeasure (ConfigSpace (Sym2 (Site d))) :=
⟨((fkPMF (boxGraph d n) hp hp1 hq).toMeasure).map (extendEdge d n),
inferInstance⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:179
Uses 5 · Used by 7
LemmaFree box measures are at most one#✓fully proved
Free box measures are at most 1.
lemma freeFiniteMeasure_real_le_one (m : ℕ) {p : ℝ} (hp : 0 < p) (hp1 : p < 1)
(A : Set (ConfigSpace (Sym2 (Site d)))) :
(freeFiniteMeasure d m hp hp1 (by norm_num : (0 : ℝ) < 2)
: Measure (ConfigSpace (Sym2 (Site d)))).real A ≤ 1
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
noncomputable def freeFiniteMeasure (d n : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) :
ProbabilityMeasure (ConfigSpace (Sym2 (Site d))) :=
⟨((fkPMF (boxGraph d n) hp hp1 hq).toMeasure).map (extendEdge d n),
inferInstance⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:179
LemmaFree \(q = 2\) box measures of increasing cylinders converge#✓fully proved
For q = 2, the free box measures of an increasing Λ_N cylinder event converge to
fkFreeLimitValue.
lemma fk_free_limit_exists (N : ℕ) {p : ℝ} (hp : 0 < p) (hp1 : p < 1)
{S : Set (ConfigSpace (Sym2 (boxVerts d N)))} (hS : IsIncreasing S) :
Tendsto (fun m => (freeFiniteMeasure d m hp hp1 (by norm_num : (0 : ℝ) < 2)
: Measure (ConfigSpace (Sym2 (Site d)))).real (boxRestrict d N ⁻¹' S)) atTop
(𝓝 (fkFreeLimitValue N hp hp1 S))
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 freeFiniteMeasure (d n : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) :
ProbabilityMeasure (ConfigSpace (Sym2 (Site d))) :=
⟨((fkPMF (boxGraph d n) hp hp1 hq).toMeasure).map (extendEdge d n),
inferInstance⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:179
Uses 9 · Used by 2
LemmaFree \(q = 2\) box measures are bounded by the limit value#✓fully proved
For q = 2, every free box measure of a Λ_N cylinder event with N ≤ m is at most
fkFreeLimitValue.
lemma fk_free_le_limit (N m : ℕ) (hNm : N ≤ m) {p : ℝ} (hp : 0 < p) (hp1 : p < 1)
(S : Set (ConfigSpace (Sym2 (boxVerts d N)))) :
(freeFiniteMeasure d m hp hp1 (by norm_num : (0 : ℝ) < 2)
: Measure (ConfigSpace (Sym2 (Site d)))).real (boxRestrict d N ⁻¹' S)
≤ fkFreeLimitValue N hp hp1 S
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 freeFiniteMeasure (d n : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) :
ProbabilityMeasure (ConfigSpace (Sym2 (Site d))) :=
⟨((fkPMF (boxGraph d n) hp hp1 hq).toMeasure).map (extendEdge d n),
inferInstance⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:179
Uses 7 · Used by 3
LemmaFree \(q = 2\) infinite-volume mass of increasing cylinders as a box limit#✓fully proved
For q = 2, the free infinite-volume measure of an increasing cylinder event equals
fkFreeLimitValue.
lemma fkFreeLimit_freeInfiniteVolume_eq (N : ℕ) {p : ℝ} (hp : 0 < p) (hp1 : p < 1)
{S : Set (ConfigSpace (Sym2 (boxVerts d N)))} (hS : IsIncreasing S) :
(freeInfiniteVolume d hp hp1 (by norm_num : (0 : ℝ) < 2)
: Measure (ConfigSpace (Sym2 (Site d)))).real (boxRestrict d N ⁻¹' S)
= fkFreeLimitValue N hp hp1 S
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 freeInfiniteVolume (d : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) :
ProbabilityMeasure (ConfigSpace (Sym2 (Site d))) :=
(CompactSpace.tendsto_subseq (fun n => freeFiniteMeasure d n hp hp1 hq)).choose
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:199
Uses 13 · Used by 4
LemmaFree \(q=2\) box masses of increasing cylinders tend to infinite volume#✓fully proved
For q = 2, the free box measures of an increasing cylinder event converge, along the whole
sequence of boxes, to its free infinite-volume measure.
lemma fk_free_infinite_measure (N : ℕ) {p : ℝ} (hp : 0 < p) (hp1 : p < 1)
{S : Set (ConfigSpace (Sym2 (boxVerts d N)))} (hS : IsIncreasing S) :
Tendsto (fun m => (freeFiniteMeasure d m hp hp1 (by norm_num : (0 : ℝ) < 2)
: Measure (ConfigSpace (Sym2 (Site d)))).real (boxRestrict d N ⁻¹' S)) atTop
(𝓝 ((freeInfiniteVolume d hp hp1 (by norm_num : (0 : ℝ) < 2)
: Measure (ConfigSpace (Sym2 (Site d)))).real (boxRestrict d N ⁻¹' S)))
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 freeFiniteMeasure (d n : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) :
ProbabilityMeasure (ConfigSpace (Sym2 (Site d))) :=
⟨((fkPMF (boxGraph d n) hp hp1 hq).toMeasure).map (extendEdge d n),
inferInstance⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:179
Uses 10 · Used by 19
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.