Bounds on the critical probability
DefinitionVertices of a lattice path encoded by a step sequence#✓fully proved
The k-th vertex of the lattice path from the origin that takes step ±e_i given by g j
at time j.
def vertOf (g : ℕ → Fin d × Bool) : ℕ → Site d
| 0 => origin d
| (k + 1) => coordShift (vertOf g k) (g k).1 (stepSign (g k).2)
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
def coordShift (x : Site d) (i : Fin d) (δ : ℤ) : Site d :=
Function.update x i (x i + δ)
MathlibExt/Probability/Percolation/TildePc.lean:52
def stepSign (b : Bool) : ℤ := if b then 1 else -1
MathlibExt/Probability/Percolation/TildePc.lean:56
Uses 4 · Used by 6
DefinitionEdges of a lattice path encoded by a step sequence#✓fully proved
The k-th edge {vertOf g k, vertOf g (k + 1)} of the path encoded by g.
def edgeOf (g : ℕ → Fin d × Bool) (k : ℕ) : Sym2 (Site d) :=
s(vertOf g k, vertOf g (k + 1))
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def vertOf (g : ℕ → Fin d × Bool) : ℕ → Site d
| 0 => origin d
| (k + 1) => coordShift (vertOf g k) (g k).1 (stepSign (g k).2)
MathlibExt/Probability/Percolation/PcNontrivial.lean:148
Uses 2 · Used by 8
DefinitionEvent that an encoded lattice path is open#✓fully proved
The event that the first n edges of the path encoded by g are open.
def wordEvent (g : ℕ → Fin d × Bool) (n : ℕ) : Set (ConfigSpace (Sym2 (Site d))) :=
{ω | ∀ k ∈ Finset.range n, ω (edgeOf g k) = true}
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 edgeOf (g : ℕ → Fin d × Bool) (k : ℕ) : Sym2 (Site d) :=
s(vertOf g k, vertOf g (k + 1))
MathlibExt/Probability/Percolation/PcNontrivial.lean:156
Uses 3 · Used by 11
DefinitionSelf-avoiding initial segment of an encoded lattice path#✓fully proved
The first n + 1 vertices of the path encoded by g are distinct.
def goodWord (g : ℕ → Fin d × Bool) (n : ℕ) : Prop :=
Set.InjOn (vertOf g) (Finset.range (n + 1))
def vertOf (g : ℕ → Fin d × Bool) : ℕ → Site d
| 0 => origin d
| (k + 1) => coordShift (vertOf g k) (g k).1 (stepSign (g k).2)
MathlibExt/Probability/Percolation/PcNontrivial.lean:148
Uses 2 · Used by 8
DefinitionStep directions of an open walk from the origin#✓fully proved
The direction (i, ±) of the k-th step of an open walk from the origin (arbitrary past its
end).
noncomputable def dirOf (hd : 0 < d) {ω : ConfigSpace (Sym2 (Site d))} {v : Site d}
(q : (openSubgraph d ω).Walk (origin d) v) (k : ℕ) : Fin d × Bool := by
classical
exact if hk : k < q.length then
((adj_exists_dir (openSubgraph_le ω (q.adj_getVert_succ hk))).choose,
(adj_exists_dir (openSubgraph_le ω (q.adj_getVert_succ hk))).choose_spec.choose)
else (⟨0, hd⟩, false)
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 openSubgraph (d : ℕ) (ω : ConfigSpace (Sym2 (Site d))) : SimpleGraph (Site d) where
Adj x y := IsOpenEdge d ω x y
symm := ⟨fun _ _ h => isOpenEdge_symm h⟩
loopless := ⟨fun x h => isOpenEdge_irrefl x h⟩
MathlibExt/Combinatorics/SimpleGraph/Lattice/Clusters.lean:61
def origin (d : ℕ) : Site d := fun _ => 0
MathlibExt/Probability/Percolation/Theta.lean:56
Uses 7 · Used by 2
TheoremPositivity of the critical probability (Hammersley's bound)#✓fully proved
p_c(d) > 0 for bond percolation on ℤ^d, d ≥ 1 (Hammersley 1957, by counting paths:
p_c(d) ≥ 1/(2d)).
theorem pc_pos (hd : 0 < d) : 0 < pc d
noncomputable def pc (d : ℕ) : ℝ≥0 :=
sSup (subcriticalSet d)
MathlibExt/Probability/Percolation/Theta.lean:76
Uses 21 · Used by 2
DefinitionPeierls series bounding closed dual circuits#✓fully proved
The Peierls series ∑_ℓ ℓ 4^ℓ (1 - p)^ℓ bounding the probability of a closed dual circuit
around the origin.
noncomputable def pcUpperBound (p : ℝ) : ℝ :=
∑' ℓ : ℕ, (ℓ : ℝ) * (4 : ℝ) ^ ℓ * (1 - p) ^ ℓ
DefinitionGeometric ratio of the Peierls series#✓fully proved
The ratio 4(1 - p) of the geometric part of pcUpperBound.
noncomputable def pcRatio (p : ℝ) : ℝ := 4 * (1 - p)
DefinitionPeierls contour bound on the percolation probability#✓fully proved
The Peierls contour bound 1 - θ_2(p) ≤ pcUpperBound p at density p.
def PcContourBound (p : ℝ≥0) (hp : p ≤ 1) : Prop :=
1 - theta 2 p hp ≤ pcUpperBound (p : ℝ)
noncomputable def theta (d : ℕ) (p : ℝ≥0) (hp : p ≤ 1) : ℝ :=
(bernoulliProductMeasure (E := Sym2 (Site d)) p hp).real (percolationEvent d)
MathlibExt/Probability/Percolation/Theta.lean:64
noncomputable def pcUpperBound (p : ℝ) : ℝ :=
∑' ℓ : ℕ, (ℓ : ℝ) * (4 : ℝ) ^ ℓ * (1 - p) ^ ℓ
MathlibExt/Probability/Percolation/PcUpper.lean:59
Uses 2 · Used by 1
Theorem\(p_c(2) < 1\) from the Peierls contour bound#✓fully proved
p_c(2) < 1, assuming the Peierls contour bound PcContourBound for all p above some
p₀ < 1.
theorem pc_lt_one
(hGeom : ∃ p₀ : ℝ, p₀ < 1 ∧
∀ (p : ℝ≥0) (hp : p ≤ 1), (p₀ : ℝ) < (p : ℝ) → PcContourBound p hp) :
pc 2 < 1
def PcContourBound (p : ℝ≥0) (hp : p ≤ 1) : Prop :=
1 - theta 2 p hp ≤ pcUpperBound (p : ℝ)
MathlibExt/Probability/Percolation/PcUpper.lean:143
noncomputable def pc (d : ℕ) : ℝ≥0 :=
sSup (subcriticalSet d)
MathlibExt/Probability/Percolation/Theta.lean:76
DefinitionPrimal edges crossed by a dual walk#✓fully proved
The set of primal edges crossed by the darts of a walk c in the dual (face) lattice.
noncomputable def primalEdgeFinset {u v : Site 2} (c : (hypercubicLattice 2).Walk u v) :
Finset (Sym2 (Site 2)) :=
(c.darts.map (fun D => sharedPrimalEdge D.fst D.snd)).toFinset
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
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 3 · Used by 1
DefinitionEvent that a dual circuit is closed#✓fully proved
The event that every primal edge crossed by the dual walk c is closed.
def closedCircuitEvent {u v : Site 2} (c : (hypercubicLattice 2).Walk u v) :
Set (ConfigSpace (Sym2 (Site 2))) :=
{ω | ∀ D ∈ c.darts, ω (sharedPrimalEdge D.fst D.snd) = 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
DefinitionAnchor sites for dual circuits#✓fully proved
The 2ℓ anchor sites (j, 0) and (j, -1), 0 ≤ j < ℓ.
noncomputable def anchorFinset (ℓ : ℕ) : Finset (Site 2) :=
((Finset.range ℓ).image (fun j : ℕ => (![ (j : ℤ), 0] : Site 2))) ∪
((Finset.range ℓ).image (fun j : ℕ => (![ (j : ℤ), -1] : Site 2)))
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
Uses 1 · Used by 11
DefinitionAnchored dual cycles of a given length#✓fully proved
The finite set of dual cycles of length ℓ based at an anchor site of anchorFinset ℓ.
noncomputable def cyclesAtLen (ℓ : ℕ) :
Finset (Σ u : Site 2, (hypercubicLattice 2).Walk u u) :=
(anchorFinset ℓ).sigma
(fun u => ((hypercubicLattice 2).finsetWalkLength ℓ u u).filter (·.IsCycle))
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
noncomputable def anchorFinset (ℓ : ℕ) : Finset (Site 2) :=
((Finset.range ℓ).image (fun j : ℕ => (![ (j : ℤ), 0] : Site 2))) ∪
((Finset.range ℓ).image (fun j : ℕ => (![ (j : ℤ), -1] : Site 2)))
MathlibExt/Probability/Percolation/PcUpperEnclosure.lean:171
DefinitionSummand of the anchored Peierls series#✓fully proved
The summand 2ℓ · 4^ℓ · (1 - p)^ℓ.
noncomputable def pcSummandTwo (p : ℝ) (ℓ : ℕ) : ℝ := (2 * ℓ * 4 ^ ℓ : ℕ) * ((1 - p) ^ ℓ)
Used by 1
DefinitionAnchored dual-circuit enclosure property#✓fully proved
Every finite cluster of the origin is enclosed by a cycle of its face-boundary graph based at
an anchor site of anchorFinset ℓ, where ℓ is the cycle length.
def PcAnchoredEnclosure : Prop :=
∀ ω : ConfigSpace (Sym2 (Site 2)), (cluster 2 ω (origin 2)).Finite →
∃ (u : Site 2) (c : (faceBoundaryGraph (cluster 2 ω (origin 2))).Walk u u),
c.IsCycle ∧ u ∈ anchorFinset c.length
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
def faceBoundaryGraph (S : Set (Site 2)) : SimpleGraph (Site 2) where
Adj f g := (hypercubicLattice 2).Adj f g ∧ bdEdge S (sharedPrimalEdge f g)
symm := by
refine ⟨fun f g ⟨hadj, hbd⟩ => ?_⟩
refine ⟨hadj.symm, ?_⟩
rwa [← sharedPrimalEdge_comm_of_adj hadj]
loopless := by
refine ⟨fun f h => ?_⟩
exact (hypercubicLattice 2).irrefl h.1
MathlibExt/Combinatorics/SimpleGraph/Lattice/JordanEnclosure.lean:297
noncomputable def anchorFinset (ℓ : ℕ) : Finset (Site 2) :=
((Finset.range ℓ).image (fun j : ℕ => (![ (j : ℤ), 0] : Site 2))) ∪
((Finset.range ℓ).image (fun j : ℕ => (![ (j : ℤ), -1] : Site 2)))
MathlibExt/Probability/Percolation/PcUpperEnclosure.lean:171
Uses 6 · Used by 5
Theorem\(p_c(2) < 1\) from anchored dual-circuit enclosure#✓fully proved
p_c(2) < 1, assuming the anchored enclosure property PcAnchoredEnclosure.
theorem pc_lt_one_of_enclosure (henc : PcAnchoredEnclosure) : pc 2 < 1
def PcAnchoredEnclosure : Prop :=
∀ ω : ConfigSpace (Sym2 (Site 2)), (cluster 2 ω (origin 2)).Finite →
∃ (u : Site 2) (c : (faceBoundaryGraph (cluster 2 ω (origin 2))).Walk u u),
c.IsCycle ∧ u ∈ anchorFinset c.length
MathlibExt/Probability/Percolation/PcUpperEnclosure.lean:271
noncomputable def pc (d : ℕ) : ℝ≥0 :=
sSup (subcriticalSet d)
MathlibExt/Probability/Percolation/Theta.lean:76
Uses 34 · Used by 4
LemmaBernoulli product pulled back along an injection is Bernoulli#✓fully proved
Pulling a Bernoulli product configuration back along an injective map f : I → E gives the
Bernoulli product measure on I. See also MeasureTheory.Measure.infinitePi_map_restrict' for
the case of a subset.
lemma bernoulliProduct_map_injective_restrict
{I E : Type*} [Countable I] [Countable E]
(p : ℝ≥0) (hp : p ≤ 1) (f : I → E) (hf : Function.Injective f) :
Measure.map (fun (omega : ConfigSpace E) (i : I) => omega (f i))
(bernoulliProductMeasure (E := E) p hp) =
bernoulliProductMeasure (E := I) p hp
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def bernoulliProductMeasure (p : ℝ≥0) (hp : p ≤ 1) :
Measure (ConfigSpace E) :=
Measure.infinitePi (fun _ : E => bernoulliMeasure p hp)
MathlibExt/Probability/Configuration/ProductMeasure.lean:85
Lemma\(q = 1\) probability of an edge pattern is its Bernoulli weight#✓fully proved
The q = 1 random-cluster probability of a given pattern on the graph edges is its Bernoulli
weight.
lemma fkProbOne_pattern (p : ℝ) (eta : ConfigSpace ↥G.edgeFinset) :
∑ omega : ConfigSpace (Sym2 V),
(if G.edgeFinset.restrict omega = eta then (1 : ℝ) else 0) *
fkProb G p 1 omega = configWeight p eta
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def fkProb (p q : ℝ) (ω : ConfigSpace (Sym2 V)) : ℝ :=
fkWeight G p q ω / fkZ G p q
PhyslibExt/StatisticalMechanics/RandomCluster/RandomCluster.lean:172
noncomputable def configWeight (p : ℝ) (ω : ConfigSpace E) : ℝ :=
∏ e, edgeWeight p ω e
MathlibExt/Probability/CorrelationInequalities/Russo.lean:69
Uses 9 · Used by 1
Lemma\(q = 1\) measure equals Bernoulli percolation on graph-edge events#✓fully proved
The q = 1 random-cluster measure on a finite graph agrees with Bernoulli percolation on events
that depend only on the graph edges.
lemma fkProbOne_event_eq_bernoulli {p : ℝ} (hp : 0 < p) (hp1 : p < 1)
(A : Set (ConfigSpace (Sym2 V)))
(hA : _root_.DependsOn (A.indicator (fun _ => (1 : ℝ)))
(G.edgeFinset : Set (Sym2 V))) :
∑ omega : ConfigSpace (Sym2 V),
A.indicator (fun _ => (1 : ℝ)) omega * fkProb G p 1 omega =
(bernoulliProductMeasure (E := Sym2 V) ⟨p, hp.le⟩
(by exact_mod_cast hp1.le)).real A
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def fkProb (p q : ℝ) (ω : ConfigSpace (Sym2 V)) : ℝ :=
fkWeight G p q ω / fkZ G p q
PhyslibExt/StatisticalMechanics/RandomCluster/RandomCluster.lean:172
noncomputable def bernoulliProductMeasure (p : ℝ≥0) (hp : p ≤ 1) :
Measure (ConfigSpace E) :=
Measure.infinitePi (fun _ : E => bernoulliMeasure p hp)
MathlibExt/Probability/Configuration/ProductMeasure.lean:85
Uses 7 · Used by 5
LemmaConnection to the boundary depends only on graph edges#✓fully proved
The event that x is connected to the boundary depends only on the graph edges.
lemma connToBdryEvent_dependsOn (G : SimpleGraph V) [DecidableRel G.Adj]
(bdry : V → Prop) (x : V) :
_root_.DependsOn
({omega : ConfigSpace (Sym2 V) |
IsingFK.ConnToBdry G bdry omega x}.indicator (fun _ => (1 : ℝ)))
(G.edgeFinset : Set (Sym2 V))
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def ConnToBdry (ω : ConfigSpace (Sym2 V)) (x : V) : Prop :=
∃ y, bdry y ∧ Connected G ω x y
PhyslibExt/CondensedMatter/IsingModel/FKRepresentation/FvES.lean:115
Uses 4 · Used by 5
LemmaBernoulli percolation restricted to a box is Bernoulli on the box#✓fully proved
Restricting Bernoulli percolation on ℤ^d to the box gives Bernoulli percolation on the box.
lemma bernoulliProduct_map_boxRestrict (p : ℝ≥0) (hp : p ≤ 1) (n : ℕ) :
Measure.map (boxRestrict d n)
(bernoulliProductMeasure (E := Sym2 (Site d)) p hp) =
bernoulliProductMeasure (E := Sym2 (boxVerts d n)) p hp
def boxRestrict (d n : ℕ) (ω : ConfigSpace (Sym2 (Site d))) :
ConfigSpace (Sym2 (boxVerts d n)) :=
fun eb => ω (edgeIncl d n eb)
PhyslibExt/StatisticalMechanics/RandomCluster/TwoPointInfinite.lean:127
noncomputable def bernoulliProductMeasure (p : ℝ≥0) (hp : p ≤ 1) :
Measure (ConfigSpace E) :=
Measure.infinitePi (fun _ : E => bernoulliMeasure p hp)
MathlibExt/Probability/Configuration/ProductMeasure.lean:85
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
Uses 8 · Used by 1
LemmaBernoulli box cylinder probability equals its probability on the box#✓fully proved
The Bernoulli probability of a box cylinder event equals its probability on the box.
lemma bernoulliProduct_boxRestrict_preimage (p : ℝ≥0) (hp : p ≤ 1)
(n : ℕ) (A : Set (ConfigSpace (Sym2 (boxVerts d n)))) :
(bernoulliProductMeasure (E := Sym2 (Site d)) p hp).real
(boxRestrict d n ⁻¹' A) =
(bernoulliProductMeasure (E := Sym2 (boxVerts d n)) p hp).real A
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev boxVerts (d n : ℕ) : Type := {x : Site d // x ∈ box d n}
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:131
noncomputable def bernoulliProductMeasure (p : ℝ≥0) (hp : p ≤ 1) :
Measure (ConfigSpace E) :=
Measure.infinitePi (fun _ : E => bernoulliMeasure p hp)
MathlibExt/Probability/Configuration/ProductMeasure.lean:85
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def boxRestrict (d n : ℕ) (ω : ConfigSpace (Sym2 (Site d))) :
ConfigSpace (Sym2 (boxVerts d n)) :=
fun eb => ω (edgeIncl d n eb)
PhyslibExt/StatisticalMechanics/RandomCluster/TwoPointInfinite.lean:127
Uses 8 · Used by 6
LemmaWired \(q = 2\) origin-to-boundary probability at most Bernoulli#✓fully proved
The wired q = 2 box measure of "the origin is connected to the box boundary" is at most its
Bernoulli probability.
lemma wiredFinite_boxBdryConnEvent_le_bernoulli
(p : ℝ≥0) (hp0 : 0 < p) (hp1 : p < 1) (n : ℕ) :
(wiredFiniteMeasure d n (p := (p : ℝ)) (by exact_mod_cast hp0) (by exact_mod_cast hp1)
(by norm_num : (0 : ℝ) < 2) :
Measure (ConfigSpace (Sym2 (Site d)))).real (boxBdryConnEvent d n) ≤
(bernoulliProductMeasure (E := Sym2 (Site d)) p hp1.le).real
(boxBdryConnEvent d n)
noncomputable def wiredFiniteMeasure (d n : ℕ) {p q : ℝ}
(hp : 0 < p) (hp1 : p < 1) (hq : 0 < q) :
ProbabilityMeasure (ConfigSpace (Sym2 (Site d))) :=
⟨((wiredFkPMF (boxGraph d n) (boxBoundary d n) hp hp1 hq).toMeasure).map (extendEdge d n),
inferInstance⟩
PhyslibExt/StatisticalMechanics/RandomCluster/InfiniteVolume.lean:187
Uses 22 · Used by 1
LemmaWired \(q = 2\) percolation probability at most the Bernoulli one#✓fully proved
The wired q = 2 percolation probability is at most the Bernoulli one: θ¹(p, 2) ≤ θ(p).
lemma fkTheta_two_le_bernoulliTheta
(p : ℝ≥0) (hp0 : 0 < p) (hp1 : p < 1) :
fkTheta d (p := (p : ℝ)) (by exact_mod_cast hp0) (by exact_mod_cast hp1)
(by norm_num : (0 : ℝ) < 2) (q := 2) ≤
Percolation.theta d p hp1.le
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 12 · Used by 5
DefinitionPlane embedding of \(\mathbb{Z}^2\) into \(\mathbb{Z}^{2+k}\)#✓fully proved
The embedding of ℤ² into ℤ^{2+k} as the plane of the first two coordinates.
def pcv_siteEmbed (k : ℕ) (x : Site 2) : Site (2 + k) :=
Fin.addCases x (fun _ => 0)
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
Uses 1 · Used by 9
LemmaFirst two coordinates of an embedded site are the original ones#✓fully proved
The first two coordinates of an embedded site.
@[simp] lemma pcv_siteEmbed_castAdd (k : ℕ) (x : Site 2) (i : Fin 2) :
pcv_siteEmbed k x (Fin.castAdd k i) = x i
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def pcv_siteEmbed (k : ℕ) (x : Site 2) : Site (2 + k) :=
Fin.addCases x (fun _ => 0)
PhyslibExt/StatisticalMechanics/RandomCluster/PcUpperViaFK.lean:371
LemmaLast \(k\) coordinates of an embedded site vanish#✓fully proved
The last k coordinates of an embedded site vanish.
@[simp] lemma pcv_siteEmbed_natAdd (k : ℕ) (x : Site 2) (i : Fin k) :
pcv_siteEmbed k x (Fin.natAdd 2 i) = 0
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def pcv_siteEmbed (k : ℕ) (x : Site 2) : Site (2 + k) :=
Fin.addCases x (fun _ => 0)
PhyslibExt/StatisticalMechanics/RandomCluster/PcUpperViaFK.lean:371
Uses 2 · Used by 2
LemmaInjectivity of the plane embedding#✓fully proved
The plane embedding is injective.
lemma pcv_siteEmbed_injective (k : ℕ) : Function.Injective (pcv_siteEmbed k)
def pcv_siteEmbed (k : ℕ) (x : Site 2) : Site (2 + k) :=
Fin.addCases x (fun _ => 0)
PhyslibExt/StatisticalMechanics/RandomCluster/PcUpperViaFK.lean:371
Uses 3 · Used by 2
LemmaPlane embedding preserves and reflects adjacency#✓fully proved
The plane embedding preserves and reflects lattice adjacency.
lemma pcv_siteEmbed_adj_iff (k : ℕ) (x y : Site 2) :
(hypercubicLattice (2 + k)).Adj (pcv_siteEmbed k x) (pcv_siteEmbed k y) ↔
(hypercubicLattice 2).Adj x y
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 pcv_siteEmbed (k : ℕ) (x : Site 2) : Site (2 + k) :=
Fin.addCases x (fun _ => 0)
PhyslibExt/StatisticalMechanics/RandomCluster/PcUpperViaFK.lean:371
DefinitionPlane embedding on edges#✓fully proved
The plane embedding on edges.
def pcv_edgeEmbed (k : ℕ) : Sym2 (Site 2) → Sym2 (Site (2 + k)) :=
Sym2.map (pcv_siteEmbed k)
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def pcv_siteEmbed (k : ℕ) (x : Site 2) : Site (2 + k) :=
Fin.addCases x (fun _ => 0)
PhyslibExt/StatisticalMechanics/RandomCluster/PcUpperViaFK.lean:371
Uses 2 · Used by 4
LemmaInjectivity of the plane embedding on edges#✓fully proved
The plane embedding on edges is injective.
lemma pcv_edgeEmbed_injective (k : ℕ) : Function.Injective (pcv_edgeEmbed k)
def pcv_edgeEmbed (k : ℕ) : Sym2 (Site 2) → Sym2 (Site (2 + k)) :=
Sym2.map (pcv_siteEmbed k)
PhyslibExt/StatisticalMechanics/RandomCluster/PcUpperViaFK.lean:399
Uses 4 · Used by 1
DefinitionRestriction of a configuration to the embedded plane#✓fully proved
Restrict a configuration on ℤ^{2+k} to the embedded plane.
def pcv_planeRestrict (k : ℕ)
(omega : ConfigSpace (Sym2 (Site (2 + k)))) : ConfigSpace (Sym2 (Site 2)) :=
fun e => omega (pcv_edgeEmbed k e)
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 pcv_edgeEmbed (k : ℕ) : Sym2 (Site 2) → Sym2 (Site (2 + k)) :=
Sym2.map (pcv_siteEmbed k)
PhyslibExt/StatisticalMechanics/RandomCluster/PcUpperViaFK.lean:399
Uses 3 · Used by 4
LemmaBernoulli percolation restricted to the plane is planar Bernoulli#✓fully proved
Restricting Bernoulli percolation on ℤ^{2+k} to the plane gives Bernoulli percolation on ℤ².
lemma bernoulliProduct_map_planeRestrict (k : ℕ) (p : ℝ≥0) (hp : p ≤ 1) :
Measure.map (pcv_planeRestrict k)
(bernoulliProductMeasure (E := Sym2 (Site (2 + k))) p hp) =
bernoulliProductMeasure (E := Sym2 (Site 2)) p hp
def pcv_planeRestrict (k : ℕ)
(omega : ConfigSpace (Sym2 (Site (2 + k)))) : ConfigSpace (Sym2 (Site 2)) :=
fun e => omega (pcv_edgeEmbed k e)
PhyslibExt/StatisticalMechanics/RandomCluster/PcUpperViaFK.lean:407
noncomputable def bernoulliProductMeasure (p : ℝ≥0) (hp : p ≤ 1) :
Measure (ConfigSpace E) :=
Measure.infinitePi (fun _ : E => bernoulliMeasure p hp)
MathlibExt/Probability/Configuration/ProductMeasure.lean:85
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
Uses 7 · Used by 1
LemmaPlane embedding fixes the origin#✓fully proved
The plane embedding sends the origin to the origin.
@[simp] lemma pcv_siteEmbed_origin (k : ℕ) :
pcv_siteEmbed k (origin 2) = origin (2 + k)
def pcv_siteEmbed (k : ℕ) (x : Site 2) : Site (2 + k) :=
Fin.addCases x (fun _ => 0)
PhyslibExt/StatisticalMechanics/RandomCluster/PcUpperViaFK.lean:371
def origin (d : ℕ) : Site d := fun _ => 0
MathlibExt/Probability/Percolation/Theta.lean:56
LemmaPlane open connections are open connections in \(\mathbb{Z}^{2+k}\)#✓fully proved
Open connections in the restricted plane configuration are open connections in ℤ^{2+k}.
lemma pcv_connected_of_planeRestrict (k : ℕ)
(omega : ConfigSpace (Sym2 (Site (2 + k)))) {x y : Site 2}
(h : Lattice.Connected 2 (pcv_planeRestrict k omega) x y) :
Lattice.Connected (2 + k) omega (pcv_siteEmbed k x) (pcv_siteEmbed k y)
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 Connected (d : ℕ) (ω : ConfigSpace (Sym2 (Site d))) (x y : Site d) : Prop :=
(openSubgraph d ω).Reachable x y
MathlibExt/Combinatorics/SimpleGraph/Lattice/Clusters.lean:75
def pcv_planeRestrict (k : ℕ)
(omega : ConfigSpace (Sym2 (Site (2 + k)))) : ConfigSpace (Sym2 (Site 2)) :=
fun e => omega (pcv_edgeEmbed k e)
PhyslibExt/StatisticalMechanics/RandomCluster/PcUpperViaFK.lean:407
def pcv_siteEmbed (k : ℕ) (x : Site 2) : Site (2 + k) :=
Fin.addCases x (fun _ => 0)
PhyslibExt/StatisticalMechanics/RandomCluster/PcUpperViaFK.lean:371
Uses 8 · Used by 1
LemmaPercolation in the plane implies percolation in \(\mathbb{Z}^{2+k}\)#✓fully proved
Percolation in the plane implies percolation in ℤ^{2+k}.
lemma pcv_plane_percolation_subset (k : ℕ) :
pcv_planeRestrict k ⁻¹' percolationEvent 2 ⊆ percolationEvent (2 + k)
def pcv_planeRestrict (k : ℕ)
(omega : ConfigSpace (Sym2 (Site (2 + k)))) : ConfigSpace (Sym2 (Site 2)) :=
fun e => omega (pcv_edgeEmbed k e)
PhyslibExt/StatisticalMechanics/RandomCluster/PcUpperViaFK.lean:407
def percolationEvent (d : ℕ) : Set (ConfigSpace (Sym2 (Site d))) :=
{ω | (StatMech.Lattice.cluster d ω (origin d)).Infinite}
MathlibExt/Probability/Percolation/Theta.lean:59
Uses 11 · Used by 1
Lemma\(\theta_2(p) \le \theta_{2+k}(p)\) for Bernoulli percolation#✓fully proved
The Bernoulli percolation probability does not decrease with the dimension: θ_2(p) ≤
θ_{2+k}(p).
lemma theta_two_le_theta_add (k : ℕ) (p : ℝ≥0) (hp : p ≤ 1) :
theta 2 p hp ≤ theta (2 + k) p hp
noncomputable def theta (d : ℕ) (p : ℝ≥0) (hp : p ≤ 1) : ℝ :=
(bernoulliProductMeasure (E := Sym2 (Site d)) p hp).real (percolationEvent d)
MathlibExt/Probability/Percolation/Theta.lean:64
Uses 11 · Used by 5
LemmaMonotonicity in \(p\) of the Bernoulli percolation probability#✓fully proved
The Bernoulli percolation probability θ_d(p) is monotone in p.
lemma theta_mono_parameter {p q : ℝ≥0} (hp : p ≤ 1) (hq : q ≤ 1)
(hpq : p ≤ q) : theta d p hp ≤ theta d q hq
noncomputable def theta (d : ℕ) (p : ℝ≥0) (hp : p ≤ 1) : ℝ :=
(bernoulliProductMeasure (E := Sym2 (Site d)) p hp).real (percolationEvent d)
MathlibExt/Probability/Percolation/Theta.lean:64
Uses 20 · Used by 1
LemmaPositive percolation at \(p\) gives \(p_c(d) \le p\)#✓fully proved
Positive percolation probability at p gives p_c(d) ≤ p.
lemma pc_le_of_theta_pos (p : ℝ≥0) (hp : p ≤ 1)
(hpos : 0 < theta d p hp) : pc d ≤ p
noncomputable def theta (d : ℕ) (p : ℝ≥0) (hp : p ≤ 1) : ℝ :=
(bernoulliProductMeasure (E := Sym2 (Site d)) p hp).real (percolationEvent d)
MathlibExt/Probability/Percolation/Theta.lean:64
noncomputable def pc (d : ℕ) : ℝ≥0 :=
sSup (subcriticalSet d)
MathlibExt/Probability/Percolation/Theta.lean:76
LemmaPositive planar percolation at some \(p < 1\) via the Ising model#✓fully proved
There is p < 1 with θ_2(p) > 0, from spontaneous magnetization of the two-dimensional Ising
model.
lemma exists_theta_two_pos_below_one :
∃ (p : ℝ≥0) (hp1 : p < 1), 0 < theta 2 p hp1.le
noncomputable def theta (d : ℕ) (p : ℝ≥0) (hp : p ≤ 1) : ℝ :=
(bernoulliProductMeasure (E := Sym2 (Site d)) p hp).real (percolationEvent d)
MathlibExt/Probability/Percolation/Theta.lean:64
Uses 65 · Used by 2
LemmaBernoulli critical probability on \(\mathbb{Z}^2\) is below one#✓fully proved
The Bernoulli critical probability on ℤ² is below 1.
lemma pc_two_lt_one_via_fk : pc 2 < 1
noncomputable def pc (d : ℕ) : ℝ≥0 :=
sSup (subcriticalSet d)
MathlibExt/Probability/Percolation/Theta.lean:76
LemmaNontrivial Bernoulli critical probability on \(\mathbb{Z}^2\)#✓fully proved
0 < p_c(2) < 1.
LemmaBernoulli critical probability below one for \(d \ge 2\)#✓fully proved
The Bernoulli critical probability on ℤ^d is below 1 for d ≥ 2.
lemma pc_lt_one_of_two_le_via_fk {d : ℕ} (hd : 2 ≤ d) : pc d < 1
noncomputable def pc (d : ℕ) : ℝ≥0 :=
sSup (subcriticalSet d)
MathlibExt/Probability/Percolation/Theta.lean:76
TheoremNon-triviality of the percolation critical probability#✓fully proved
For Bernoulli bond percolation
on ℤ^d with d ≥ 2, 0 < p_c(d) < 1.
Reference: S. R. Broadbent and J. M. Hammersley, Percolation processes I, Proc. Cambridge Philos. Soc. 53 (1957); G. Grimmett, Percolation, 2nd ed. (1999), Theorem 1.10.
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.