Mean-field lower bound for the Ising magnetization
DefinitionMinimal magnetization ratio for sites indexed by \(\mathbb{N}\)#✓fully proved
The minimal ratio min_{y ∈ sites n} M(n)/m(n, y) for sites indexed by ℕ.
noncomputable def sct_cInf (M : ℕ → ℝ) (sites : ℕ → Finset ℕ)
(m : ℕ → ℕ → ℝ) (hne : ∀ n, (sites n).Nonempty) (n : ℕ) : ℝ :=
(sites n).inf' (hne n) (fun y => M n / m n y)
DefinitionMinimal magnetization ratio for \(n\)-dependent site types#✓fully proved
The minimal ratio min_{y ∈ sites n} M(n)/m(n, y) for site types depending on n.
noncomputable def sct_cInfDep (ι : ℕ → Type*) [∀ n, DecidableEq (ι n)]
(M : ℕ → ℝ) (sites : (n : ℕ) → Finset (ι n))
(m : (n : ℕ) → ι n → ℝ) (hne : ∀ n, (sites n).Nonempty) (n : ℕ) : ℝ :=
(sites n).inf' (hne n) (fun y => M n / m n y)
AbbreviationBox \(\Lambda_n\) as a type#✓fully proved
The box Λ_n = [-n, n]^d ⊆ ℤ^d as a type.
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def box (d n : ℕ) : Set (Site d) := {x | ∀ i, (x i).natAbs ≤ n}
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:86
Uses 2 · Used by 31
DefinitionNearest-neighbour graph on a box#✓fully proved
The nearest-neighbour graph induced on Λ_n.
def sctBoxGraph (d n : ℕ) : SimpleGraph (sctBox d n) :=
(hypercubicLattice d).induce (box d n)
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
def hypercubicLattice (d : ℕ) : SimpleGraph (Site d) where
Adj := NearestNeighbour d
symm := ⟨fun _ _ h => nearestNeighbour_symm d h⟩
loopless := nearestNeighbour_irrefl d
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:76
def box (d n : ℕ) : Set (Site d) := {x | ∀ i, (x i).natAbs ≤ n}
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:86
Uses 4 · Used by 8
DefinitionMembership of a larger-box site in a smaller box#✓fully proved
A site of Λ_m lies in Λ_n.
def sctBoxInLarger (d n m : ℕ) (z : sctBox d m) : Prop := z.1 ∈ box d n
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
def box (d n : ℕ) : Set (Site d) := {x | ∀ i, (x i).natAbs ≤ n}
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:86
Uses 3 · Used by 2
DefinitionSmaller box as a subtype of a larger box#✓fully proved
For n ≤ m, Λ_n is equivalent to the subtype of Λ_m of sites lying in Λ_n.
noncomputable def sctBoxInclusionEquiv (d : ℕ) {n m : ℕ} (hnm : n ≤ m) :
sctBox d n ≃ {z : sctBox d m // sctBoxInLarger d n m z} where
toFun z := ⟨⟨z.1, fun i => le_trans (z.2 i) hnm⟩, z.2⟩
invFun z := ⟨z.1.1, z.2⟩
left_inv z := by ext i; rfl
right_inv z := by ext i; rfl
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
def sctBoxInLarger (d n m : ℕ) (z : sctBox d m) : Prop := z.1 ∈ box d n
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:76
DefinitionOrigin as a site of a box#✓fully proved
The origin as a site of Λ_n.
def sctBoxOrigin (d n : ℕ) : sctBox d n :=
⟨fun _ => 0, by intro i; simp⟩
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
Uses 3 · Used by 10
DefinitionTranslated box \(\Lambda_n - y\)#✓fully proved
The translate Λ_n - y.
def sctTranslatedBox (d n : ℕ) (y : Site d) : Set (Site d) :=
(fun z : Site d => z - y) '' box d n
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def box (d n : ℕ) : Set (Site d) := {x | ∀ i, (x i).natAbs ≤ n}
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:86
Uses 2 · Used by 5
DefinitionTranslation onto a translated box#✓fully proved
Translation by -y as an equivalence Λ_n ≃ Λ_n - y.
noncomputable def sctTranslateEquiv (d n : ℕ) (y : Site d) :
sctBox d n ≃ {z : Site d // z ∈ sctTranslatedBox d n y} where
toFun z := ⟨z.1 - y, ⟨z.1, z.2, rfl⟩⟩
invFun w := ⟨w.1 + y, by
rcases w.2 with ⟨z, hz, hzy⟩
have hw : w.1 + y = z := by
rw [← hzy]
funext i
dsimp
ring
rwa [hw]⟩
left_inv z := by ext i; simp
right_inv w := by ext i; simp
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
def sctTranslatedBox (d n : ℕ) (y : Site d) : Set (Site d) :=
(fun z : Site d => z - y) '' box d n
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:105
Uses 4 · Used by 1
DefinitionNearest-neighbour graph on a translated box#✓fully proved
The nearest-neighbour graph induced on Λ_n - y.
def sctTranslatedBoxGraph (d n : ℕ) (y : Site d) :
SimpleGraph {z : Site d // z ∈ sctTranslatedBox d n y} :=
(hypercubicLattice d).induce (sctTranslatedBox d n y)
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def sctTranslatedBox (d n : ℕ) (y : Site d) : Set (Site d) :=
(fun z : Site d => z - y) '' box d n
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:105
def hypercubicLattice (d : ℕ) : SimpleGraph (Site d) where
Adj := NearestNeighbour d
symm := ⟨fun _ _ h => nearestNeighbour_symm d h⟩
loopless := nearestNeighbour_irrefl d
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:76
Uses 3 · Used by 1
DefinitionMembership of a doubled-box site in a translated box#✓fully proved
A site of Λ_{2n} lies in Λ_n - y.
def sctTranslatedInDouble (d n : ℕ) (y : sctBox d n) (z : sctBox d (2 * n)) : Prop :=
z.1 ∈ sctTranslatedBox d n y.1
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
def sctTranslatedBox (d n : ℕ) (y : Site d) : Set (Site d) :=
(fun z : Site d => z - y) '' box d n
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:105
DefinitionTranslated box as a subtype of the doubled box#✓fully proved
For y ∈ Λ_n, Λ_n - y is equivalent to the subtype of Λ_{2n} of sites lying in it.
noncomputable def sctTranslatedInDoubleEquiv (d n : ℕ) (y : sctBox d n) :
{z : Site d // z ∈ sctTranslatedBox d n y.1} ≃
{z : sctBox d (2 * n) // sctTranslatedInDouble d n y z} where
toFun z := ⟨⟨z.1, sct_translate_box_subset_double y.2 z.2⟩, z.2⟩
invFun z := ⟨z.1.1, z.2⟩
left_inv z := by ext i; rfl
right_inv z := by ext i; rfl
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def sctTranslatedBox (d n : ℕ) (y : Site d) : Set (Site d) :=
(fun z : Site d => z - y) '' box d n
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:105
def sctTranslatedInDouble (d n : ℕ) (y : sctBox d n) (z : sctBox d (2 * n)) : Prop :=
z.1 ∈ sctTranslatedBox d n y.1
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:138
lemma sct_translate_box_subset_double {d n : ℕ} {y : Site d} (hy : y ∈ box d n) :
(fun z : Site d => z - y) '' box d n ⊆ box d (2 * n)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatio.lean:61
DefinitionFree-boundary site magnetization in a box#✓fully proved
The free-boundary magnetization ⟨σ_x⟩_{Λ_n, β, h} at a site x ∈ Λ_n.
noncomputable def sctBoxMag (d : ℕ) (β h : ℝ) (n : ℕ) (x : sctBox d n) : ℝ :=
isingExpectation (sctBoxGraph d n) β h (fun s => spin s x)
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
noncomputable def isingExpectation (β h : ℝ) (f : ConfigSpace V → ℝ) : ℝ :=
∑ s : ConfigSpace V, isingProb G β h s * f s
PhyslibExt/CondensedMatter/IsingModel/GKS.lean:208
def sctBoxGraph (d n : ℕ) : SimpleGraph (sctBox d n) :=
(hypercubicLattice d).induce (box d n)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:68
def spin (s : ConfigSpace V) (x : V) : ℝ := if s x then 1 else -1
PhyslibExt/CondensedMatter/IsingModel/Gibbs.lean:70
Uses 8 · Used by 5
DefinitionOrigin magnetization in a box#✓fully proved
The origin magnetization ⟨σ_0⟩_{Λ_n, β, h}.
noncomputable def sctOriginMag (d : ℕ) (β h : ℝ) (n : ℕ) : ℝ :=
sctBoxMag d β h n (sctBoxOrigin d n)
noncomputable def sctBoxMag (d : ℕ) (β h : ℝ) (n : ℕ) (x : sctBox d n) : ℝ :=
isingExpectation (sctBoxGraph d n) β h (fun s => spin s x)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:184
def sctBoxOrigin (d n : ℕ) : sctBox d n :=
⟨fun _ => 0, by intro i; simp⟩
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:99
Uses 2 · Used by 10
DefinitionAll sites of a box#✓fully proved
All sites of Λ_n.
noncomputable def sctBoxSites (d n : ℕ) : Finset (sctBox d n) := Finset.univ
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
Uses 3 · Used by 3
DefinitionMinimal origin-to-site magnetization ratio in a box#✓fully proved
The minimal ratio min_{x ∈ Λ_n} ⟨σ_0⟩_{Λ_n}/⟨σ_x⟩_{Λ_n}.
noncomputable def sctLatticeC (d : ℕ) (β h : ℝ) (n : ℕ) : ℝ :=
sct_cInfDep (sctBox d) (sctOriginMag d β h) (sctBoxSites d)
(sctBoxMag d β h) (sctBoxSites_nonempty d) n
noncomputable def sct_cInfDep (ι : ℕ → Type*) [∀ n, DecidableEq (ι n)]
(M : ℕ → ℝ) (sites : (n : ℕ) → Finset (ι n))
(m : (n : ℕ) → ι n → ℝ) (hne : ∀ n, (sites n).Nonempty) (n : ℕ) : ℝ :=
(sites n).inf' (hne n) (fun y => M n / m n y)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatio.lean:217
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
noncomputable def sctOriginMag (d : ℕ) (β h : ℝ) (n : ℕ) : ℝ :=
sctBoxMag d β h n (sctBoxOrigin d n)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:188
noncomputable def sctBoxSites (d n : ℕ) : Finset (sctBox d n) := Finset.univ
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:192
noncomputable def sctBoxMag (d : ℕ) (β h : ℝ) (n : ℕ) (x : sctBox d n) : ℝ :=
isingExpectation (sctBoxGraph d n) β h (fun s => spin s x)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:184
lemma sctBoxSites_nonempty (d n : ℕ) : (sctBoxSites d n).Nonempty
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:194
Uses 9 · Used by 3
DefinitionOrigin–site covariance in a box#✓fully proved
The covariance ⟨σ_0σ_x⟩_{Λ_n} - ⟨σ_0⟩_{Λ_n}⟨σ_x⟩_{Λ_n} in the box at (β, h).
noncomputable def sctBoxCovariance (d : ℕ) (beta h : ℝ) (n : ℕ)
(x : sctBox d n) : ℝ :=
isingExpectation (sctBoxGraph d n) beta h
(fun s => spin s (sctBoxOrigin d n) * spin s x) -
sctOriginMag d beta h n * sctBoxMag d beta h n x
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
noncomputable def isingExpectation (β h : ℝ) (f : ConfigSpace V → ℝ) : ℝ :=
∑ s : ConfigSpace V, isingProb G β h s * f s
PhyslibExt/CondensedMatter/IsingModel/GKS.lean:208
def sctBoxGraph (d n : ℕ) : SimpleGraph (sctBox d n) :=
(hypercubicLattice d).induce (box d n)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:68
def spin (s : ConfigSpace V) (x : V) : ℝ := if s x then 1 else -1
PhyslibExt/CondensedMatter/IsingModel/Gibbs.lean:70
def sctBoxOrigin (d n : ℕ) : sctBox d n :=
⟨fun _ => 0, by intro i; simp⟩
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:99
noncomputable def sctOriginMag (d : ℕ) (β h : ℝ) (n : ℕ) : ℝ :=
sctBoxMag d β h n (sctBoxOrigin d n)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:188
noncomputable def sctBoxMag (d : ℕ) (β h : ℝ) (n : ℕ) (x : sctBox d n) : ℝ :=
isingExpectation (sctBoxGraph d n) β h (fun s => spin s x)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:184
Uses 11 · Used by 3
DefinitionExterior neighbours of a site#✓fully proved
The lattice neighbours of x outside Λ_n.
noncomputable def sctExteriorNeighbours (d n : ℕ) (x : Site d) : Finset (Site d) :=
((hypercubicLattice d).neighborFinset x).filter (fun y => y ∉ box d n)
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def hypercubicLattice (d : ℕ) : SimpleGraph (Site d) where
Adj := NearestNeighbour d
symm := ⟨fun _ _ h => nearestNeighbour_symm d h⟩
loopless := nearestNeighbour_irrefl d
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:76
def box (d n : ℕ) : Set (Site d) := {x | ∀ i, (x i).natAbs ≤ n}
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:86
Uses 7 · Used by 3
DefinitionBoundary covariance error#✓fully proved
The boundary error ∑_{x ∈ Λ_n} #(exterior neighbours of x) · Cov(σ_0, σ_x).
noncomputable def sctBoundaryCovarianceError (d : ℕ) (beta h : ℝ) (n : ℕ) : ℝ :=
∑ x : sctBox d n,
((sctExteriorNeighbours d n x.1).card : ℝ) * sctBoxCovariance d beta h n x
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
noncomputable def sctExteriorNeighbours (d n : ℕ) (x : Site d) : Finset (Site d) :=
((hypercubicLattice d).neighborFinset x).filter (fun y => y ∉ box d n)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoundaryErrorLattice.lean:71
noncomputable def sctBoxCovariance (d : ℕ) (beta h : ℝ) (n : ℕ)
(x : sctBox d n) : ℝ :=
isingExpectation (sctBoxGraph d n) beta h
(fun s => spin s (sctBoxOrigin d n) * spin s x) -
sctOriginMag d beta h n * sctBoxMag d beta h n x
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoundaryErrorLattice.lean:64
Uses 5 · Used by 2
DefinitionCovariance sum over the outer layer#✓fully proved
The sum of Cov(σ_0, σ_x) over the outer layer Λ_n \ Λ_{n-1}.
noncomputable def sctOuterCovarianceSum (d : ℕ) (beta h : ℝ) (n : ℕ) : ℝ :=
∑ x : sctBox d n,
if x.1 ∈ box d (n - 1) then 0 else sctBoxCovariance d beta h n x
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
def box (d n : ℕ) : Set (Site d) := {x | ∀ i, (x i).natAbs ≤ n}
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:86
noncomputable def sctBoxCovariance (d : ℕ) (beta h : ℝ) (n : ℕ)
(x : sctBox d n) : ℝ :=
isingExpectation (sctBoxGraph d n) beta h
(fun s => spin s (sctBoxOrigin d n) * spin s x) -
sctOriginMag d beta h n * sctBoxMag d beta h n x
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoundaryErrorLattice.lean:64
Uses 4 · Used by 1
DefinitionField switched off on the outer layer#✓fully proved
The site field equal to βh on Λ_{n-1} and 0 on the outer layer.
def sctInnerField (d : ℕ) (beta h : ℝ) (n : ℕ) (x : sctBox d n) : ℝ :=
if x.1 ∈ box d (n - 1) then beta * h else 0
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
def box (d n : ℕ) : Set (Site d) := {x | ∀ i, (x i).natAbs ≤ n}
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:86
DefinitionOuter-layer indicator as a field direction#✓fully proved
The indicator of the outer layer Λ_n \ Λ_{n-1}, used as a field direction.
def sctOuterDirection (d n : ℕ) (x : sctBox d n) : ℝ :=
if x.1 ∈ box d (n - 1) then 0 else 1
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
def box (d n : ℕ) : Set (Site d) := {x | ∀ i, (x i).natAbs ≤ n}
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:86
Uses 3 · Used by 1
DefinitionOrigin magnetization with the outer-layer field switched off#✓fully proved
The origin magnetization in Λ_n with the field switched off on the outer layer.
noncomputable def sctInnerFieldMag (d : ℕ) (beta h : ℝ) (n : ℕ) : ℝ :=
expJ (sctBoxGraph d n).edgeFinset (fun _ => beta)
(sctInnerField d beta h n) (fun s => spin s (sctBoxOrigin d n))
noncomputable def expJ (E : Finset (Sym2 V)) (J : Sym2 V → ℝ) (hf : V → ℝ)
(f : ConfigSpace V → ℝ) : ℝ :=
(∑ s : ConfigSpace V, f s * wJ E J hf s) / ZJ E J hf
PhyslibExt/CondensedMatter/IsingModel/Sharpness/Simon.lean:85
def sctBoxGraph (d n : ℕ) : SimpleGraph (sctBox d n) :=
(hypercubicLattice d).induce (box d n)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:68
def sctInnerField (d : ℕ) (beta h : ℝ) (n : ℕ) (x : sctBox d n) : ℝ :=
if x.1 ∈ box d (n - 1) then beta * h else 0
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoundaryErrorLattice.lean:85
def spin (s : ConfigSpace V) (x : V) : ℝ := if s x then 1 else -1
PhyslibExt/CondensedMatter/IsingModel/Gibbs.lean:70
def sctBoxOrigin (d n : ℕ) : sctBox d n :=
⟨fun _ => 0, by intro i; simp⟩
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:99
Uses 10 · Used by 1
DefinitionCoupling restricted to the edges inside a set#✓fully proved
The coupling J restricted to the edges inside S (zero on all other edges).
noncomputable def couplingIn (J : Sym2 V → ℝ) (S : Finset V) : Sym2 V → ℝ :=
fun e => if edgeInside S e then J e else 0
def edgeInside (S : Finset V) (e : Sym2 V) : Prop := ∀ v ∈ e, v ∈ S
PhyslibExt/CondensedMatter/IsingModel/Sharpness/CurrentSplitting.lean:60
Uses 1 · Used by 9
DefinitionEdge lying inside a set#✓fully proved
An edge of G lies inside S.
def isIn (S : Finset V) : (↥G.edgeFinset) → Prop := fun i => edgeInside S (i : Sym2 V)
def edgeInside (S : Finset V) (e : Sym2 V) : Prop := ∀ v ∈ e, v ∈ S
PhyslibExt/CondensedMatter/IsingModel/Sharpness/CurrentSplitting.lean:60
Uses 1 · Used by 11
DefinitionExtension by zero of a current inside a set#✓fully proved
Extension by zero of a current on the edges inside S to all edges of G.
noncomputable def aFull (S : Finset V) (a : {i : ↥G.edgeFinset // isIn G S i} → ℕ) :
↥G.edgeFinset → ℕ := fun i => if h : isIn G S i then a ⟨i, h⟩ else 0
def isIn (S : Finset V) : (↥G.edgeFinset) → Prop := fun i => edgeInside S (i : Sym2 V)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterFactorization.lean:117
Uses 2 · Used by 5
DefinitionExtension by zero of a current outside a set#✓fully proved
Extension by zero of a current on the edges not inside S to all edges of G.
noncomputable def bFull (S : Finset V) (b : {i : ↥G.edgeFinset // ¬ isIn G S i} → ℕ) :
↥G.edgeFinset → ℕ := fun i => if h : isIn G S i then 0 else b ⟨i, h⟩
def isIn (S : Finset V) : (↥G.edgeFinset) → Prop := fun i => edgeInside S (i : Sym2 V)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterFactorization.lean:117
Uses 2 · Used by 6
DefinitionReassembly of a current from its inside and outside parts#✓fully proved
Reassembly of a current from its parts inside and outside S.
noncomputable def reEdge (S : Finset V)
(ab : ({i : ↥G.edgeFinset // isIn G S i} → ℕ) × ({i : ↥G.edgeFinset // ¬ isIn G S i} → ℕ)) :
↥G.edgeFinset → ℕ := (Equiv.piEquivPiSubtypeProd (isIn G S) (fun _ => ℕ)).symm ab
def isIn (S : Finset V) : (↥G.edgeFinset) → Prop := fun i => edgeInside S (i : Sym2 V)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterFactorization.lean:117
Uses 2 · Used by 4
DefinitionOutside summand of a gated double-current sum#✓fully proved
The summand of the outside double-current sum: weights of the outside part and of the second
current, gated by P on their sum.
noncomputable def contextSummand (β : ℝ) (J : Sym2 V → ℝ) (S : Finset V) (P : Current V → Prop)
[DecidablePred P]
(bn : ({i : ↥G.edgeFinset // ¬ isIn G S i} → ℕ) × (↥G.edgeFinset → ℕ)) : ℝ :=
(if sources G (ofEdgeFun G (bFull G S bn.1)) = ∅ then weight G β J (ofEdgeFun G (bFull G S bn.1))
else 0)
* (if sources G (ofEdgeFun G bn.2) = ∅ then weight G β J (ofEdgeFun G bn.2) else 0)
* (if P (fun e => ofEdgeFun G (bFull G S bn.1) e + ofEdgeFun G bn.2 e) then 1 else 0)
abbrev Current (V : Type*) : Type _ := Sym2 V → ℕ
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:69
def isIn (S : Finset V) : (↥G.edgeFinset) → Prop := fun i => edgeInside S (i : Sym2 V)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterFactorization.lean:117
noncomputable def sources (n : Current V) : Finset V :=
Finset.univ.filter (fun x => Odd (incidentFlux G n x))
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:76
noncomputable def ofEdgeFun (m : ↥G.edgeFinset → ℕ) : Current V :=
fun e => if h : e ∈ G.edgeFinset then m ⟨e, h⟩ else 0
PhyslibExt/CondensedMatter/IsingModel/Sharpness/CurrentRep.lean:315
noncomputable def bFull (S : Finset V) (b : {i : ↥G.edgeFinset // ¬ isIn G S i} → ℕ) :
↥G.edgeFinset → ℕ := fun i => if h : isIn G S i then 0 else b ⟨i, h⟩
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterFactorization.lean:127
noncomputable def weight (β : ℝ) (J : Sym2 V → ℝ) (n : Current V) : ℝ :=
∏ e ∈ G.edgeFinset, (β * J e) ^ (n e) / (Nat.factorial (n e))
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:85
DefinitionInside weight with prescribed sources#✓fully proved
The weight of the inside part of a current, restricted to source set A.
noncomputable def factorSummand (β : ℝ) (J : Sym2 V → ℝ) (S : Finset V) (A : Finset V)
(a : {i : ↥G.edgeFinset // isIn G S i} → ℕ) : ℝ :=
if sources G (ofEdgeFun G (aFull G S a)) = A then weight G β J (ofEdgeFun G (aFull G S a)) else 0
def isIn (S : Finset V) : (↥G.edgeFinset) → Prop := fun i => edgeInside S (i : Sym2 V)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterFactorization.lean:117
noncomputable def sources (n : Current V) : Finset V :=
Finset.univ.filter (fun x => Odd (incidentFlux G n x))
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:76
noncomputable def ofEdgeFun (m : ↥G.edgeFinset → ℕ) : Current V :=
fun e => if h : e ∈ G.edgeFinset then m ⟨e, h⟩ else 0
PhyslibExt/CondensedMatter/IsingModel/Sharpness/CurrentRep.lean:315
noncomputable def aFull (S : Finset V) (a : {i : ↥G.edgeFinset // isIn G S i} → ℕ) :
↥G.edgeFinset → ℕ := fun i => if h : isIn G S i then a ⟨i, h⟩ else 0
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterFactorization.lean:123
noncomputable def weight (β : ℝ) (J : Sym2 V → ℝ) (n : Current V) : ℝ :=
∏ e ∈ G.edgeFinset, (β * J e) ^ (n e) / (Nat.factorial (n e))
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:85
Uses 5 · Used by 4
DefinitionVertices not connected to a vertex by positive current#✓fully proved
The set of vertices not connected to g by edges carrying positive current.
noncomputable def notConnComp (m : Current V) (g : V) : Finset V :=
Finset.univ.filter (fun v => ¬ CurrentConnected G m g v)
abbrev Current (V : Type*) : Type _ := Sym2 V → ℕ
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:69
def CurrentConnected (n : Current V) (x y : V) : Prop :=
(currentSubgraph G n).Reachable x y
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:128
Uses 2 · Used by 7
DefinitionOutside part of a gated double-current summand#✓fully proved
The outside part of a double-current summand: weights of the two outside currents with sources
B and D, gated by P.
noncomputable def claim1Context (β : ℝ) (J : Sym2 V → ℝ) (S : Finset V)
(P : Current V → Prop) [DecidablePred P] (B D : Finset V)
(bd : ({i : ↥G.edgeFinset // ¬ isIn G S i} → ℕ) ×
({i : ↥G.edgeFinset // ¬ isIn G S i} → ℕ)) : ℝ :=
(if sources G (ofEdgeFun G (bFull G S bd.1)) = B
then weight G β J (ofEdgeFun G (bFull G S bd.1)) else 0) *
(if sources G (ofEdgeFun G (bFull G S bd.2)) = D
then weight G β J (ofEdgeFun G (bFull G S bd.2)) else 0) *
(if P (fun e => ofEdgeFun G (bFull G S bd.1) e +
ofEdgeFun G (bFull G S bd.2) e) then 1 else 0)
abbrev Current (V : Type*) : Type _ := Sym2 V → ℕ
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:69
def isIn (S : Finset V) : (↥G.edgeFinset) → Prop := fun i => edgeInside S (i : Sym2 V)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterFactorization.lean:117
noncomputable def sources (n : Current V) : Finset V :=
Finset.univ.filter (fun x => Odd (incidentFlux G n x))
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:76
noncomputable def ofEdgeFun (m : ↥G.edgeFinset → ℕ) : Current V :=
fun e => if h : e ∈ G.edgeFinset then m ⟨e, h⟩ else 0
PhyslibExt/CondensedMatter/IsingModel/Sharpness/CurrentRep.lean:315
noncomputable def bFull (S : Finset V) (b : {i : ↥G.edgeFinset // ¬ isIn G S i} → ℕ) :
↥G.edgeFinset → ℕ := fun i => if h : isIn G S i then 0 else b ⟨i, h⟩
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterFactorization.lean:127
noncomputable def weight (β : ℝ) (J : Sym2 V → ℝ) (n : Current V) : ℝ :=
∏ e ∈ G.edgeFinset, (β * J e) ^ (n e) / (Nat.factorial (n e))
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:85
DefinitionRegrouping a split pair of currents#✓fully proved
Regrouping a pair of currents split along S into the pair of inside parts and the pair of
outside parts.
noncomputable def pairCutEquiv (S : Finset V) :
((({i : ↥G.edgeFinset // isIn G S i} → ℕ) ×
({i : ↥G.edgeFinset // ¬ isIn G S i} → ℕ)) ×
(({i : ↥G.edgeFinset // isIn G S i} → ℕ) ×
({i : ↥G.edgeFinset // ¬ isIn G S i} → ℕ))) ≃
((({i : ↥G.edgeFinset // isIn G S i} → ℕ) ×
({i : ↥G.edgeFinset // isIn G S i} → ℕ)) ×
(({i : ↥G.edgeFinset // ¬ isIn G S i} → ℕ) ×
({i : ↥G.edgeFinset // ¬ isIn G S i} → ℕ))) where
toFun p := ((p.1.1, p.2.1), (p.1.2, p.2.2))
invFun p := ((p.1.1, p.2.1), (p.1.2, p.2.2))
left_inv := by rintro ⟨⟨a, b⟩, ⟨c, d⟩⟩; rfl
right_inv := by rintro ⟨⟨a, c⟩, ⟨b, d⟩⟩; rfl
def isIn (S : Finset V) : (↥G.edgeFinset) → Prop := fun i => edgeInside S (i : Sym2 V)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterFactorization.lean:117
Uses 1 · Used by 3
DefinitionGated double-current sum over edge-indexed currents#✓fully proved
The gated double-current sum ∑_{∂n₁ = A, ∂n₂ = B} w(n₁) w(n₂) 1_{P(n₁ + n₂)} over edge-indexed
currents.
noncomputable def gatedSourcePairSum (β : ℝ) (J : Sym2 V → ℝ)
(A B : Finset V) (P : Current V → Prop) [DecidablePred P] : ℝ :=
∑' pq : (↥G.edgeFinset → ℕ) × (↥G.edgeFinset → ℕ),
(if sources G (ofEdgeFun G pq.1) = A then weight G β J (ofEdgeFun G pq.1) else 0) *
(if sources G (ofEdgeFun G pq.2) = B then weight G β J (ofEdgeFun G pq.2) else 0) *
(if P (ofEdgeFun G (fun e => pq.1 e + pq.2 e)) then 1 else 0)
abbrev Current (V : Type*) : Type _ := Sym2 V → ℕ
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:69
noncomputable def sources (n : Current V) : Finset V :=
Finset.univ.filter (fun x => Odd (incidentFlux G n x))
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:76
noncomputable def ofEdgeFun (m : ↥G.edgeFinset → ℕ) : Current V :=
fun e => if h : e ∈ G.edgeFinset then m ⟨e, h⟩ else 0
PhyslibExt/CondensedMatter/IsingModel/Sharpness/CurrentRep.lean:315
noncomputable def weight (β : ℝ) (J : Sym2 V → ℝ) (n : Current V) : ℝ :=
∏ e ∈ G.edgeFinset, (β * J e) ^ (n e) / (Nat.factorial (n e))
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:85
Uses 4 · Used by 8
DefinitionEdges of a graph inside a set#✓fully proved
The edges of G inside S.
def edgesIn (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 6
LemmaCluster lower bound for double-current sums#✓fully proved
The cluster lower bound: for β, J ≥ 0, o, x ∉ S, y, g ∈ S, y ≠ g and ⟨σ_yσ_g⟩ > 0, the
double-current sum with sources {y, g} ∆ {o, x} and ∅ on the event that the vertices not
connected to o form S is at least ⟨σ_yσ_g⟩⁻¹ times the sum with sources {o, x} and ∅ on
the same event and y ↔ g. Reference: M. Aizenman, D. J. Barsky, R. Fernández, "The phase
transition in a general class of Ising-type models is sharp", J. Stat. Phys. 47 (1987) 343–374.
lemma claim1_ising_of_expectation_pos (β : ℝ) (J : Sym2 V → ℝ)
(hβ : 0 ≤ β) (hJ : ∀ e, 0 ≤ J e)
(S : Finset V) (o x y g : V)
(ho : o ∉ S) (hx : x ∉ S) (hy : y ∈ S) (hg : g ∈ S)
(hyg : y ≠ g) (hm : 0 < expectationJ G β J {y, g}) :
gatedSourcePairSum G β J (({y, g} : Finset V) ∆ {o, x}) ∅
(fun m => notConnComp G m o = S) ≥
(expectationJ G β J {y, g})⁻¹ * gatedSourcePairSum G β J {o, x} ∅
(fun m => notConnComp G m o = S ∧ CurrentConnected G m y g)
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 gatedSourcePairSum (β : ℝ) (J : Sym2 V → ℝ)
(A B : Finset V) (P : Current V → Prop) [DecidablePred P] : ℝ :=
∑' pq : (↥G.edgeFinset → ℕ) × (↥G.edgeFinset → ℕ),
(if sources G (ofEdgeFun G pq.1) = A then weight G β J (ofEdgeFun G pq.1) else 0) *
(if sources G (ofEdgeFun G pq.2) = B then weight G β J (ofEdgeFun G pq.2) else 0) *
(if P (ofEdgeFun G (fun e => pq.1 e + pq.2 e)) then 1 else 0)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterLowerBound.lean:325
noncomputable def notConnComp (m : Current V) (g : V) : Finset V :=
Finset.univ.filter (fun v => ¬ CurrentConnected G m g v)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterFactorization.lean:545
def CurrentConnected (n : Current V) (x y : V) : Prop :=
(currentSubgraph G n).Reachable x y
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:128
Uses 49
DefinitionFour-source double-current sum with a connection pattern#✓fully proved
The double-current sum with sources {o, g} ∆ {x, y} and ∅ restricted to o ↔ x, y ↔ g and
o ↮ g in the summed current.
noncomputable def isingDeltaPairSum (β : ℝ) (J : Sym2 V → ℝ)
(o x y g : V) : ℝ :=
gatedSourcePairSum G β J (({o, g} : Finset V) ∆ {x, y}) ∅
(fun m => CurrentConnected G m o x ∧ CurrentConnected G m y g ∧
¬ CurrentConnected G m o g)
noncomputable def gatedSourcePairSum (β : ℝ) (J : Sym2 V → ℝ)
(A B : Finset V) (P : Current V → Prop) [DecidablePred P] : ℝ :=
∑' pq : (↥G.edgeFinset → ℕ) × (↥G.edgeFinset → ℕ),
(if sources G (ofEdgeFun G pq.1) = A then weight G β J (ofEdgeFun G pq.1) else 0) *
(if sources G (ofEdgeFun G pq.2) = B then weight G β J (ofEdgeFun G pq.2) else 0) *
(if P (ofEdgeFun G (fun e => pq.1 e + pq.2 e)) then 1 else 0)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterLowerBound.lean:325
def CurrentConnected (n : Current V) (x y : V) : Prop :=
(currentSubgraph G n).Reachable x y
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:128
Uses 3 · Used by 2
DefinitionLower mass of the four-source bound#✓fully proved
The lower mass ∑_S ⟨σ_oσ_x⟩_{J|S} · Z(∂ = ∅, C(g)ᶜ = S) over sets S containing o, x and
not y, g, where C(g)ᶜ is the set of vertices not connected to g.
noncomputable def isingDeltaLowerMass (β : ℝ) (J : Sym2 V → ℝ)
(o x y g : V) : ℝ :=
∑ S : Finset V,
if o ∈ S ∧ x ∈ S ∧ y ∉ S ∧ g ∉ S then
expectationJ G β (couplingIn J S) {o, x} *
gatedSourcePairSum G β J ∅ ∅ (fun m => notConnComp G m g = S)
else 0
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
noncomputable def gatedSourcePairSum (β : ℝ) (J : Sym2 V → ℝ)
(A B : Finset V) (P : Current V → Prop) [DecidablePred P] : ℝ :=
∑' pq : (↥G.edgeFinset → ℕ) × (↥G.edgeFinset → ℕ),
(if sources G (ofEdgeFun G pq.1) = A then weight G β J (ofEdgeFun G pq.1) else 0) *
(if sources G (ofEdgeFun G pq.2) = B then weight G β J (ofEdgeFun G pq.2) else 0) *
(if P (ofEdgeFun G (fun e => pq.1 e + pq.2 e)) then 1 else 0)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterLowerBound.lean:325
noncomputable def notConnComp (m : Current V) (g : V) : Finset V :=
Finset.univ.filter (fun v => ¬ CurrentConnected G m g v)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterFactorization.lean:545
DefinitionLower mass in the degenerate case \(x = o\)#✓fully proved
The lower mass in the degenerate case x = o: ∑_S Z(∂ = ∅, C(g)ᶜ = S) over S ∋ o with y, g
∉ S.
noncomputable def isingDeltaSelfLowerMass (β : ℝ) (J : Sym2 V → ℝ)
(o y g : V) : ℝ :=
∑ S : Finset V,
if o ∈ S ∧ y ∉ S ∧ g ∉ S then
gatedSourcePairSum G β J ∅ ∅ (fun m => notConnComp G m g = S)
else 0
noncomputable def gatedSourcePairSum (β : ℝ) (J : Sym2 V → ℝ)
(A B : Finset V) (P : Current V → Prop) [DecidablePred P] : ℝ :=
∑' pq : (↥G.edgeFinset → ℕ) × (↥G.edgeFinset → ℕ),
(if sources G (ofEdgeFun G pq.1) = A then weight G β J (ofEdgeFun G pq.1) else 0) *
(if sources G (ofEdgeFun G pq.2) = B then weight G β J (ofEdgeFun G pq.2) else 0) *
(if P (ofEdgeFun G (fun e => pq.1 e + pq.2 e)) then 1 else 0)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterLowerBound.lean:325
noncomputable def notConnComp (m : Current V) (g : V) : Finset V :=
Finset.univ.filter (fun v => ¬ CurrentConnected G m g v)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterFactorization.lean:545
LemmaFour-source lower bound for the pattern sum#✓fully proved
The four-source lower bound: for β ≥ 0, J ≥ 0, distinct o, x, y, g and ⟨σ_yσ_g⟩ > 0, the
pattern sum Δ(o, x, y, g) is at least ⟨σ_yσ_g⟩⁻¹ times the lower mass. Reference: M. Aizenman,
D. J. Barsky, R. Fernández, "The phase transition in a general class of Ising-type models is sharp",
J. Stat. Phys. 47 (1987) 343–374.
lemma ising_delta_bound (β : ℝ) (J : Sym2 V → ℝ)
(hβ : 0 ≤ β) (hJ : ∀ e, 0 ≤ J e)
{o x y g : V}
(hox : o ≠ x) (hoy : o ≠ y) (hog : o ≠ g)
(hxy : x ≠ y) (hxg : x ≠ g) (hyg : y ≠ g)
(hmy : 0 < expectationJ G β J {y, g}) :
isingDeltaPairSum G β J o x y g ≥
(expectationJ G β J {y, g})⁻¹ * isingDeltaLowerMass G β J o x y g
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 isingDeltaPairSum (β : ℝ) (J : Sym2 V → ℝ)
(o x y g : V) : ℝ :=
gatedSourcePairSum G β J (({o, g} : Finset V) ∆ {x, y}) ∅
(fun m => CurrentConnected G m o x ∧ CurrentConnected G m y g ∧
¬ CurrentConnected G m o g)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/DeltaBound.lean:350
noncomputable def isingDeltaLowerMass (β : ℝ) (J : Sym2 V → ℝ)
(o x y g : V) : ℝ :=
∑ S : Finset V,
if o ∈ S ∧ x ∈ S ∧ y ∉ S ∧ g ∉ S then
expectationJ G β (couplingIn J S) {o, x} *
gatedSourcePairSum G β J ∅ ∅ (fun m => notConnComp G m g = S)
else 0
PhyslibExt/CondensedMatter/IsingModel/Sharpness/DeltaBound.lean:358
Uses 64
DefinitionBond energy of a configuration#✓fully proved
The bond energy ∑_{e ∈ E(G)} σ_e of a configuration, where σ_{xy} = σ_x σ_y.
noncomputable def sdrBondEnergy (s : ConfigSpace V) : ℝ := ∑ e ∈ G.edgeFinset, bond s e
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
Uses 2 · Used by 1
DefinitionSwitching gap of a current#✓fully proved
The switching gap of a current m with sources A: the number of sub-currents (subsets of edge
copies) with sources A minus the number with sources A ∆ {u, v}; zero if the sources of m are
not A.
noncomputable def hca_gap (m : ↥H.edgeFinset → ℕ) (A : Finset V) (u v : V) : ℝ :=
if RandomCurrent.sources (endsM H m) univ = A then
((#((univ : Finset (Copy H m)).powerset.filter
(fun K => RandomCurrent.sources (endsM H m) K = A)) : ℝ)
- #((univ : Finset (Copy H m)).powerset.filter
(fun K => RandomCurrent.sources (endsM H m) K = A ∆ {u, v})))
else 0
def sources (ends : ι → Sym2 V) (T : Finset ι) : Finset V :=
(Finset.univ : Finset V).filter (fun x => Odd (degK ends T x))
PhyslibExt/CondensedMatter/IsingModel/Sharpness/Switching.lean:77
def endsM (m : ↥G.edgeFinset → ℕ) : Copy G m → Sym2 V := fun i => i.1.1
PhyslibExt/CondensedMatter/IsingModel/Sharpness/EdgeCopyEncoding.lean:128
abbrev Copy (m : ↥G.edgeFinset → ℕ) : Type _ := Σ e : ↥G.edgeFinset, Fin (m e)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/EdgeCopyEncoding.lean:125
Uses 3 · Used by 2
DefinitionGap-weighted current sum restricted to a predicate#✓fully proved
The current sum ∑_m 1_{P m} · gap(m) · w(m) of the switching gap weighted by the current
weight, restricted to currents satisfying P.
noncomputable def hca_pairSum (β : ℝ) (J : Sym2 V → ℝ) (A : Finset V) (u v : V)
(P : (↥H.edgeFinset → ℕ) → Prop) : ℝ :=
∑' m : ↥H.edgeFinset → ℕ,
(if P m then (1 : ℝ) else 0) * hca_gap H m A u v * weight H β J (ofEdgeFun H m)
noncomputable def hca_gap (m : ↥H.edgeFinset → ℕ) (A : Finset V) (u v : V) : ℝ :=
if RandomCurrent.sources (endsM H m) univ = A then
((#((univ : Finset (Copy H m)).powerset.filter
(fun K => RandomCurrent.sources (endsM H m) K = A)) : ℝ)
- #((univ : Finset (Copy H m)).powerset.filter
(fun K => RandomCurrent.sources (endsM H m) K = A ∆ {u, v})))
else 0
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BetaDerivCurrent.lean:78
noncomputable def weight (β : ℝ) (J : Sym2 V → ℝ) (n : Current V) : ℝ :=
∏ e ∈ G.edgeFinset, (β * J e) ^ (n e) / (Nat.factorial (n e))
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:85
noncomputable def ofEdgeFun (m : ↥G.edgeFinset → ℕ) : Current V :=
fun e => if h : e ∈ G.edgeFinset then m ⟨e, h⟩ else 0
PhyslibExt/CondensedMatter/IsingModel/Sharpness/CurrentRep.lean:315
Uses 3 · Used by 1
DefinitionGhost source set of a bond covariance#✓fully proved
The ghost-graph source set {ghost} ∪ ({o} ∆ {x, y}) attached to the bond covariance Cov(σ_o,
σ_xσ_y).
DefinitionBond term \(\Delta_e\) of the magnetization derivative#✓fully proved
The bond term Δ_e: the ghost-graph double-current sum with sources hcaBondSource o e and ∅
in which o is not connected to the ghost.
noncomputable def hcaBondDelta (β h : ℝ) (o : V) (e : Sym2 V) : ℝ :=
sourcePairDisconnSum (withGhost G) β (ghostCoupling h β (fun _ => 1))
(hcaBondSource o e) ∅ (some o) none
noncomputable def sourcePairDisconnSum (β : ℝ) (J : Sym2 V → ℝ) (A B : Finset V) (u v : V) : ℝ :=
∑' pq : (↥G.edgeFinset → ℕ) × (↥G.edgeFinset → ℕ),
((if sources G (ofEdgeFun G pq.1) = A then weight G β J (ofEdgeFun G pq.1) else 0)
* (if sources G (ofEdgeFun G pq.2) = B then weight G β J (ofEdgeFun G pq.2) else 0))
* (if ¬ CurrentConnected G (ofEdgeFun G (fun e => pq.1 e + pq.2 e)) u v then 1 else 0)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/EdgeCopyEncoding.lean:437
def withGhost : SimpleGraph (Option V) where
Adj a b :=
match a, b with
| some x, some y => G.Adj x y
| some _, none => True
| none, some _ => True
| none, none => False
symm := by
constructor
rintro (_ | x) (_ | y) h
· exact h
· exact h
⋯
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:237
noncomputable def ghostCoupling (h _β : ℝ) (J : Sym2 V → ℝ) (e : Sym2 (Option V)) : ℝ :=
Sym2.lift ⟨fun a b =>
match a, b with
| some x, some y => J s(x, y)
| some _, none => h
| none, some _ => h
| none, none => 0,
by rintro (_ | x) (_ | y) <;> simp only []; rw [Sym2.eq_swap]⟩ e
PhyslibExt/CondensedMatter/IsingModel/Sharpness/FieldGhostDict.lean:122
noncomputable def hcaBondSource (o : V) : Sym2 V -> Finset (Option V) :=
Sym2.lift <| by
refine ⟨fun x y => insert none ((({o} : Finset V) ∆ {x, y}).map someEmb), ?_⟩
intro x y
simp [Finset.pair_comm]
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BetaDerivCurrent.lean:260
DefinitionGhost source set of a field covariance#✓fully proved
The ghost-graph source set {o} ∆ {z} attached to the field covariance Cov(σ_o, σ_z).
DefinitionField term \(\Delta_z\) of the magnetization derivative#✓fully proved
The field term Δ_z: the ghost-graph double-current sum with sources hcaFieldSource o z and
∅ in which o is not connected to the ghost.
noncomputable def hcaFieldDelta (β h : ℝ) (o z : V) : ℝ :=
sourcePairDisconnSum (withGhost G) β (ghostCoupling h β (fun _ => 1))
(hcaFieldSource o z) ∅ (some o) none
noncomputable def sourcePairDisconnSum (β : ℝ) (J : Sym2 V → ℝ) (A B : Finset V) (u v : V) : ℝ :=
∑' pq : (↥G.edgeFinset → ℕ) × (↥G.edgeFinset → ℕ),
((if sources G (ofEdgeFun G pq.1) = A then weight G β J (ofEdgeFun G pq.1) else 0)
* (if sources G (ofEdgeFun G pq.2) = B then weight G β J (ofEdgeFun G pq.2) else 0))
* (if ¬ CurrentConnected G (ofEdgeFun G (fun e => pq.1 e + pq.2 e)) u v then 1 else 0)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/EdgeCopyEncoding.lean:437
def withGhost : SimpleGraph (Option V) where
Adj a b :=
match a, b with
| some x, some y => G.Adj x y
| some _, none => True
| none, some _ => True
| none, none => False
symm := by
constructor
rintro (_ | x) (_ | y) h
· exact h
· exact h
⋯
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:237
noncomputable def ghostCoupling (h _β : ℝ) (J : Sym2 V → ℝ) (e : Sym2 (Option V)) : ℝ :=
Sym2.lift ⟨fun a b =>
match a, b with
| some x, some y => J s(x, y)
| some _, none => h
| none, some _ => h
| none, none => 0,
by rintro (_ | x) (_ | y) <;> simp only []; rw [Sym2.eq_swap]⟩ e
PhyslibExt/CondensedMatter/IsingModel/Sharpness/FieldGhostDict.lean:122
noncomputable def hcaFieldSource (o z : V) : Finset (Option V) :=
((({o} : Finset V) ∆ {z}).map someEmb)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BetaDerivCurrent.lean:277
LemmaRandom-current form of the \(\beta\)-derivative of the magnetization#✓fully proved
The β-derivative of the magnetization in random-current form: ∂_β ⟨σ_o⟩_{β,h} = Z⁻² (∑_{e ∈
E(G)} Δ_e + h ∑_z Δ_z), with Z the sourceless ghost-graph current sum. Reference: M. Aizenman, D.
J. Barsky, R. Fernández, "The phase transition in a general class of Ising-type models is sharp", J.
Stat. Phys. 47 (1987) 343–374.
lemma hca_deriv_magnetization_eq_currentDelta (β h : ℝ) (o : V) :
HasDerivAt (fun β => isingExpectation G β h (fun s => Ising.spin s o))
((1 / (currentSum (withGhost G) β (ghostCoupling h β (fun _ => 1)) ∅) ^ 2) *
((∑ e ∈ G.edgeFinset, hcaBondDelta G β h o e)
+ h * ∑ z, hcaFieldDelta G β h o z)) β
noncomputable def isingExpectation (β h : ℝ) (f : ConfigSpace V → ℝ) : ℝ :=
∑ s : ConfigSpace V, isingProb G β h s * f s
PhyslibExt/CondensedMatter/IsingModel/GKS.lean:208
def spin (s : ConfigSpace V) (x : V) : ℝ := if s x then 1 else -1
PhyslibExt/CondensedMatter/IsingModel/Gibbs.lean:70
noncomputable def currentSum (β : ℝ) (J : Sym2 V → ℝ) (A : Finset V) : ℝ :=
∑' m : ↥G.edgeFinset → ℕ,
if sources G (ofEdgeFun G m) = A then weight G β J (ofEdgeFun G m) else 0
PhyslibExt/CondensedMatter/IsingModel/Sharpness/CurrentRep.lean:335
def withGhost : SimpleGraph (Option V) where
Adj a b :=
match a, b with
| some x, some y => G.Adj x y
| some _, none => True
| none, some _ => True
| none, none => False
symm := by
constructor
rintro (_ | x) (_ | y) h
· exact h
· exact h
⋯
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:237
noncomputable def ghostCoupling (h _β : ℝ) (J : Sym2 V → ℝ) (e : Sym2 (Option V)) : ℝ :=
Sym2.lift ⟨fun a b =>
match a, b with
| some x, some y => J s(x, y)
| some _, none => h
| none, some _ => h
| none, none => 0,
by rintro (_ | x) (_ | y) <;> simp only []; rw [Sym2.eq_swap]⟩ e
PhyslibExt/CondensedMatter/IsingModel/Sharpness/FieldGhostDict.lean:122
noncomputable def hcaBondDelta (β h : ℝ) (o : V) (e : Sym2 V) : ℝ :=
sourcePairDisconnSum (withGhost G) β (ghostCoupling h β (fun _ => 1))
(hcaBondSource o e) ∅ (some o) none
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BetaDerivCurrent.lean:272
noncomputable def hcaFieldDelta (β h : ℝ) (o z : V) : ℝ :=
sourcePairDisconnSum (withGhost G) β (ghostCoupling h β (fun _ => 1))
(hcaFieldSource o z) ∅ (some o) none
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BetaDerivCurrent.lean:282
Uses 48 · Used by 1
LemmaIntegrated mean-field lower bound from \(m(\beta_0) = 0\)#✓fully proved
If (m²)' ≥ (2/β)(1 - m²) above β₀ > 0, m(β₀) = 0 and m ≥ 0, then m(β) ≥ √(1 - (β₀/β)²)
for β ≥ β₀. See also meanfield_lower_bound_of_initial_nonneg, which drops the hypothesis m(β₀)
= 0.
lemma meanfield_lower_bound (β₀ : ℝ) (hβ₀ : 0 < β₀) (m : ℝ → ℝ)
(hdiff : ∀ β ∈ Ici β₀, DifferentiableAt ℝ (fun β => (m β) ^ 2) β)
(hineq : ∀ β ∈ Ioi β₀, (2 / β) * (1 - (m β) ^ 2) ≤ deriv (fun β => (m β) ^ 2) β)
(hzero : m β₀ = 0) (hnonneg : ∀ β ∈ Ici β₀, 0 ≤ m β)
{β : ℝ} (hβ : β₀ ≤ β) :
Real.sqrt (1 - (β₀ / β) ^ 2) ≤ m β
Used by 1
DefinitionRandom-current cut mass of a vertex set#✓fully proved
The cut mass Z⁻² Z(∂n₁ = ∂n₂ = ∅; {v : v ↮ g in n₁ + n₂} = S), with Z the sourceless current
sum.
noncomputable def isingCutMass (beta : ℝ) (J : Sym2 V → ℝ)
(g : V) (S : Finset V) : ℝ :=
(currentSum G beta J ∅)⁻¹ ^ 2 *
gatedSourcePairSum G beta J ∅ ∅
(fun m => notConnComp G m g = S)
noncomputable def currentSum (β : ℝ) (J : Sym2 V → ℝ) (A : Finset V) : ℝ :=
∑' m : ↥G.edgeFinset → ℕ,
if sources G (ofEdgeFun G m) = A then weight G β J (ofEdgeFun G m) else 0
PhyslibExt/CondensedMatter/IsingModel/Sharpness/CurrentRep.lean:335
noncomputable def gatedSourcePairSum (β : ℝ) (J : Sym2 V → ℝ)
(A B : Finset V) (P : Current V → Prop) [DecidablePred P] : ℝ :=
∑' pq : (↥G.edgeFinset → ℕ) × (↥G.edgeFinset → ℕ),
(if sources G (ofEdgeFun G pq.1) = A then weight G β J (ofEdgeFun G pq.1) else 0) *
(if sources G (ofEdgeFun G pq.2) = B then weight G β J (ofEdgeFun G pq.2) else 0) *
(if P (ofEdgeFun G (fun e => pq.1 e + pq.2 e)) then 1 else 0)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterLowerBound.lean:325
noncomputable def notConnComp (m : Current V) (g : V) : Finset V :=
Finset.univ.filter (fun v => ¬ CurrentConnected G m g v)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterFactorization.lean:545
DefinitionVertex subsets as ghost-free subsets of the extended vertex set#✓fully proved
Subsets of V correspond to subsets of V ⊔ {ghost} not containing the ghost.
StatMech.Sharpness.ghostFreeFinsetEquiv · 17 lines
noncomputable def ghostFreeFinsetEquiv :
Finset V ≃ {S : Finset (Option V) // none ∉ S} :=
Equiv.ofBijective
(fun T => (⟨T.map someEmb, by simp⟩ :
{S : Finset (Option V) // none ∉ S}))
⟨by
intro T U h
apply Finset.map_injective someEmb
exact Subtype.ext_iff.mp h,
by
intro S
let T := S.1.preimage some (Set.injOn_of_injective someEmb.injective)
refine ⟨T, Subtype.ext ?_⟩
ext z
cases z with
| none => simp [S.2]
| some z => simp [T]; exact Finset.mem_preimage⟩
def someEmb : V ↪ Option V := ⟨some, Option.some_injective V⟩
PhyslibExt/CondensedMatter/IsingModel/Sharpness/FieldGhostDict.lean:252
Uses 1 · Used by 2
DefinitionSubgraph of edges inside a vertex set#✓fully proved
The subgraph of G with the edges inside T.
def localizedGraph (T : Finset V) : SimpleGraph V :=
SimpleGraph.fromEdgeSet (↑(edgesIn G T) : Set (Sym2 V))
def edgesIn (S : Finset V) : Finset (Sym2 V) :=
G.edgeFinset.filter (edgeInside S)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/ClusterLowerBound.lean:491
LemmaIntegrated mean-field lower bound without an initial condition#✓fully proved
If (m²)' ≥ (2/β)(1 - m²) above β₀ > 0 and m ≥ 0, then m(β) ≥ √(1 - (β₀/β)²) for β ≥
β₀. This strengthens meanfield_lower_bound by dropping m(β₀) = 0.
lemma meanfield_lower_bound_of_initial_nonneg
(β₀ : ℝ) (hβ₀ : 0 < β₀) (m : ℝ → ℝ)
(hdiff : ∀ β ∈ Ici β₀, DifferentiableAt ℝ (fun β => (m β) ^ 2) β)
(hineq : ∀ β ∈ Ioi β₀,
(2 / β) * (1 - (m β) ^ 2) ≤ deriv (fun β => (m β) ^ 2) β)
(hnonneg : ∀ β ∈ Ici β₀, 0 ≤ m β)
{β : ℝ} (hβ : β₀ ≤ β) :
Real.sqrt (1 - (β₀ / β) ^ 2) ≤ m β
DefinitionInfinite-volume magnetization in a field as a supremum over boxes#✓fully proved
The infinite-volume magnetization in field h, the supremum over n of the origin
magnetizations in the boxes Λ_n.
noncomputable def sctInfiniteFieldMag (d : ℕ) (beta h : ℝ) : ℝ :=
⨆ n : ℕ, sctOriginMag d beta h n
noncomputable def sctOriginMag (d : ℕ) (β h : ℝ) (n : ℕ) : ℝ :=
sctBoxMag d β h n (sctBoxOrigin d n)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:188
Definition\(\beta\)-derivative of the origin magnetization in a box#✓fully proved
The β-derivative of the origin magnetization in Λ_n, as the covariance of σ_0 with -H.
noncomputable def sctOriginMagBetaDeriv (d n : ℕ) (h beta : ℝ) : ℝ :=
isingExpectation (sctBoxGraph d n) beta h
(fun s => spin s (sctBoxOrigin d n) * negHam (sctBoxGraph d n) h s) -
sctOriginMag d beta h n *
isingExpectation (sctBoxGraph d n) beta h (negHam (sctBoxGraph d n) h)
noncomputable def isingExpectation (β h : ℝ) (f : ConfigSpace V → ℝ) : ℝ :=
∑ s : ConfigSpace V, isingProb G β h s * f s
PhyslibExt/CondensedMatter/IsingModel/GKS.lean:208
def sctBoxGraph (d n : ℕ) : SimpleGraph (sctBox d n) :=
(hypercubicLattice d).induce (box d n)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:68
def spin (s : ConfigSpace V) (x : V) : ℝ := if s x then 1 else -1
PhyslibExt/CondensedMatter/IsingModel/Gibbs.lean:70
def sctBoxOrigin (d n : ℕ) : sctBox d n :=
⟨fun _ => 0, by intro i; simp⟩
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:99
noncomputable def negHam (h : ℝ) (s : ConfigSpace V) : ℝ :=
(∑ e ∈ G.edgeFinset, bond s e) + h * ∑ x, spin s x
PhyslibExt/CondensedMatter/IsingModel/AizenmanBarsky.lean:73
noncomputable def sctOriginMag (d : ℕ) (β h : ℝ) (n : ℕ) : ℝ :=
sctBoxMag d β h n (sctBoxOrigin d n)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:188
Uses 11 · Used by 2
Definition\(\beta\)-derivative of the squared origin magnetization in a box#✓fully proved
The β-derivative of the squared origin magnetization.
noncomputable def sctOriginMagSqBetaDeriv (d n : ℕ) (h beta : ℝ) : ℝ :=
2 * sctOriginMag d beta h n * sctOriginMagBetaDeriv d n h beta
noncomputable def sctOriginMag (d : ℕ) (β h : ℝ) (n : ℕ) : ℝ :=
sctBoxMag d β h n (sctBoxOrigin d n)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:188
noncomputable def sctOriginMagBetaDeriv (d n : ℕ) (h beta : ℝ) : ℝ :=
isingExpectation (sctBoxGraph d n) beta h
(fun s => spin s (sctBoxOrigin d n) * negHam (sctBoxGraph d n) h s) -
sctOriginMag d beta h n *
isingExpectation (sctBoxGraph d n) beta h (negHam (sctBoxGraph d n) h)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/MeanfieldIsingIntegrated.lean:65
DefinitionBox mean-field function \(\beta^2(1 - \langle\sigma_0\rangle^2)\)#✓fully proved
g_n(β) = β²(1 - ⟨σ_0⟩²_{Λ_n,β,h}).
noncomputable def sctMeanfieldG (d n : ℕ) (h beta : ℝ) : ℝ :=
beta ^ 2 * (1 - (sctOriginMag d beta h n) ^ 2)
noncomputable def sctOriginMag (d : ℕ) (β h : ℝ) (n : ℕ) : ℝ :=
sctBoxMag d β h n (sctBoxOrigin d n)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:188
Uses 1 · Used by 1
Definition\(\beta\)-derivative of the box mean-field function#✓fully proved
The β-derivative of g_n.
noncomputable def sctMeanfieldGDeriv (d n : ℕ) (h beta : ℝ) : ℝ :=
2 * beta * (1 - (sctOriginMag d beta h n) ^ 2) -
beta ^ 2 * sctOriginMagSqBetaDeriv d n h beta
noncomputable def sctOriginMag (d : ℕ) (β h : ℝ) (n : ℕ) : ℝ :=
sctBoxMag d β h n (sctBoxOrigin d n)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:188
noncomputable def sctOriginMagSqBetaDeriv (d n : ℕ) (h beta : ℝ) : ℝ :=
2 * sctOriginMag d beta h n * sctOriginMagBetaDeriv d n h beta
PhyslibExt/CondensedMatter/IsingModel/Sharpness/MeanfieldIsingIntegrated.lean:78
Uses 2 · Used by 1
DefinitionError term bounding the derivative of the box mean-field function#✓fully proved
The error 2β(1 - c_n)(1 - ⟨σ_0⟩²) + 2β² c_n ε_n bounding g_n' from above.
noncomputable def sctMeanfieldIntegratedError
(d n : ℕ) (h beta : ℝ) : ℝ :=
2 * beta * (1 - sctLatticeC d beta h n) *
(1 - (sctOriginMag d beta h n) ^ 2) +
2 * beta ^ 2 * sctLatticeC d beta h n *
sctBoundaryCovarianceError d beta h n
noncomputable def sctLatticeC (d : ℕ) (β h : ℝ) (n : ℕ) : ℝ :=
sct_cInfDep (sctBox d) (sctOriginMag d β h) (sctBoxSites d)
(sctBoxMag d β h) (sctBoxSites_nonempty d) n
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:198
noncomputable def sctOriginMag (d : ℕ) (β h : ℝ) (n : ℕ) : ℝ :=
sctBoxMag d β h n (sctBoxOrigin d n)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:188
noncomputable def sctBoundaryCovarianceError (d : ℕ) (beta h : ℝ) (n : ℕ) : ℝ :=
∑ x : sctBox d n,
((sctExteriorNeighbours d n x.1).card : ℝ) * sctBoxCovariance d beta h n x
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoundaryErrorLattice.lean:75
Uses 3 · Used by 1
DefinitionInfinite-volume mean-field function \(\beta^2(1 - m(\beta,h)^2)\)#✓fully proved
β²(1 - m(β, h)²) for the infinite-volume magnetization in field h.
noncomputable def sctInfiniteMeanfieldG (d : ℕ) (h beta : ℝ) : ℝ :=
beta ^ 2 * (1 - (sctInfiniteFieldMag d beta h) ^ 2)
noncomputable def sctInfiniteFieldMag (d : ℕ) (beta h : ℝ) : ℝ :=
⨆ n : ℕ, sctOriginMag d beta h n
PhyslibExt/CondensedMatter/IsingModel/Sharpness/MeanfieldLimit.lean:158
Uses 1 · Used by 1
DefinitionField sequence \(h_k = 1/(k + 1)\)#✓fully proved
The field sequence h_k = 1/(k + 1).
noncomputable def sctFieldToZero (n : ℕ) : ℝ :=
1 / ((n : ℝ) + 1)
DefinitionZero-field limit of the positive-field magnetization#✓fully proved
The zero-field limit m⁺(β) = inf_k m(β, h_k) of the infinite-volume magnetization in positive
field.
noncomputable def sctZeroPlusMag (d : ℕ) (beta : ℝ) : ℝ :=
⨅ n : ℕ, sctInfiniteFieldMag d beta (sctFieldToZero n)
noncomputable def sctInfiniteFieldMag (d : ℕ) (beta h : ℝ) : ℝ :=
⨆ n : ℕ, sctOriginMag d beta h n
PhyslibExt/CondensedMatter/IsingModel/Sharpness/MeanfieldLimit.lean:158
noncomputable def sctFieldToZero (n : ℕ) : ℝ :=
1 / ((n : ℝ) + 1)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/MeanfieldIsingState.lean:304
Uses 2 · Used by 1
DefinitionEnergy with general couplings and a uniform field#✓fully proved
The energy ∑_e J_e σ_e + h ∑_x σ_x.
noncomputable def weightedEnergy (J : Sym2 V -> ℝ) (h : ℝ) (s : ConfigSpace V) : ℝ :=
(∑ e ∈ G.edgeFinset, J e * bond s e) + 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 3
DefinitionBoltzmann weight with general couplings and a uniform field#✓fully proved
The Boltzmann weight exp(β (∑_e J_e σ_e + h ∑_x σ_x)).
noncomputable def weightedWeight (β : ℝ) (J : Sym2 V -> ℝ) (h : ℝ)
(s : ConfigSpace V) : ℝ :=
Real.exp (β * weightedEnergy G J h s)
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def weightedEnergy (J : Sym2 V -> ℝ) (h : ℝ) (s : ConfigSpace V) : ℝ :=
(∑ e ∈ G.edgeFinset, J e * bond s e) + h * ∑ x, spin s x
PhyslibExt/CondensedMatter/IsingModel/Sharpness/WeightedFieldGhost.lean:67
Uses 2 · Used by 4
DefinitionPartition function with general couplings and a uniform field#✓fully proved
The partition function with couplings J and field h.
noncomputable def weightedZ (β : ℝ) (J : Sym2 V -> ℝ) (h : ℝ) : ℝ :=
∑ s : ConfigSpace V, weightedWeight G β J h s
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def weightedWeight (β : ℝ) (J : Sym2 V -> ℝ) (h : ℝ)
(s : ConfigSpace V) : ℝ :=
Real.exp (β * weightedEnergy G J h s)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/WeightedFieldGhost.lean:71
Uses 2 · Used by 3
DefinitionGibbs expectation with general couplings and a uniform field#✓fully proved
The Gibbs expectation with couplings J and field h.
noncomputable def weightedExpectation (β : ℝ) (J : Sym2 V -> ℝ) (h : ℝ)
(f : ConfigSpace V -> ℝ) : ℝ :=
(∑ s : ConfigSpace V, f s * weightedWeight G β J h s) / weightedZ G β J h
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def weightedWeight (β : ℝ) (J : Sym2 V -> ℝ) (h : ℝ)
(s : ConfigSpace V) : ℝ :=
Real.exp (β * weightedEnergy G J h s)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/WeightedFieldGhost.lean:71
noncomputable def weightedZ (β : ℝ) (J : Sym2 V -> ℝ) (h : ℝ) : ℝ :=
∑ s : ConfigSpace V, weightedWeight G β J h s
PhyslibExt/CondensedMatter/IsingModel/Sharpness/WeightedFieldGhost.lean:76
DefinitionBond term: ghost-graph disconnection sum for a bond covariance#✓fully proved
The bond term: the ghost-graph disconnection sum for Cov(σ_o, σ_e) with couplings J.
noncomputable def weightedBondDelta (β h : ℝ) (J : Sym2 V -> ℝ)
(o : V) (e : Sym2 V) : ℝ :=
sourcePairDisconnSum (withGhost G) β (ghostCoupling h β J)
(hcaBondSource o e) ∅ (some o) none
noncomputable def sourcePairDisconnSum (β : ℝ) (J : Sym2 V → ℝ) (A B : Finset V) (u v : V) : ℝ :=
∑' pq : (↥G.edgeFinset → ℕ) × (↥G.edgeFinset → ℕ),
((if sources G (ofEdgeFun G pq.1) = A then weight G β J (ofEdgeFun G pq.1) else 0)
* (if sources G (ofEdgeFun G pq.2) = B then weight G β J (ofEdgeFun G pq.2) else 0))
* (if ¬ CurrentConnected G (ofEdgeFun G (fun e => pq.1 e + pq.2 e)) u v then 1 else 0)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/EdgeCopyEncoding.lean:437
def withGhost : SimpleGraph (Option V) where
Adj a b :=
match a, b with
| some x, some y => G.Adj x y
| some _, none => True
| none, some _ => True
| none, none => False
symm := by
constructor
rintro (_ | x) (_ | y) h
· exact h
· exact h
⋯
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:237
noncomputable def ghostCoupling (h _β : ℝ) (J : Sym2 V → ℝ) (e : Sym2 (Option V)) : ℝ :=
Sym2.lift ⟨fun a b =>
match a, b with
| some x, some y => J s(x, y)
| some _, none => h
| none, some _ => h
| none, none => 0,
by rintro (_ | x) (_ | y) <;> simp only []; rw [Sym2.eq_swap]⟩ e
PhyslibExt/CondensedMatter/IsingModel/Sharpness/FieldGhostDict.lean:122
noncomputable def hcaBondSource (o : V) : Sym2 V -> Finset (Option V) :=
Sym2.lift <| by
refine ⟨fun x y => insert none ((({o} : Finset V) ∆ {x, y}).map someEmb), ?_⟩
intro x y
simp [Finset.pair_comm]
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BetaDerivCurrent.lean:260
DefinitionField term: ghost-graph disconnection sum for a site covariance#✓fully proved
The field term: the ghost-graph disconnection sum for Cov(σ_o, σ_z) with couplings J.
noncomputable def weightedFieldDelta (β h : ℝ) (J : Sym2 V -> ℝ)
(o z : V) : ℝ :=
sourcePairDisconnSum (withGhost G) β (ghostCoupling h β J)
(hcaFieldSource o z) ∅ (some o) none
noncomputable def sourcePairDisconnSum (β : ℝ) (J : Sym2 V → ℝ) (A B : Finset V) (u v : V) : ℝ :=
∑' pq : (↥G.edgeFinset → ℕ) × (↥G.edgeFinset → ℕ),
((if sources G (ofEdgeFun G pq.1) = A then weight G β J (ofEdgeFun G pq.1) else 0)
* (if sources G (ofEdgeFun G pq.2) = B then weight G β J (ofEdgeFun G pq.2) else 0))
* (if ¬ CurrentConnected G (ofEdgeFun G (fun e => pq.1 e + pq.2 e)) u v then 1 else 0)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/EdgeCopyEncoding.lean:437
def withGhost : SimpleGraph (Option V) where
Adj a b :=
match a, b with
| some x, some y => G.Adj x y
| some _, none => True
| none, some _ => True
| none, none => False
symm := by
constructor
rintro (_ | x) (_ | y) h
· exact h
· exact h
⋯
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:237
noncomputable def ghostCoupling (h _β : ℝ) (J : Sym2 V → ℝ) (e : Sym2 (Option V)) : ℝ :=
Sym2.lift ⟨fun a b =>
match a, b with
| some x, some y => J s(x, y)
| some _, none => h
| none, some _ => h
| none, none => 0,
by rintro (_ | x) (_ | y) <;> simp only []; rw [Sym2.eq_swap]⟩ e
PhyslibExt/CondensedMatter/IsingModel/Sharpness/FieldGhostDict.lean:122
noncomputable def hcaFieldSource (o z : V) : Finset (Option V) :=
((({o} : Finset V) ∆ {z}).map someEmb)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BetaDerivCurrent.lean:277
DefinitionLattice sites underlying a set of box sites#✓fully proved
The sites of ℤ^d underlying a set T of sites of Λ_n.
noncomputable def sctCutSites {d n : ℕ} (T : Finset (sctBox d n)) :
Finset (Site d) :=
T.image Subtype.val
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
Uses 3 · Used by 6
DefinitionIdentification of a box cut set with its lattice sites#✓fully proved
The identification of T with sctCutSites T.
StatMech.Sharpness.sctCutVertexEquiv · 17 lines
noncomputable def sctCutVertexEquiv {d n : ℕ} (T : Finset (sctBox d n)) :
{x : sctBox d n // x ∈ T} ≃ {z : Site d // z ∈ sctCutSites T} :=
Equiv.ofBijective
(fun x => (⟨x.1.1, mem_sctCutSites.mpr x.2⟩ :
{z : Site d // z ∈ sctCutSites T}))
⟨by
intro x y h
apply Subtype.ext
apply Subtype.ext
exact congrArg (fun z : {z : Site d // z ∈ sctCutSites 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, hv⟩ := hz
refine ⟨⟨x, hx⟩, Subtype.ext ?_⟩
exact hv⟩
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
noncomputable def sctCutSites {d n : ℕ} (T : Finset (sctBox d n)) :
Finset (Site d) :=
T.image Subtype.val
PhyslibExt/CondensedMatter/IsingModel/Sharpness/MeanfieldIsingFinite.lean:69
@[simp]
lemma mem_sctCutSites {d n : ℕ} {T : Finset (sctBox d n)} {x : sctBox d n} :
x.1 ∈ sctCutSites T ↔ x ∈ T
PhyslibExt/CondensedMatter/IsingModel/Sharpness/MeanfieldIsingFinite.lean:74
Uses 4 · Used by 2
DefinitionCut mass of a box set rooted at the field ghost#✓fully proved
The cut mass of T in Λ_n with the field ghost as root.
noncomputable def sctCurrentCutMass (d : ℕ) (beta h : ℝ) (n : ℕ)
(T : Finset (sctBox d n)) : ℝ :=
isingCutMass (withGhost (sctBoxGraph d n)) beta
(ghostCoupling h beta (fun _ => 1)) none (T.map someEmb)
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
noncomputable def isingCutMass (beta : ℝ) (J : Sym2 V → ℝ)
(g : V) (S : Finset V) : ℝ :=
(currentSum G beta J ∅)⁻¹ ^ 2 *
gatedSourcePairSum G beta J ∅ ∅
(fun m => notConnComp G m g = S)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/MeanfieldIsingMass.lean:76
def withGhost : SimpleGraph (Option V) where
Adj a b :=
match a, b with
| some x, some y => G.Adj x y
| some _, none => True
| none, some _ => True
| none, none => False
symm := by
constructor
rintro (_ | x) (_ | y) h
· exact h
· exact h
⋯
PhyslibExt/CondensedMatter/IsingModel/Sharpness/RandomCurrent.lean:237
def sctBoxGraph (d n : ℕ) : SimpleGraph (sctBox d n) :=
(hypercubicLattice d).induce (box d n)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:68
noncomputable def ghostCoupling (h _β : ℝ) (J : Sym2 V → ℝ) (e : Sym2 (Option V)) : ℝ :=
Sym2.lift ⟨fun a b =>
match a, b with
| some x, some y => J s(x, y)
| some _, none => h
| none, some _ => h
| none, none => 0,
by rintro (_ | x) (_ | y) <;> simp only []; rw [Sym2.eq_swap]⟩ e
PhyslibExt/CondensedMatter/IsingModel/Sharpness/FieldGhostDict.lean:122
def someEmb : V ↪ Option V := ⟨some, Option.some_injective V⟩
PhyslibExt/CondensedMatter/IsingModel/Sharpness/FieldGhostDict.lean:252
Uses 9 · Used by 4
DefinitionOriented cut mass over cuts \(T \ni 0, x\) with \(y \notin T\)#✓fully proved
The sum over cut sets T ∋ 0, x with y ∉ T of ⟨σ_0σ_x⟩_T times the cut mass of T.
noncomputable def sctOrientedCutMass (d : ℕ) (beta h : ℝ) (n : ℕ)
(x y : sctBox d n) : ℝ :=
∑ T : Finset (sctBox d n),
if sctBoxOrigin d n ∈ T ∧ x ∈ T ∧ y ∉ T then
corrOriginInner d beta (sctCutSites T) x.1 *
sctCurrentCutMass d beta h n T
else 0
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
def sctBoxOrigin (d n : ℕ) : sctBox d n :=
⟨fun _ => 0, by intro i; simp⟩
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:99
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 sctCutSites {d n : ℕ} (T : Finset (sctBox d n)) :
Finset (Site d) :=
T.image Subtype.val
PhyslibExt/CondensedMatter/IsingModel/Sharpness/MeanfieldIsingFinite.lean:69
noncomputable def sctCurrentCutMass (d : ℕ) (beta h : ℝ) (n : ℕ)
(T : Finset (sctBox d n)) : ℝ :=
isingCutMass (withGhost (sctBoxGraph d n)) beta
(ghostCoupling h beta (fun _ => 1)) none (T.map someEmb)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/MeanfieldIsingFinite.lean:165
Uses 8 · Used by 2
DefinitionSymmetrized cut mass of an edge#✓fully proved
The symmetrized cut mass sctOrientedCutMass x y + sctOrientedCutMass y x of an edge.
noncomputable def sctEdgeCutMass (d : ℕ) (beta h : ℝ) (n : ℕ) :
Sym2 (sctBox d n) → ℝ :=
Sym2.lift ⟨fun x y =>
sctOrientedCutMass d beta h n x y +
sctOrientedCutMass d beta h n y x, by
intro x y
ring⟩
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
noncomputable def sctOrientedCutMass (d : ℕ) (beta h : ℝ) (n : ℕ)
(x y : sctBox d n) : ℝ :=
∑ T : Finset (sctBox d n),
if sctBoxOrigin d n ∈ T ∧ x ∈ T ∧ y ∉ T then
corrOriginInner d beta (sctCutSites T) x.1 *
sctCurrentCutMass d beta h n T
else 0
PhyslibExt/CondensedMatter/IsingModel/Sharpness/MeanfieldIsingFinite.lean:171
Uses 2 · Used by 1
DefinitionBoundary correlation of an edge crossing a cut#✓fully proved
For an edge crossing the cut T, the correlation ⟨σ_0σ_x⟩_T at its endpoint x ∈ T; zero
otherwise.
noncomputable def sctEdgeBoundaryCorr {d n : ℕ} (beta : ℝ)
(T : Finset (sctBox d n)) : Sym2 (sctBox d n) → ℝ :=
Sym2.lift ⟨fun x y =>
if x ∈ T ∧ y ∉ T then corrOriginInner d beta (sctCutSites T) x.1
else if y ∈ T ∧ x ∉ T then corrOriginInner d beta (sctCutSites T) y.1
else 0, by
intro x y
by_cases hx : x ∈ T <;> by_cases hy : y ∈ T <;> simp [hx, hy]⟩
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
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 sctCutSites {d n : ℕ} (T : Finset (sctBox d n)) :
Finset (Site d) :=
T.image Subtype.val
PhyslibExt/CondensedMatter/IsingModel/Sharpness/MeanfieldIsingFinite.lean:69
DefinitionInternal boundary correlation of a cut in the box#✓fully proved
The sum of sctEdgeBoundaryCorr over the edges of Λ_n.
noncomputable def sctInternalBoundaryCorr (d : ℕ) (beta : ℝ) (n : ℕ)
(T : Finset (sctBox d n)) : ℝ :=
∑ e ∈ (sctBoxGraph d n).edgeFinset, sctEdgeBoundaryCorr beta T e
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
def sctBoxGraph (d n : ℕ) : SimpleGraph (sctBox d n) :=
(hypercubicLattice d).induce (box d n)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:68
noncomputable def sctEdgeBoundaryCorr {d n : ℕ} (beta : ℝ)
(T : Finset (sctBox d n)) : Sym2 (sctBox d n) → ℝ :=
Sym2.lift ⟨fun x y =>
if x ∈ T ∧ y ∉ T then corrOriginInner d beta (sctCutSites T) x.1
else if y ∈ T ∧ x ∉ T then corrOriginInner d beta (sctCutSites T) y.1
else 0, by
intro x y
by_cases hx : x ∈ T <;> by_cases hy : y ∈ T <;> simp [hx, hy]⟩
PhyslibExt/CondensedMatter/IsingModel/Sharpness/MeanfieldIsingFinite.lean:503
DefinitionLattice site as a box site, defaulting to the origin#✓fully proved
A site of ℤ^d as a site of Λ_n (the origin if it lies outside).
noncomputable def sctBoxize (d n : ℕ) (z : Site d) : sctBox d n :=
if hz : z ∈ box d n then ⟨z, hz⟩ else sctBoxOrigin d n
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
def box (d n : ℕ) : Set (Site d) := {x | ∀ i, (x i).natAbs ≤ n}
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:86
def sctBoxOrigin (d n : ℕ) : sctBox d n :=
⟨fun _ => 0, by intro i; simp⟩
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:99
DefinitionEdge with exactly one endpoint in a cut set#✓fully proved
An edge has exactly one endpoint in T.
def sctCrossesCut {d n : ℕ} (T : Finset (sctBox d n)) :
Sym2 (sctBox d n) → Prop :=
Sym2.lift ⟨fun x y => (x ∈ T ∧ y ∉ T) ∨ (y ∈ T ∧ x ∉ T), by
intro x y
apply propext
tauto⟩
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
Uses 4 · Used by 1
DefinitionExternal boundary correlation of a cut, over edges leaving the box#✓fully proved
The sum of ⟨σ_0σ_x⟩_T over boundary edges (x, y) of T with y ∉ Λ_n.
noncomputable def sctExternalBoundaryCorr (d : ℕ) (beta : ℝ) (n : ℕ)
(T : Finset (sctBox d n)) : ℝ :=
∑ e ∈ (boundaryEdges d (sctCutSites T)).filter
(fun e => e.2 ∉ box d n),
corrOriginInner d beta (sctCutSites T) e.1
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
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 sctCutSites {d n : ℕ} (T : Finset (sctBox d n)) :
Finset (Site d) :=
T.image Subtype.val
PhyslibExt/CondensedMatter/IsingModel/Sharpness/MeanfieldIsingFinite.lean:69
def box (d n : ℕ) : Set (Site d) := {x | ∀ i, (x i).natAbs ≤ n}
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:86
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
DefinitionBoundary error of the finite-volume mean-field inequality#✓fully proved
The boundary error ∑_{T ∋ 0} (external boundary correlation of T) × (cut mass of T).
noncomputable def sctCurrentBoundaryError (d : ℕ) (beta h : ℝ) (n : ℕ) : ℝ :=
∑ T : Finset (sctBox d n),
if sctBoxOrigin d n ∈ T then
sctExternalBoundaryCorr d beta n T * sctCurrentCutMass d beta h n T
else 0
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
def sctBoxOrigin (d n : ℕ) : sctBox d n :=
⟨fun _ => 0, by intro i; simp⟩
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:99
noncomputable def sctExternalBoundaryCorr (d : ℕ) (beta : ℝ) (n : ℕ)
(T : Finset (sctBox d n)) : ℝ :=
∑ e ∈ (boundaryEdges d (sctCutSites T)).filter
(fun e => e.2 ∉ box d n),
corrOriginInner d beta (sctCutSites T) e.1
PhyslibExt/CondensedMatter/IsingModel/Sharpness/MeanfieldIsingFinite.lean:698
noncomputable def sctCurrentCutMass (d : ℕ) (beta h : ℝ) (n : ℕ)
(T : Finset (sctBox d n)) : ℝ :=
isingCutMass (withGhost (sctBoxGraph d n)) beta
(ghostCoupling h beta (fun _ => 1)) none (T.map someEmb)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/MeanfieldIsingFinite.lean:165
Uses 7 · Used by 2
LemmaFinite-volume mean-field inequality for the Ising model#✓fully proved
The finite-volume mean-field inequality: for β, h > 0 and inf_S φ_β(S) ≥ φ₀, ∂_β
⟨σ_0⟩²_{Λ_n} ≥ 2 c_n ((φ₀/β)(1 - ⟨σ_0⟩²) - ε_n). Reference: H. Duminil-Copin, V. Tassion, "A new
proof of the sharpness of the phase transition for Bernoulli percolation and the Ising model", Comm.
Math. Phys. 343 (2016) 725–745.
lemma sct_finite_meanfield_inequality {d n : ℕ} (beta h infphi : ℝ)
(hbeta : 0 < beta) (hh : 0 < h)
(hinf : ∀ S : Finset (Site d), origin d ∈ S → infphi ≤ phiIsing d beta S) :
deriv (fun b => (sctOriginMag d b h n) ^ 2) beta ≥
2 * sctLatticeC d beta h n *
((1 / beta) * (infphi * (1 - (sctOriginMag d beta h n) ^ 2)) -
sctCurrentBoundaryError d beta h n)
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 phiIsing (d : ℕ) (β : ℝ) (S : Finset (Site d)) : ℝ :=
Real.tanh β * ∑ e ∈ Percolation.boundaryEdges d S, corrOriginInner d β S e.1
PhyslibExt/CondensedMatter/IsingModel/Sharpness/TildeBc.lean:178
noncomputable def sctOriginMag (d : ℕ) (β h : ℝ) (n : ℕ) : ℝ :=
sctBoxMag d β h n (sctBoxOrigin d n)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:188
noncomputable def sctLatticeC (d : ℕ) (β h : ℝ) (n : ℕ) : ℝ :=
sct_cInfDep (sctBox d) (sctOriginMag d β h) (sctBoxSites d)
(sctBoxMag d β h) (sctBoxSites_nonempty d) n
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:198
noncomputable def sctCurrentBoundaryError (d : ℕ) (beta h : ℝ) (n : ℕ) : ℝ :=
∑ T : Finset (sctBox d n),
if sctBoxOrigin d n ∈ T then
sctExternalBoundaryCorr d beta n T * sctCurrentCutMass d beta h n T
else 0
PhyslibExt/CondensedMatter/IsingModel/Sharpness/MeanfieldIsingFinite.lean:763
Uses 134 · Used by 1
DefinitionPairs of a box site and an outside lattice neighbour#✓fully proved
Pairs (x, y) with x ∈ Λ_n and y a lattice neighbour of x outside Λ_n.
noncomputable def sctExternalBoxPairs (d n : ℕ) :
Finset (sctBox d n × Site d) :=
(Finset.univ : Finset (sctBox d n)).biUnion fun x =>
(sctExteriorNeighbours d n x.1).image fun y => (x, y)
abbrev sctBox (d n : ℕ) := {x : Site d // x ∈ box d n}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoxMagnetizationRatioLattice.lean:61
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
noncomputable def sctExteriorNeighbours (d n : ℕ) (x : Site d) : Finset (Site d) :=
((hypercubicLattice d).neighborFinset x).filter (fun y => y ∉ box d n)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/BoundaryErrorLattice.lean:71
LemmaMean-field lower bound for the spontaneous magnetization#✓fully proved
The mean-field lower bound for the spontaneous magnetization: if β̃_c > 0 and its defining set
is bounded, then m*(β) ≥ √(1 - (β̃_c/β)²) for β ≥ β̃_c. Reference: H. Duminil-Copin, V. Tassion,
"A new proof of the sharpness of the phase transition for Bernoulli percolation and the Ising
model", Comm. Math. Phys. 343 (2016) 725–745.
lemma sct_magnetization_meanfield_lower_bound_integrated
(d : ℕ) (hbdd : BddAbove (tildeBetaCIsingSet d))
(hcrit : 0 < tildeBetaCIsing d) {beta : ℝ}
(hbeta : tildeBetaCIsing d ≤ beta) :
Real.sqrt (1 - (tildeBetaCIsing d / beta) ^ 2) ≤
magnetization d beta
def tildeBetaCIsingSet (d : ℕ) : Set ℝ :=
{β : ℝ | 0 ≤ β ∧ ∃ S : Finset (Site d), origin d ∈ S ∧ phiIsing d β S < 1}
PhyslibExt/CondensedMatter/IsingModel/Sharpness/TildeBc.lean:191
noncomputable def tildeBetaCIsing (d : ℕ) : ℝ :=
sSup (tildeBetaCIsingSet d)
PhyslibExt/CondensedMatter/IsingModel/Sharpness/TildeBc.lean:201
noncomputable def magnetization (d : ℕ) (β : ℝ) : ℝ :=
∫ ω, spin ω (origin d) ∂(plusState d β 0 : Measure (ConfigSpace (Site d)))
PhyslibExt/CondensedMatter/IsingModel/Magnetization.lean:82
Uses 186 · Used by 1
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.