Simon–Lieb inequality
DefinitionEdge set with prescribed odd-degree vertices#✓fully proved
The set of vertices of odd degree in the edge set F is exactly A.
def HasOddBoundary (F : Finset (Sym2 V)) (A : Finset V) : Prop :=
∀ v : V, Odd (incCount F v) ↔ v ∈ A
def incCount (F : Finset (Sym2 V)) (v : V) : ℕ :=
(F.filter (fun e => v ∈ e)).card
PhyslibExt/CondensedMatter/IsingModel/KWSelfDuality.lean:101
Uses 1 · Used by 11
DefinitionHigh-temperature weight of an edge set#✓fully proved
The high-temperature weight ∏_{e ∈ F} tanh(βJ_e) of an edge set.
DefinitionIndicator current of an edge set#✓fully proved
The current equal to 1 on the edges of F and 0 elsewhere.
noncomputable def edgeIndicatorCurrent (F : Finset (Sym2 V)) : Current V :=
fun e => if e ∈ F then 1 else 0
abbrev Current (V : Type*) : Type _ := Sym2 V → ℕ
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:69
Uses 1 · Used by 1
DefinitionSource pair \(\{a\} \triangle \{b\}\)#✓fully proved
The source set {a} ∆ {b} (empty when a = b).
Used by 13
StructureFirst-exit data for a high-temperature edge set#✓fully proved
First-exit data for an edge set K with boundary {o} ∆ {z} and a set S ∋ o, z ∉ S: an
exit edge xy of K with x ∈ S, y ∉ S, and a subset Q ⊆ K of edges inside S with boundary
{o} ∆ {x} not containing xy.
StatMech.Sharpness.HighTempFirstExit · 24 lines
structure HighTempFirstExit (K : Finset (Sym2 V)) (o z : V)
(S : Finset V) where
/-- The last vertex in `S`. -/
x : V
/-- The first vertex outside `S`. -/
y : V
/-- The part of `K` inside `S` joining `o` to `x`. -/
Q : Finset (Sym2 V)
/-- `x ∈ S`. -/
x_mem : x ∈ S
/-- `y ∉ S`. -/
y_notMem : y ∉ S
/-- `Q ⊆ K`. -/
Q_subset : Q ⊆ K
/-- Every edge of `Q` lies inside `S`. -/
Q_inside : ∀ e ∈ Q, edgeInside S e
/-- `Q` has boundary `{o} ∆ {x}`. -/
Q_sources : HasOddBoundary Q (sourcePair o x)
/-- The exit edge belongs to `K`. -/
exit_mem : s(x, y) ∈ K
/-- The exit edge is not in `Q`. -/
exit_notMem : s(x, y) ∉ Q
/-- `x ≠ y`. -/
ne : x ≠ y
x : V
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSwitching.lean:375
y : V
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSwitching.lean:377
Q : Finset (Sym2 V)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSwitching.lean:379
def edgeInside (S : Finset V) (e : Sym2 V) : Prop := ∀ v ∈ e, v ∈ S
PhyslibExt/CondensedMatter/IsingModel/Sharpness/CurrentSplitting.lean:60
def HasOddBoundary (F : Finset (Sym2 V)) (A : Finset V) : Prop :=
∀ v : V, Odd (incCount F v) ↔ v ∈ A
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSources.lean:66
def sourcePair (a b : V) : Finset V := ({a} : Finset V) ∆ {b}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSwitching.lean:177
Uses 3 · Used by 4
DefinitionChosen first-exit data#✓fully proved
A choice of first-exit data, from exists_highTempFirstExit.
noncomputable def highTempFirstExit (G : SimpleGraph V) [DecidableRel G.Adj]
(K : Finset (Sym2 V)) (hK : K ⊆ G.edgeFinset) {o z : V}
(hbd : HasOddBoundary K (sourcePair o z)) (S : Finset V)
(ho : o ∈ S) (hz : z ∉ S) : HighTempFirstExit K o z S :=
(exists_highTempFirstExit G K hK hbd S ho hz).some
def HasOddBoundary (F : Finset (Sym2 V)) (A : Finset V) : Prop :=
∀ v : V, Odd (incCount F v) ↔ v ∈ A
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSources.lean:66
def sourcePair (a b : V) : Finset V := ({a} : Finset V) ∆ {b}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSwitching.lean:177
structure HighTempFirstExit (K : Finset (Sym2 V)) (o z : V)
(S : Finset V) where
/-- The last vertex in `S`. -/
x : V
/-- The first vertex outside `S`. -/
y : V
/-- The part of `K` inside `S` joining `o` to `x`. -/
Q : Finset (Sym2 V)
/-- `x ∈ S`. -/
x_mem : x ∈ S
/-- `y ∉ S`. -/
y_notMem : y ∉ S
⋯
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSwitching.lean:372
lemma exists_highTempFirstExit (G : SimpleGraph V) [DecidableRel G.Adj]
(K : Finset (Sym2 V)) (hK : K ⊆ G.edgeFinset) {o z : V}
(hbd : HasOddBoundary K (sourcePair o z)) (S : Finset V)
(ho : o ∈ S) (hz : z ∉ S) :
Nonempty (HighTempFirstExit K o z S)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSwitching.lean:397
Uses 21 · Used by 3
DefinitionEdges of a graph inside a set#✓fully proved
The edges of G inside S.
def highTempInternalEdges (S : Finset V) : Finset (Sym2 V) :=
G.edgeFinset.filter (edgeInside S)
def edgeInside (S : Finset V) (e : Sym2 V) : Prop := ∀ v ∈ e, v ∈ S
PhyslibExt/CondensedMatter/IsingModel/Sharpness/CurrentSplitting.lean:60
Uses 1 · Used by 5
StructureInput pair of the high-temperature switching#✓fully proved
A pair of edge sets (F, H), the input of the switching.
StructureOutput tuple of the high-temperature switching#✓fully proved
A tuple (x, y, A, B) of an exit edge and two edge sets, the output of the switching.
structure HighTempSwitchOutput where
/-- The inner endpoint of the exit edge. -/
x : V
/-- The outer endpoint of the exit edge. -/
y : V
/-- The edge set inside `S` with boundary `{o} ∆ {x}`. -/
A : Finset (Sym2 V)
/-- The edge set with boundary `{y} ∆ {z}`. -/
B : Finset (Sym2 V)
deriving DecidableEq, Fintype
DefinitionValid switching inputs#✓fully proved
Valid inputs: F ⊆ E(G) with boundary {o} ∆ {z} and H inside S with empty boundary.
def HighTempSwitchInput.Valid (S : Finset V) (o z : V)
(p : HighTempSwitchInput (V := V)) : Prop :=
p.F ⊆ G.edgeFinset ∧
p.H ⊆ highTempInternalEdges G S ∧
HasOddBoundary p.F (sourcePair o z) ∧
HasOddBoundary p.H ∅
structure HighTempSwitchInput where
/-- The edge set with boundary `{o} ∆ {z}`. -/
F : Finset (Sym2 V)
/-- The sourceless edge set inside `S`. -/
H : Finset (Sym2 V)
deriving DecidableEq, Fintype
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSimon.lean:76
def highTempInternalEdges (S : Finset V) : Finset (Sym2 V) :=
G.edgeFinset.filter (edgeInside S)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSimon.lean:67
def HasOddBoundary (F : Finset (Sym2 V)) (A : Finset V) : Prop :=
∀ v : V, Odd (incCount F v) ↔ v ∈ A
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSources.lean:66
def sourcePair (a b : V) : Finset V := ({a} : Finset V) ∆ {b}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSwitching.lean:177
Uses 4 · Used by 4
DefinitionValid switching outputs#✓fully proved
Valid outputs: x ∈ S, y ∉ S, A inside S with boundary {o} ∆ {x}, and B ⊆ E(G) with
boundary {y} ∆ {z}.
def HighTempSwitchOutput.Valid (S : Finset V) (o z : V)
(r : HighTempSwitchOutput (V := V)) : Prop :=
r.x ∈ S ∧ r.y ∉ S ∧
r.A ⊆ highTempInternalEdges G S ∧
r.B ⊆ G.edgeFinset ∧
HasOddBoundary r.A (sourcePair o r.x) ∧
HasOddBoundary r.B (sourcePair r.y z)
structure HighTempSwitchOutput where
/-- The inner endpoint of the exit edge. -/
x : V
/-- The outer endpoint of the exit edge. -/
y : V
/-- The edge set inside `S` with boundary `{o} ∆ {x}`. -/
A : Finset (Sym2 V)
/-- The edge set with boundary `{y} ∆ {z}`. -/
B : Finset (Sym2 V)
deriving DecidableEq, Fintype
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSimon.lean:84
def highTempInternalEdges (S : Finset V) : Finset (Sym2 V) :=
G.edgeFinset.filter (edgeInside S)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSimon.lean:67
def HasOddBoundary (F : Finset (Sym2 V)) (A : Finset V) : Prop :=
∀ v : V, Odd (incCount F v) ↔ v ∈ A
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSources.lean:66
def sourcePair (a b : V) : Finset V := ({a} : Finset V) ∆ {b}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSwitching.lean:177
Uses 4 · Used by 3
DefinitionFinite set of valid switching inputs#✓fully proved
The finite set of valid inputs.
noncomputable def highTempSwitchInputs (S : Finset V) (o z : V) :
Finset (HighTempSwitchInput (V := V)) :=
Finset.univ.filter (HighTempSwitchInput.Valid G S o z)
structure HighTempSwitchInput where
/-- The edge set with boundary `{o} ∆ {z}`. -/
F : Finset (Sym2 V)
/-- The sourceless edge set inside `S`. -/
H : Finset (Sym2 V)
deriving DecidableEq, Fintype
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSimon.lean:76
def HighTempSwitchInput.Valid (S : Finset V) (o z : V)
(p : HighTempSwitchInput (V := V)) : Prop :=
p.F ⊆ G.edgeFinset ∧
p.H ⊆ highTempInternalEdges G S ∧
HasOddBoundary p.F (sourcePair o z) ∧
HasOddBoundary p.H ∅
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSimon.lean:96
Uses 2 · Used by 2
DefinitionFinite set of valid switching outputs#✓fully proved
The finite set of valid outputs.
noncomputable def highTempSwitchOutputs (S : Finset V) (o z : V) :
Finset (HighTempSwitchOutput (V := V)) :=
Finset.univ.filter (HighTempSwitchOutput.Valid G S o z)
structure HighTempSwitchOutput where
/-- The inner endpoint of the exit edge. -/
x : V
/-- The outer endpoint of the exit edge. -/
y : V
/-- The edge set inside `S` with boundary `{o} ∆ {x}`. -/
A : Finset (Sym2 V)
/-- The edge set with boundary `{y} ∆ {z}`. -/
B : Finset (Sym2 V)
deriving DecidableEq, Fintype
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSimon.lean:84
def HighTempSwitchOutput.Valid (S : Finset V) (o z : V)
(r : HighTempSwitchOutput (V := V)) : Prop :=
r.x ∈ S ∧ r.y ∉ S ∧
r.A ⊆ highTempInternalEdges G S ∧
r.B ⊆ G.edgeFinset ∧
HasOddBoundary r.A (sourcePair o r.x) ∧
HasOddBoundary r.B (sourcePair r.y z)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSimon.lean:110
Uses 2 · Used by 2
DefinitionHigh-temperature switching map#✓fully proved
The switching map: cut F ∆ H at its first exit from S and redistribute the pieces.
noncomputable def highTempSwitch (S : Finset V) (o z : V)
(ho : o ∈ S) (hz : z ∉ S) (p : HighTempSwitchInput (V := V))
(hp : p.Valid G S o z) : HighTempSwitchOutput (V := V) := by
let K := p.F ∆ p.H
let d := highTempFirstExit G K
(highTempInput_symmDiff_subset G hp)
(highTempInput_symmDiff_sources G hp) S ho hz
exact
{ x := d.x
y := d.y
A := p.H ∆ d.Q
B := (p.F ∆ d.Q).erase s(d.x, d.y) }
structure HighTempSwitchInput where
/-- The edge set with boundary `{o} ∆ {z}`. -/
F : Finset (Sym2 V)
/-- The sourceless edge set inside `S`. -/
H : Finset (Sym2 V)
deriving DecidableEq, Fintype
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSimon.lean:76
structure HighTempSwitchOutput where
/-- The inner endpoint of the exit edge. -/
x : V
/-- The outer endpoint of the exit edge. -/
y : V
/-- The edge set inside `S` with boundary `{o} ∆ {x}`. -/
A : Finset (Sym2 V)
/-- The edge set with boundary `{y} ∆ {z}`. -/
B : Finset (Sym2 V)
deriving DecidableEq, Fintype
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSimon.lean:84
Uses 12 · Used by 2
DefinitionSwitching map between valid inputs and outputs#✓fully proved
The switching as a map between the finite sets of valid inputs and outputs.
noncomputable def highTempSwitchMap (S : Finset V) (o z : V)
(ho : o ∈ S) (hz : z ∉ S) :
↥(highTempSwitchInputs G S o z) → ↥(highTempSwitchOutputs G S o z) :=
fun p => ⟨highTempSwitch G S o z ho hz p.1 (by
have h := p.2
change p.1 ∈ Finset.univ.filter
(HighTempSwitchInput.Valid G S o z) at h
exact (Finset.mem_filter.mp h).2),
highTempSwitch_mem_outputs G S o z ho hz p.1 p.2⟩
noncomputable def highTempSwitchInputs (S : Finset V) (o z : V) :
Finset (HighTempSwitchInput (V := V)) :=
Finset.univ.filter (HighTempSwitchInput.Valid G S o z)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSimon.lean:124
noncomputable def highTempSwitchOutputs (S : Finset V) (o z : V) :
Finset (HighTempSwitchOutput (V := V)) :=
Finset.univ.filter (HighTempSwitchOutput.Valid G S o z)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSimon.lean:129
noncomputable def highTempSwitch (S : Finset V) (o z : V)
(ho : o ∈ S) (hz : z ∉ S) (p : HighTempSwitchInput (V := V))
(hp : p.Valid G S o z) : HighTempSwitchOutput (V := V) := by
let K := p.F ∆ p.H
let d := highTempFirstExit G K
(highTempInput_symmDiff_subset G hp)
(highTempInput_symmDiff_sources G hp) S ho hz
exact
{ x := d.x
y := d.y
A := p.H ∆ d.Q
B := (p.F ∆ d.Q).erase s(d.x, d.y) }
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSimon.lean:154
Uses 16 · Used by 1
DefinitionWeight of a switching input#✓fully proved
The weight ∏_{e ∈ F} t_e ∏_{e ∈ H} t_e of an input.
noncomputable def highTempSwitchInputWeight (t : Sym2 V → ℝ)
(p : HighTempSwitchInput (V := V)) : ℝ :=
(∏ e ∈ p.F, t e) * ∏ e ∈ p.H, t e
structure HighTempSwitchInput where
/-- The edge set with boundary `{o} ∆ {z}`. -/
F : Finset (Sym2 V)
/-- The sourceless edge set inside `S`. -/
H : Finset (Sym2 V)
deriving DecidableEq, Fintype
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSimon.lean:76
Uses 1 · Used by 1
DefinitionWeight of a switching output#✓fully proved
The weight ∏_{e ∈ A} t_e · t_{xy} · ∏_{e ∈ B} t_e of an output.
noncomputable def highTempSwitchOutputWeight (t : Sym2 V → ℝ)
(r : HighTempSwitchOutput (V := V)) : ℝ :=
(∏ e ∈ r.A, t e) * t s(r.x, r.y) * ∏ e ∈ r.B, t e
structure HighTempSwitchOutput where
/-- The inner endpoint of the exit edge. -/
x : V
/-- The outer endpoint of the exit edge. -/
y : V
/-- The edge set inside `S` with boundary `{o} ∆ {x}`. -/
A : Finset (Sym2 V)
/-- The edge set with boundary `{y} ∆ {z}`. -/
B : Finset (Sym2 V)
deriving DecidableEq, Fintype
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSimon.lean:84
Uses 1 · Used by 1
DefinitionEdge sets with a given boundary#✓fully proved
The edge sets F ⊆ E with boundary A.
noncomputable def highTempSourceSubgraphs (E : Finset (Sym2 V))
(A : Finset V) : Finset (Finset (Sym2 V)) :=
E.powerset.filter (fun F => HasOddBoundary F A)
def HasOddBoundary (F : Finset (Sym2 V)) (A : Finset V) : Prop :=
∀ v : V, Odd (incCount F v) ↔ v ∈ A
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSources.lean:66
Uses 2 · Used by 5
DefinitionHigh-temperature source sum#✓fully proved
The high-temperature source sum ∑_{F ⊆ E, ∂F = A} ∏_{e ∈ F} t_e.
noncomputable def highTempSourceSum (E : Finset (Sym2 V))
(t : Sym2 V → ℝ) (A : Finset V) : ℝ :=
∑ F ∈ highTempSourceSubgraphs E A, ∏ e ∈ F, t e
noncomputable def highTempSourceSubgraphs (E : Finset (Sym2 V))
(A : Finset V) : Finset (Finset (Sym2 V)) :=
E.powerset.filter (fun F => HasOddBoundary F A)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSimon.lean:420
Uses 1 · Used by 4
DefinitionTwo-point function with couplings#✓fully proved
The two-point function ⟨σ_aσ_b⟩_{β,J} (equal to 1 when a = b).
noncomputable def twoPointJ (beta : ℝ) (J : Sym2 V → ℝ)
(a b : V) : ℝ :=
expectationJ G beta J (sourcePair a b)
noncomputable def expectationJ (β : ℝ) (J : Sym2 V → ℝ) (A : Finset V) : ℝ :=
(∑ s : ConfigSpace V, spinProd A s * boltzmannJ G β J s) / partitionJ G β J
PhyslibExt/CondensedMatter/IsingModel/Sharpness/CurrentRep.lean:454
def sourcePair (a b : V) : Finset V := ({a} : Finset V) ∆ {b}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSwitching.lean:177
Uses 2 · Used by 6
TheoremSimon–Lieb inequality on a finite graph#✓fully proved
The Simon–Lieb inequality: for β, J ≥ 0, o ∈ S and z ∉ S, ⟨σ_oσ_z⟩ ≤ ∑_{x ∈ S} ∑_{y ∉ S}
tanh(βJ_{xy}) ⟨σ_oσ_x⟩_{J|S} ⟨σ_yσ_z⟩. Reference: B. Simon, "Correlation inequalities and the decay
of correlations in ferromagnets", Comm. Math. Phys. 77 (1980) 111–126; E. H. Lieb, "A refinement of
Simon's correlation inequality", Comm. Math. Phys. 77 (1980) 127–135.
theorem twoPointJ_simon_finite (beta : ℝ) (J : Sym2 V → ℝ)
(hbeta : 0 ≤ beta) (hJ : ∀ e, 0 ≤ J e)
(S : Finset V) (o z : V) (ho : o ∈ S) (hz : z ∉ S) :
twoPointJ G beta J o z ≤
∑ x ∈ S, ∑ y ∈ (Finset.univ \ S),
Real.tanh (beta * J s(x, y)) *
twoPointJ G beta (couplingIn J S) o x *
twoPointJ G beta J y z
noncomputable def twoPointJ (beta : ℝ) (J : Sym2 V → ℝ)
(a b : V) : ℝ :=
expectationJ G beta J (sourcePair a b)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSimon.lean:742
noncomputable def couplingIn (J : Sym2 V → ℝ) (S : Finset V) : Sym2 V → ℝ :=
fun e => if edgeInside S e then J e else 0
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterFactorization.lean:113
Uses 34 · Used by 1
DefinitionSimon–Lieb weight#✓fully proved
The Simon–Lieb weight tanh(βJ_{xy}) ⟨σ_oσ_x⟩_{J|S}.
noncomputable def simonWeightPair (beta : ℝ) (J : Sym2 V → ℝ)
(S : Finset V) (o x y : V) : ℝ :=
Real.tanh (beta * J s(x, y)) *
twoPointJ G beta (couplingIn J S) o x
noncomputable def twoPointJ (beta : ℝ) (J : Sym2 V → ℝ)
(a b : V) : ℝ :=
expectationJ G beta J (sourcePair a b)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSimon.lean:742
noncomputable def couplingIn (J : Sym2 V → ℝ) (S : Finset V) : Sym2 V → ℝ :=
fun e => if edgeInside S e then J e else 0
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterFactorization.lean:113
Uses 2
DefinitionGhost-graph coupling with a site field#✓fully proved
The coupling on G plus a ghost vertex: J on the edges of G and H_x on the edge {x,
ghost}.
DefinitionBoltzmann weight with a site field#✓fully proved
The Boltzmann weight exp(β(∑_e J_e σ_e + ∑_x H_x σ_x)) with a site field H.
noncomputable def vertexFieldWeight (β : ℝ) (J : Sym2 V → ℝ)
(H : V → ℝ) (s : ConfigSpace V) : ℝ :=
Real.exp (β * ((∑ e ∈ G.edgeFinset, J e * bond s e) +
∑ x : V, H x * spin s x))
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def bond (s : ConfigSpace V) (e : Sym2 V) : ℝ :=
Sym2.lift ⟨fun x y => spin s x * spin s y, fun _ _ => mul_comm _ _⟩ e
PhyslibExt/CondensedMatter/IsingModel/Gibbs.lean:85
def spin (s : ConfigSpace V) (x : V) : ℝ := if s x then 1 else -1
PhyslibExt/CondensedMatter/IsingModel/Gibbs.lean:70
Uses 3 · Used by 6
DefinitionPartition function with a site field#✓fully proved
The partition function with site field H.
noncomputable def vertexFieldZ (β : ℝ) (J : Sym2 V → ℝ)
(H : V → ℝ) : ℝ :=
∑ s : ConfigSpace V, vertexFieldWeight G β J H s
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def vertexFieldWeight (β : ℝ) (J : Sym2 V → ℝ)
(H : V → ℝ) (s : ConfigSpace V) : ℝ :=
Real.exp (β * ((∑ e ∈ G.edgeFinset, J e * bond s e) +
∑ x : V, H x * spin s x))
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempVertexField.lean:89
Uses 2 · Used by 5
DefinitionGibbs expectation with a site field#✓fully proved
The Gibbs expectation with site field H.
noncomputable def vertexFieldExpectation (β : ℝ) (J : Sym2 V → ℝ)
(H : V → ℝ) (f : ConfigSpace V → ℝ) : ℝ :=
(∑ s : ConfigSpace V, f s * vertexFieldWeight G β J H s) /
vertexFieldZ G β J H
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def vertexFieldWeight (β : ℝ) (J : Sym2 V → ℝ)
(H : V → ℝ) (s : ConfigSpace V) : ℝ :=
Real.exp (β * ((∑ e ∈ G.edgeFinset, J e * bond s e) +
∑ x : V, H x * spin s x))
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempVertexField.lean:89
noncomputable def vertexFieldZ (β : ℝ) (J : Sym2 V → ℝ)
(H : V → ℝ) : ℝ :=
∑ s : ConfigSpace V, vertexFieldWeight G β J H s
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempVertexField.lean:95
Uses 3 · Used by 5
DefinitionTwo-point function with a site field#✓fully proved
The two-point function ⟨σ_aσ_b⟩_{β,J,H} with site field H.
noncomputable def vertexFieldTwoPoint (β : ℝ) (J : Sym2 V → ℝ)
(H : V → ℝ) (a b : V) : ℝ :=
vertexFieldExpectation G β J H (spinProd (sourcePair a b))
noncomputable def vertexFieldExpectation (β : ℝ) (J : Sym2 V → ℝ)
(H : V → ℝ) (f : ConfigSpace V → ℝ) : ℝ :=
(∑ s : ConfigSpace V, f s * vertexFieldWeight G β J H s) /
vertexFieldZ G β J H
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempVertexField.lean:100
def spinProd (A : Finset V) (s : ConfigSpace V) : ℝ := ∏ x ∈ A, spin s x
PhyslibExt/CondensedMatter/IsingModel/GKS.lean:186
def sourcePair (a b : V) : Finset V := ({a} : Finset V) ∆ {b}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempSwitching.lean:177
Uses 3 · Used by 4
DefinitionSimon weight of a boundary pair#✓fully proved
The Simon weight w(x, y) = tanh(βJ_{xy}) ⟨σ_oσ_x⟩_{J|S}.
noncomputable def simonWeight (β : ℝ) (J : Sym2 V → ℝ) (S : Finset V) (o : V) :
V → V → ℝ :=
fun x y => Real.tanh (β * J s(x, y)) * expectationJ G β (couplingIn J S) {o, x}
noncomputable def expectationJ (β : ℝ) (J : Sym2 V → ℝ) (A : Finset V) : ℝ :=
(∑ s : ConfigSpace V, spinProd A s * boltzmannJ G β J s) / partitionJ G β J
PhyslibExt/CondensedMatter/IsingModel/Sharpness/CurrentRep.lean:454
noncomputable def couplingIn (J : Sym2 V → ℝ) (S : Finset V) : Sym2 V → ℝ :=
fun e => if edgeInside S e then J e else 0
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterFactorization.lean:113
Uses 2
StructureSimon–Lieb type inequality for a nonnegative two-point function#✓fully proved
A Simon–Lieb type inequality for a nonnegative two-point function τ, root o, set S,
weights w and boundary targets B: τ(o, z) ≤ ∑_{x ∈ S} ∑_{y ∈ B} w(x, y) τ(y, z) for every z ∉
S.
structure SimonLieb (τ : V → V → ℝ) (o : V) (S : Finset V)
(simWeight : V → V → ℝ) (boundaryTargets : Finset V) : Prop where
/-- The two-point function is nonnegative. -/
τ_nonneg : ∀ a b, 0 ≤ τ a b
/-- The weights are nonnegative. -/
weight_nonneg : ∀ x y, 0 ≤ simWeight x y
/-- The Simon–Lieb bound for every `z ∉ S`. -/
simon : ∀ z, z ∉ S →
τ o z ≤ ∑ x ∈ S, ∑ y ∈ boundaryTargets, simWeight x y * τ y z
DefinitionSimon constant of a weight function#✓fully proved
The Simon constant φ = ∑_{x ∈ S} ∑_{y ∈ B} w(x, y).
DefinitionSpin pair product as a bounded continuous function#✓fully proved
The bounded continuous function σ ↦ σ_x σ_y on configuration space.
noncomputable def spinPairBCF (x y : Site d) :
ConfigSpace (Site d) →ᵇ ℝ :=
spinBCF x * spinBCF y
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def spinBCF (x : Site d) : ConfigSpace (Site d) →ᵇ ℝ :=
⟨⟨fun ω => spin ω x, continuous_spinObs x⟩,
⟨2, fun ω ω' => by
have h1 := spinObs_le_one x ω
have h2 := spinObs_le_one x ω'
calc dist (spin ω x) (spin ω' x) ≤ ‖spin ω x‖ + ‖spin ω' x‖ := dist_le_norm_add_norm _ _
_ ≤ 1 + 1 := by linarith
_ = 2 := by ring⟩⟩
PhyslibExt/CondensedMatter/IsingModel/MagNonneg.lean:70
Uses 3 · Used by 4
DefinitionPlus-state two-point function at zero field#✓fully proved
The plus-state two-point function ⟨σ_xσ_y⟩^+_β at zero field.
noncomputable def plusCorr (d : ℕ) (β : ℝ) (x y : Site d) : ℝ :=
∫ ω, spin ω x * spin ω y
∂(plusState d β 0 : Measure (ConfigSpace (Site d)))
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def spin (s : ConfigSpace V) (x : V) : ℝ := if s x then 1 else -1
PhyslibExt/CondensedMatter/IsingModel/Gibbs.lean:70
noncomputable def plusState (d : ℕ) (β h : ℝ) :
ProbabilityMeasure (ConfigSpace (Site d)) :=
limitState (fun n => plusMeasure d n β h)
PhyslibExt/CondensedMatter/IsingModel/InfiniteVolume.lean:275
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
Uses 4 · Used by 7
DefinitionSimon–Lieb boundary sum against a measure#✓fully proved
The Simon–Lieb boundary sum ∑_{(x,y) ∈ ∂S} tanh β ⟨σ_0σ_x⟩_S ∫ σ_yσ_z dμ for a measure μ.
noncomputable def simonBoundaryIntegral
(β : ℝ) (S : Finset (Site d)) (_o z : Site d)
(μ : Measure (ConfigSpace (Site d))) : ℝ :=
∑ e ∈ boundaryEdges d S,
Real.tanh β * corrOriginInner d β S e.1 *
(∫ ω, spin ω e.2 * spin ω z ∂μ)
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def boundaryEdges (d : ℕ) (S : Finset (Site d)) :
Finset (Site d × Site d) := by
classical
exact
((S ×ˢ (Finset.univ : Finset (Fin d)) ×ˢ (Finset.univ : Finset Bool)).filter
(fun t => coordShift t.1 t.2.1 (stepSign t.2.2) ∉ S)).image
(fun t => (t.1, coordShift t.1 t.2.1 (stepSign t.2.2)))
MathlibExt/Probability/Percolation/TildePc.lean:60
noncomputable def corrOriginInner (d : ℕ) (β : ℝ) (S : Finset (Site d))
(x : Site d) : ℝ := by
classical
exact
if h0 : origin d ∈ S then
if hx : x ∈ S then
freeCorr d β S ⟨origin d, h0⟩ ⟨x, hx⟩
else 0
else 0
PhyslibExt/CondensedMatter/IsingModel/Sharpness/TildeBc.lean:155
def spin (s : ConfigSpace V) (x : V) : ℝ := if s x then 1 else -1
PhyslibExt/CondensedMatter/IsingModel/Gibbs.lean:70
DefinitionSimon–Lieb boundary sum in the plus state#✓fully proved
The Simon–Lieb boundary sum ∑_{(x,y) ∈ ∂S} tanh β ⟨σ_0σ_x⟩_S ⟨σ_yσ_z⟩^+_β in the plus state.
noncomputable def simonBoundaryPlus
(β : ℝ) (S : Finset (Site d)) (_o z : Site d) : ℝ :=
∑ e ∈ boundaryEdges d S,
Real.tanh β * corrOriginInner d β S e.1 * plusCorr d β e.2 z
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
noncomputable def boundaryEdges (d : ℕ) (S : Finset (Site d)) :
Finset (Site d × Site d) := by
classical
exact
((S ×ˢ (Finset.univ : Finset (Fin d)) ×ˢ (Finset.univ : Finset Bool)).filter
(fun t => coordShift t.1 t.2.1 (stepSign t.2.2) ∉ S)).image
(fun t => (t.1, coordShift t.1 t.2.1 (stepSign t.2.2)))
MathlibExt/Probability/Percolation/TildePc.lean:60
noncomputable def corrOriginInner (d : ℕ) (β : ℝ) (S : Finset (Site d))
(x : Site d) : ℝ := by
classical
exact
if h0 : origin d ∈ S then
if hx : x ∈ S then
freeCorr d β S ⟨origin d, h0⟩ ⟨x, hx⟩
else 0
else 0
PhyslibExt/CondensedMatter/IsingModel/Sharpness/TildeBc.lean:155
noncomputable def plusCorr (d : ℕ) (β : ℝ) (x y : Site d) : ℝ :=
∫ ω, spin ω x * spin ω y
∂(plusState d β 0 : Measure (ConfigSpace (Site d)))
PhyslibExt/CondensedMatter/IsingModel/Sharpness/SimonPlusLimit.lean:69
DefinitionBoundary edges of a finite volume#✓fully proved
The edges touching Λ that are not inside Λ.
noncomputable def plusBoundaryEdges (Lambda : Finset (Site d)) :
Finset (Sym2 (Site d)) :=
(gvBondTouch Lambda).filter (fun e ↦ ¬ edgeInside Lambda e)
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
noncomputable def gvBondTouch (S : Finset (Site d)) : Finset (Sym2 (Site d)) :=
(((gvCand S) ×ˢ (gvCand S)).filter
(fun p => (hypercubicLattice d).Adj p.1 p.2 ∧ (p.1 ∈ S ∨ p.2 ∈ S))).image (fun p => s(p.1, p.2))
PhyslibExt/CondensedMatter/IsingModel/PlusStateErgodic.lean:90
def edgeInside (S : Finset V) (e : Sym2 V) : Prop := ∀ v ∈ e, v ∈ S
PhyslibExt/CondensedMatter/IsingModel/Sharpness/CurrentSplitting.lean:60
Uses 3 · Used by 5
DefinitionField induced by the plus boundary condition#✓fully proved
The field on x ∈ Λ induced by the plus boundary condition: the number of edges from x to
sites outside Λ.
noncomputable def plusBoundaryField (Lambda : Finset (Site d))
(x : {v // v ∈ Lambda}) : ℝ :=
((plusBoundaryEdges Lambda).filter (fun e ↦ x.1 ∈ e)).card
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
noncomputable def plusBoundaryEdges (Lambda : Finset (Site d)) :
Finset (Sym2 (Site d)) :=
(gvBondTouch Lambda).filter (fun e ↦ ¬ edgeInside Lambda e)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempPlusBox.lean:69
Uses 2 · Used by 4
DefinitionUnit coupling on the edges of a graph#✓fully proved
The coupling equal to 1 on the edges of G and 0 elsewhere.
noncomputable def unitEdgeCoupling {V : Type*} (G : SimpleGraph V)
(e : Sym2 V) : ℝ :=
if e ∈ G.edgeSet then 1 else 0
DefinitionUnderlying lattice sites of a subset of a volume#✓fully proved
The sites of ℤ^d underlying a set T of sites of Λ.
noncomputable def plusCutSites {Lambda : Finset (Site d)}
(T : Finset {v // v ∈ Lambda}) : Finset (Site d) :=
T.image Subtype.val
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
Uses 1 · Used by 2
DefinitionIdentification of volume sites with lattice sites#✓fully proved
The identification of T (as sites of Λ) with plusCutSites T (as sites of ℤ^d).
StatMech.Sharpness.plusCutVertexEquiv · 18 lines
noncomputable def plusCutVertexEquiv {Lambda : Finset (Site d)}
(T : Finset {v // v ∈ Lambda}) :
{x : {v // v ∈ Lambda} // x ∈ T} ≃
{z : Site d // z ∈ plusCutSites T} :=
Equiv.ofBijective
(fun x ↦ ⟨x.1.1, mem_plusCutSites.mpr x.2⟩)
⟨by
intro x y h
apply Subtype.ext
apply Subtype.ext
exact congrArg
(fun z : {z : Site d // z ∈ plusCutSites T} ↦ z.1) h,
by
intro z
have hz : z.1 ∈ T.image Subtype.val := z.2
rw [Finset.mem_image] at hz
obtain ⟨x, hx, hval⟩ := hz
exact ⟨⟨x, hx⟩, Subtype.ext hval⟩⟩
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
noncomputable def plusCutSites {Lambda : Finset (Site d)}
(T : Finset {v // v ∈ Lambda}) : Finset (Site d) :=
T.image Subtype.val
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempPlusBox.lean:377
@[simp] lemma mem_plusCutSites {Lambda : Finset (Site d)}
{T : Finset {v // v ∈ Lambda}} {x : {v // v ∈ Lambda}} :
x.1 ∈ plusCutSites T ↔ x ∈ T
PhyslibExt/CondensedMatter/IsingModel/Sharpness/HighTempPlusBox.lean:381
Uses 2 · Used by 1
DefinitionSites of a volume lying in a set#✓fully proved
The sites of Λ that lie in T.
noncomputable def sitesInVolume (Lambda T : Finset (Site d)) :
Finset {v // v ∈ Lambda} :=
Finset.univ.filter (fun x ↦ x.1 ∈ T)
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
Uses 1 · Used by 1
TheoremSimon–Lieb inequality in the infinite-volume plus state#✓fully proved
The Simon–Lieb inequality in the infinite-volume plus state: for β ≥ 0, a finite T ∋ 0 and
z ∉ T, ⟨σ_0σ_z⟩^+_β ≤ ∑_{(x,y) ∈ ∂T} tanh β ⟨σ_0σ_x⟩_T ⟨σ_yσ_z⟩^+_β. Reference: B. Simon,
"Correlation inequalities and the decay of correlations in ferromagnets", Comm. Math. Phys. 77
(1980) 111–126; E. H. Lieb, "A refinement of Simon's correlation inequality", Comm. Math. Phys. 77
(1980) 127–135.
theorem plusCorr_simon
(beta : ℝ) (hbeta : 0 ≤ beta)
(T : Finset (Site d)) (ho : Percolation.origin d ∈ T)
(z : Site d) (hzT : z ∉ T) :
plusCorr d beta (Percolation.origin d) z ≤
simonBoundaryPlus beta T (Percolation.origin d) z
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def origin (d : ℕ) : Site d := fun _ => 0
MathlibExt/Probability/Percolation/Theta.lean:56
noncomputable def plusCorr (d : ℕ) (β : ℝ) (x y : Site d) : ℝ :=
∫ ω, spin ω x * spin ω y
∂(plusState d β 0 : Measure (ConfigSpace (Site d)))
PhyslibExt/CondensedMatter/IsingModel/Sharpness/SimonPlusLimit.lean:69
noncomputable def simonBoundaryPlus
(β : ℝ) (S : Finset (Site d)) (_o z : Site d) : ℝ :=
∑ e ∈ boundaryEdges d S,
Real.tanh β * corrOriginInner d β S e.1 * plusCorr d β e.2 z
PhyslibExt/CondensedMatter/IsingModel/Sharpness/SimonPlusLimit.lean:95
Uses 91 · Used by 3
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.