The random-cluster critical point on ℤ² is below one, given a Peierls bound
A. Walks to the exterior of a finite cluster
DefinitionHorizontal lattice walk in \(\mathbb{Z}^2\)#✓fully proved
The horizontal lattice walk of k steps from (a, c) to (a + k, c) in ℤ².
noncomputable def horizWalk (c : ℤ) :
(k : ℕ) → (a : ℤ) → (hypercubicLattice 2).Walk ![a, c] ![a + (k : ℤ), c]
| 0, a => by
simpa using (SimpleGraph.Walk.nil : (hypercubicLattice 2).Walk ![a, c] ![a, c])
| k + 1, a => by
have step : (hypercubicLattice 2).Adj ![a, c] ![a + 1, c] := latAdj_right a c
have rest := horizWalk c k (a + 1)
have he : (![a + 1 + (k : ℤ), c] : Site 2) = ![a + ((k + 1 : ℕ) : ℤ), c] := by
funext i; fin_cases i <;> (simp; try ring)
rw [he] at rest
exact SimpleGraph.Walk.cons step rest
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 2 · Used by 1
LemmaFinite subsets of \(\mathbb{Z}^2\) miss far points on each row#✓fully proved
A finite set of ℤ² misses some point (N, c) with N ≥ a₀ on every horizontal line.
lemma exists_far_not_mem (S : Set (Site 2)) (hfin : S.Finite) (c a0 : ℤ) :
∃ N : ℤ, a0 ≤ N ∧ (![N, c] : Site 2) ∉ S
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
Uses 1 · Used by 1
LemmaFinite cluster in \(\mathbb{Z}^2\) has a reachable point outside it#✓fully proved
A finite cluster of o has a lattice-reachable point outside it.
lemma exists_walk_exterior {ω : ConfigSpace (Sym2 (Site 2))} (o : Site 2)
(hfin : (cluster 2 ω o).Finite) :
∃ z : Site 2, (hypercubicLattice 2).Reachable o z ∧ z ∉ cluster 2 ω o
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def cluster (d : ℕ) (ω : ConfigSpace (Sym2 (Site d))) (x : Site d) : Set (Site d) :=
{y | Connected d ω x y}
MathlibExt/Combinatorics/SimpleGraph/Lattice/Clusters.lean:103
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 6 · Used by 2
B. Closed circuits around a finite cluster
DefinitionClosed-circuit event of a dual circuit#✓fully proved
The event that every primal edge crossed by the dual circuit c is closed.
def closedCircuitEvent {u : Site 2} (c : (hypercubicLattice 2).Walk u u) :
Set (ConfigSpace (Sym2 (Site 2))) :=
{ω | ∀ f g : Site 2, s(f, g) ∈ c.edges → ω (sharedPrimalEdge f g) = false}
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
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def sharedPrimalEdge (f g : Site 2) : Sym2 (Site 2) := by
classical
exact if f 0 = g 0 then
s(![f 0, max (f 1) (g 1)], ![f 0 + 1, max (f 1) (g 1)])
else
s(![max (f 0) (g 0), f 1], ![max (f 0) (g 0), f 1 + 1])
MathlibExt/Combinatorics/SimpleGraph/Lattice/JordanEnclosure.lean:223
Uses 4 · Used by 3
LemmaFinite cluster in \(\mathbb{Z}^2\) gives a closed lattice circuit#✓fully proved
A finite open cluster of o in ℤ² is surrounded by a lattice cycle whose crossed primal edges
are all closed.
lemma exists_closed_latticeCircuit_of_finite_cluster
{ω : ConfigSpace (Sym2 (Site 2))} (o : Site 2) (hfin : (cluster 2 ω o).Finite) :
∃ (u : Site 2) (c : (hypercubicLattice 2).Walk u u), c.IsCycle ∧
ω ∈ closedCircuitEvent c
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def cluster (d : ℕ) (ω : ConfigSpace (Sym2 (Site d))) (x : Site d) : Set (Site d) :=
{y | Connected d ω x y}
MathlibExt/Combinatorics/SimpleGraph/Lattice/Clusters.lean:103
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 closedCircuitEvent {u : Site 2} (c : (hypercubicLattice 2).Walk u u) :
Set (ConfigSpace (Sym2 (Site 2))) :=
{ω | ∀ f g : Site 2, s(f, g) ∈ c.edges → ω (sharedPrimalEdge f g) = false}
PhyslibExt/StatisticalMechanics/RandomCluster/PcLtOnePeierls.lean:112
Uses 25 · Used by 2
LemmaFinite cluster in \(\mathbb{Z}^2\): closed circuit, separated point, odd crossings#✓fully proved
The closed circuit of exists_closed_latticeCircuit_of_finite_cluster, together with a point
that the cluster boundary separates from o and an odd crossing number for every walk to it.
lemma exists_enclosing_closed_latticeCircuit_of_finite_cluster
{ω : ConfigSpace (Sym2 (Site 2))} (o : Site 2) (hfin : (cluster 2 ω o).Finite) :
∃ z : Site 2,
(∃ (u : Site 2) (c : (hypercubicLattice 2).Walk u u), c.IsCycle ∧ ω ∈ closedCircuitEvent c)
∧ ¬ (latticeMinusBarrier (cluster 2 ω o)).Reachable o z
∧ ∀ γ : (hypercubicLattice 2).Walk o z, ¬ Even (crossCount (cluster 2 ω o) γ)
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def cluster (d : ℕ) (ω : ConfigSpace (Sym2 (Site d))) (x : Site d) : Set (Site d) :=
{y | Connected d ω x y}
MathlibExt/Combinatorics/SimpleGraph/Lattice/Clusters.lean:103
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 closedCircuitEvent {u : Site 2} (c : (hypercubicLattice 2).Walk u u) :
Set (ConfigSpace (Sym2 (Site 2))) :=
{ω | ∀ f g : Site 2, s(f, g) ∈ c.edges → ω (sharedPrimalEdge f g) = false}
PhyslibExt/StatisticalMechanics/RandomCluster/PcLtOnePeierls.lean:112
noncomputable def latticeMinusBarrier (S : Set (Site 2)) : SimpleGraph (Site 2) where
Adj x y := (hypercubicLattice 2).Adj x y ∧ ¬ bdEdge S s(x, y)
symm := by
refine ⟨?_⟩
intro x y ⟨hadj, hbd⟩
refine ⟨hadj.symm, ?_⟩
rwa [Sym2.eq_swap]
loopless := ⟨fun x h => (hypercubicLattice 2).irrefl h.1⟩
MathlibExt/Combinatorics/SimpleGraph/Lattice/CrossingParity.lean:131
noncomputable def crossCount (S : Set (Site 2)) {x y : Site 2}
(w : (hypercubicLattice 2).Walk x y) : ℕ := by
classical
exact w.edges.countP (fun e => decide (bdEdge S e))
MathlibExt/Combinatorics/SimpleGraph/Lattice/CrossingParity.lean:46
Uses 27
LemmaFinite-cluster event is covered by closed-circuit events#✓fully proved
The event that the cluster of o is finite is covered by the closed-circuit events.
lemma finiteCluster_subset_iUnion_closedCircuit (o : Site 2) :
{ω : ConfigSpace (Sym2 (Site 2)) | (cluster 2 ω o).Finite}
⊆ ⋃ (u : Site 2) (c : (hypercubicLattice 2).Walk u u) (_ : c.IsCycle),
closedCircuitEvent c
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
def cluster (d : ℕ) (ω : ConfigSpace (Sym2 (Site d))) (x : Site d) : Set (Site d) :=
{y | Connected d ω x y}
MathlibExt/Combinatorics/SimpleGraph/Lattice/Clusters.lean:103
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 closedCircuitEvent {u : Site 2} (c : (hypercubicLattice 2).Walk u u) :
Set (ConfigSpace (Sym2 (Site 2))) :=
{ω | ∀ f g : Site 2, s(f, g) ∈ c.edges → ω (sharedPrimalEdge f g) = false}
PhyslibExt/StatisticalMechanics/RandomCluster/PcLtOnePeierls.lean:112
LemmaNon-percolation means the origin's cluster is finite#✓fully proved
No percolation from the origin means the cluster of the origin is finite.
lemma compl_percolationEvent_eq_finiteCluster :
(percolationEvent 2)ᶜ
= {ω : ConfigSpace (Sym2 (Site 2)) | (cluster 2 ω (origin 2)).Finite}
def percolationEvent (d : ℕ) : Set (ConfigSpace (Sym2 (Site d))) :=
{ω | (StatMech.Lattice.cluster d ω (origin d)).Infinite}
MathlibExt/Probability/Percolation/Theta.lean:59
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def cluster (d : ℕ) (ω : ConfigSpace (Sym2 (Site d))) (x : Site d) : Set (Site d) :=
{y | Connected d ω x y}
MathlibExt/Combinatorics/SimpleGraph/Lattice/Clusters.lean:103
def origin (d : ℕ) : Site d := fun _ => 0
MathlibExt/Probability/Percolation/Theta.lean:56
C. The Peierls series
DefinitionPeierls series \(\sum_\ell \ell\,(2d)^\ell (1-p)^\ell\)#✓fully proved
The Peierls series Σ_ℓ ℓ (2d)^ℓ (1 - p)^ℓ bounding the probability of a finite cluster.
noncomputable def fkPcUpperBound (d : ℕ) (p : ℝ) : ℝ :=
∑' ℓ : ℕ, (ℓ : ℝ) * (2 * d : ℝ) ^ ℓ * (1 - p) ^ ℓ
Used by 8
DefinitionRatio \(2d(1-p)\) of the Peierls series#✓fully proved
The ratio 2d (1 - p) of the Peierls series.
noncomputable def fkPcRatio (d : ℕ) (p : ℝ) : ℝ := (2 * d : ℝ) * (1 - p)
LemmaDefining formula for the Peierls ratio#✓fully proved
Unfolding fkPcRatio.
@[simp] lemma fkPcRatio_def (d : ℕ) (p : ℝ) : fkPcRatio d p = (2 * d : ℝ) * (1 - p)
noncomputable def fkPcRatio (d : ℕ) (p : ℝ) : ℝ := (2 * d : ℝ) * (1 - p)
PhyslibExt/StatisticalMechanics/RandomCluster/PcLtOnePeierls.lean:171
Uses 1 · Used by 1
LemmaPeierls summand as \(\ell x^\ell\) with \(x = 2d(1-p)\)#✓fully proved
The Peierls summand in terms of fkPcRatio.
lemma fkPcSummand_eq (d : ℕ) (p : ℝ) (ℓ : ℕ) :
(ℓ : ℝ) * (2 * d : ℝ) ^ ℓ * (1 - p) ^ ℓ = (ℓ : ℝ) * (fkPcRatio d p) ^ ℓ
noncomputable def fkPcRatio (d : ℕ) (p : ℝ) : ℝ := (2 * d : ℝ) * (1 - p)
PhyslibExt/StatisticalMechanics/RandomCluster/PcLtOnePeierls.lean:171
Uses 2 · Used by 1
LemmaClosed form \(x/(1-x)^2\) of the Peierls series for \(|x| < 1\)#✓fully proved
Closed form x / (1 - x)² of the Peierls series for |x| < 1, where x = 2d (1 - p).
lemma fkPcUpperBound_eq_closedForm (d : ℕ) (p : ℝ) (hx : ‖fkPcRatio d p‖ < 1) :
fkPcUpperBound d p = (fkPcRatio d p) / (1 - fkPcRatio d p) ^ 2
noncomputable def fkPcRatio (d : ℕ) (p : ℝ) : ℝ := (2 * d : ℝ) * (1 - p)
PhyslibExt/StatisticalMechanics/RandomCluster/PcLtOnePeierls.lean:171
noncomputable def fkPcUpperBound (d : ℕ) (p : ℝ) : ℝ :=
∑' ℓ : ℕ, (ℓ : ℝ) * (2 * d : ℝ) ^ ℓ * (1 - p) ^ ℓ
PhyslibExt/StatisticalMechanics/RandomCluster/PcLtOnePeierls.lean:167
Uses 3 · Used by 1
LemmaPeierls ratio \(2d(1-p)\) tends to \(0\) as \(p \to 1\)#✓fully proved
2d (1 - p) → 0 as p → 1.
lemma fkPcRatio_tendsto_one (d : ℕ) :
Tendsto (fun p : ℝ => fkPcRatio d p) (nhds 1) (nhds 0)
noncomputable def fkPcRatio (d : ℕ) (p : ℝ) : ℝ := (2 * d : ℝ) * (1 - p)
PhyslibExt/StatisticalMechanics/RandomCluster/PcLtOnePeierls.lean:171
Uses 1 · Used by 1
Lemma\(x/(1-x)^2 \to 0\) as \(x \to 0\)#✓fully proved
x / (1 - x)² → 0 as x → 0.
Used by 1
LemmaPeierls series tends to \(0\) as \(p \to 1\)#✓fully proved
The Peierls series tends to 0 as p → 1.
lemma fkPcUpperBound_tendsto_one (d : ℕ) :
Tendsto (fun p : ℝ => fkPcUpperBound d p) (nhds 1) (nhds 0)
noncomputable def fkPcUpperBound (d : ℕ) (p : ℝ) : ℝ :=
∑' ℓ : ℕ, (ℓ : ℝ) * (2 * d : ℝ) ^ ℓ * (1 - p) ^ ℓ
PhyslibExt/StatisticalMechanics/RandomCluster/PcLtOnePeierls.lean:167
LemmaPeierls series is below 1 on an interval \((p_0, 1)\)#✓fully proved
The Peierls series is below 1 on an interval (p₀, 1].
lemma exists_p_lt_one_fkPcUpperBound_lt_one (d : ℕ) :
∃ p₀ : ℝ, p₀ < 1 ∧ ∀ p : ℝ, p₀ < p → p ≤ 1 → fkPcUpperBound d p < 1
noncomputable def fkPcUpperBound (d : ℕ) (p : ℝ) : ℝ :=
∑' ℓ : ℕ, (ℓ : ℝ) * (2 * d : ℝ) ^ ℓ * (1 - p) ^ ℓ
PhyslibExt/StatisticalMechanics/RandomCluster/PcLtOnePeierls.lean:167
Uses 2 · Used by 1
LemmaNonnegativity of the Peierls series for \(p \le 1\)#✓fully proved
The Peierls series is nonnegative for p ≤ 1.
lemma fkPcUpperBound_nonneg (d : ℕ) {p : ℝ} (hp : p ≤ 1) : 0 ≤ fkPcUpperBound d p
noncomputable def fkPcUpperBound (d : ℕ) (p : ℝ) : ℝ :=
∑' ℓ : ℕ, (ℓ : ℝ) * (2 * d : ℝ) ^ ℓ * (1 - p) ^ ℓ
PhyslibExt/StatisticalMechanics/RandomCluster/PcLtOnePeierls.lean:167
Uses 1
D. The critical point is below one
DefinitionPeierls bound hypothesis for the wired measure on \(\mathbb{Z}^2\)#✓fully proved
The Peierls bound for the wired random-cluster measure on ℤ² at (p, q):
1 - θ¹(p, q) ≤ Σ_ℓ ℓ 4^ℓ (1 - p)^ℓ.
def FkNonPercolationBound (q : ℝ) {p : ℝ} (hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) : Prop :=
1 - fkTheta 2 hp hp1 hq (q := q) ≤ fkPcUpperBound 2 p
noncomputable def fkTheta (d : ℕ) {p q : ℝ} (hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) : ℝ :=
((wiredInfiniteVolume d hp hp1 hq : ProbabilityMeasure (ConfigSpace (Sym2 (Site d)))) :
Measure (ConfigSpace (Sym2 (Site d)))).real (percolationEvent d)
PhyslibExt/StatisticalMechanics/RandomCluster/CriticalPoint.lean:57
noncomputable def fkPcUpperBound (d : ℕ) (p : ℝ) : ℝ :=
∑' ℓ : ℕ, (ℓ : ℝ) * (2 * d : ℝ) ^ ℓ * (1 - p) ^ ℓ
PhyslibExt/StatisticalMechanics/RandomCluster/PcLtOnePeierls.lean:167
Uses 2 · Used by 3
LemmaPercolation from a Peierls bound with series below 1#✓fully proved
The Peierls bound with a series below 1 gives percolation: 0 < θ¹(p, q).
lemma fkTheta_pos_of_nonPercolationBound {q : ℝ} {p : ℝ} (hp : 0 < p) (hp1 : p < 1)
(hq : 0 < q) (hBound : FkNonPercolationBound q hp hp1 hq)
(hsum : fkPcUpperBound 2 p < 1) :
0 < fkTheta 2 hp hp1 hq (q := q)
def FkNonPercolationBound (q : ℝ) {p : ℝ} (hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) : Prop :=
1 - fkTheta 2 hp hp1 hq (q := q) ≤ fkPcUpperBound 2 p
PhyslibExt/StatisticalMechanics/RandomCluster/PcLtOnePeierls.lean:245
noncomputable def fkPcUpperBound (d : ℕ) (p : ℝ) : ℝ :=
∑' ℓ : ℕ, (ℓ : ℝ) * (2 * d : ℝ) ^ ℓ * (1 - p) ^ ℓ
PhyslibExt/StatisticalMechanics/RandomCluster/PcLtOnePeierls.lean:167
noncomputable def fkTheta (d : ℕ) {p q : ℝ} (hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) : ℝ :=
((wiredInfiniteVolume d hp hp1 hq : ProbabilityMeasure (ConfigSpace (Sym2 (Site d)))) :
Measure (ConfigSpace (Sym2 (Site d)))).real (percolationEvent d)
PhyslibExt/StatisticalMechanics/RandomCluster/CriticalPoint.lean:57
Uses 3 · Used by 1
LemmaNonempty subcritical set on \(\mathbb{Z}^2\) for \(q \ge 1\)#✓fully proved
For q ≥ 1 the subcritical set on ℤ² is nonempty (it contains 1/8).
lemma fkSubcriticalSet_nonempty {q : ℝ} (hq : 1 ≤ q) : (fkSubcriticalSet 2 q).Nonempty
def fkSubcriticalSet (d : ℕ) (q : ℝ) : Set ℝ :=
{p : ℝ | ∃ (hp : 0 < p) (hp1 : p < 1) (hq : 0 < q), fkTheta d hp hp1 hq (q := q) = 0}
PhyslibExt/StatisticalMechanics/RandomCluster/CriticalPoint.lean:76
Uses 3 · Used by 2
LemmaPositive percolation probability rules out subcriticality#✓fully proved
A parameter with positive percolation probability is not subcritical.
lemma not_mem_fkSubcriticalSet_of_fkTheta_pos {q : ℝ} {p : ℝ} (hp : 0 < p) (hp1 : p < 1)
(hq : 0 < q) (hθ : 0 < fkTheta 2 hp hp1 hq (q := q)) : p ∉ fkSubcriticalSet 2 q
noncomputable def fkTheta (d : ℕ) {p q : ℝ} (hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) : ℝ :=
((wiredInfiniteVolume d hp hp1 hq : ProbabilityMeasure (ConfigSpace (Sym2 (Site d)))) :
Measure (ConfigSpace (Sym2 (Site d)))).real (percolationEvent d)
PhyslibExt/StatisticalMechanics/RandomCluster/CriticalPoint.lean:57
def fkSubcriticalSet (d : ℕ) (q : ℝ) : Set ℝ :=
{p : ℝ | ∃ (hp : 0 < p) (hp1 : p < 1) (hq : 0 < q), fkTheta d hp hp1 hq (q := q) = 0}
PhyslibExt/StatisticalMechanics/RandomCluster/CriticalPoint.lean:76
Uses 2 · Used by 2
Lemma\(p_c(q) < 1\) on \(\mathbb{Z}^2\) for \(q \ge 1\) under a Peierls bound#✓fully proved
For q ≥ 1, the random-cluster critical point on ℤ² satisfies p_c(q) < 1, assuming the
Peierls bound FkNonPercolationBound for all p in some interval (p₀, 1).
lemma fkPc_lt_one {q : ℝ} (hq : 1 ≤ q)
(hGeom : ∃ p₀ : ℝ, p₀ < 1 ∧
∀ (p : ℝ) (hp : 0 < p) (hp1 : p < 1), p₀ < p →
FkNonPercolationBound q hp hp1 (zero_lt_one.trans_le hq)) :
fkPc 2 q < 1
def FkNonPercolationBound (q : ℝ) {p : ℝ} (hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) : Prop :=
1 - fkTheta 2 hp hp1 hq (q := q) ≤ fkPcUpperBound 2 p
PhyslibExt/StatisticalMechanics/RandomCluster/PcLtOnePeierls.lean:245
noncomputable def fkPc (d : ℕ) (q : ℝ) : ℝ :=
sSup (fkSubcriticalSet d q)
PhyslibExt/StatisticalMechanics/RandomCluster/CriticalPoint.lean:88
Uses 9 · Used by 1
Lemma\(0 < p_c(q) < 1\) on \(\mathbb{Z}^2\) for \(q \ge 1\) under a Peierls bound#✓fully proved
For q ≥ 1, 0 < p_c(q) < 1 on ℤ², assuming the Peierls bound as in fkPc_lt_one.
lemma fkPc_pos_and_lt_one {q : ℝ} (hq : 1 ≤ q)
(hGeom : ∃ p₀ : ℝ, p₀ < 1 ∧
∀ (p : ℝ) (hp : 0 < p) (hp1 : p < 1), p₀ < p →
FkNonPercolationBound q hp hp1 (zero_lt_one.trans_le hq)) :
0 < fkPc 2 q ∧ fkPc 2 q < 1
def FkNonPercolationBound (q : ℝ) {p : ℝ} (hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) : Prop :=
1 - fkTheta 2 hp hp1 hq (q := q) ≤ fkPcUpperBound 2 p
PhyslibExt/StatisticalMechanics/RandomCluster/PcLtOnePeierls.lean:245
noncomputable def fkPc (d : ℕ) (q : ℝ) : ℝ :=
sSup (fkSubcriticalSet d q)
PhyslibExt/StatisticalMechanics/RandomCluster/CriticalPoint.lean:88
Uses 4
LemmaPeierls series for \(d = 2\) equals the Bernoulli Peierls series#✓fully proved
The Peierls series for d = 2 is the Bernoulli Peierls series
StatMech.Percolation.pcUpperBound.
lemma fkPcUpperBound_two_eq_pcUpperBound (p : ℝ) :
fkPcUpperBound 2 p = Percolation.pcUpperBound p
noncomputable def fkPcUpperBound (d : ℕ) (p : ℝ) : ℝ :=
∑' ℓ : ℕ, (ℓ : ℝ) * (2 * d : ℝ) ^ ℓ * (1 - p) ^ ℓ
PhyslibExt/StatisticalMechanics/RandomCluster/PcLtOnePeierls.lean:167
noncomputable def pcUpperBound (p : ℝ) : ℝ :=
∑' ℓ : ℕ, (ℓ : ℝ) * (4 : ℝ) ^ ℓ * (1 - p) ^ ℓ
MathlibExt/Probability/Percolation/PcUpper.lean:59
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.