Number of infinite clusters
TheoremShift-invariant countably valued functions are a.s. constant under ergodicity#✓fully proved
A measurable function with countable values that is invariant under all shifts is almost
surely constant under an ergodic probability measure. See also Mathlib's ErgodicSMul and
aeconst_of_forall_preimage_smul_ae_eq, which state ergodicity of a group action through
a.e.-invariant sets.
theorem ergodic_ae_const_of_shiftInvariant [IsProbabilityMeasure μ]
{β : Type*} [Countable β] [MeasurableSpace β] [MeasurableSingletonClass β]
(herg : IsErgodic (G := G) μ)
(f : ConfigSpace E → β) (hf : Measurable f)
(hinv : ∀ (g : G) (ω : ConfigSpace E), f (shift g ω) = f ω) :
∃ k : β, μ {ω | f ω = k} = 1
def IsErgodic (μ : Measure (ConfigSpace E)) : Prop :=
IsTranslationInvariant (G := G) μ ∧
∀ s : Set (ConfigSpace E), MeasurableSet s →
(∀ g : G, (shift g : ConfigSpace E → ConfigSpace E) ⁻¹' s = s) →
μ s = 0 ∨ μ s = μ Set.univ
MathlibExt/Probability/Configuration/Ergodicity.lean:95
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def shift (g : G) (ω : ConfigSpace E) : ConfigSpace E := fun e => ω (g⁻¹ • e)
MathlibExt/Probability/Configuration/Ergodicity.lean:54
DefinitionTranslation of the open subgraph as a graph homomorphism#✓fully proved
Translation by g as a graph homomorphism between the open subgraphs of ω and of its
shift.
def translateHom (g : Multiplicative (Site d)) (ω : ConfigSpace (Sym2 (Site d))) :
openSubgraph d ω →g openSubgraph d (shift g ω) where
toFun x := g • x
map_rel' {x y} h := (openSubgraph_adj_shift g ω x y).mpr h
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 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 shift (g : G) (ω : ConfigSpace E) : ConfigSpace E := fun e => ω (g⁻¹ • e)
MathlibExt/Probability/Configuration/Ergodicity.lean:54
lemma openSubgraph_adj_shift (g : Multiplicative (Site d))
(ω : ConfigSpace (Sym2 (Site d))) (x y : Site d) :
(openSubgraph d (shift g ω)).Adj (g • x) (g • y) ↔ (openSubgraph d ω).Adj x y
MathlibExt/Probability/Percolation/InfiniteClusterCount.lean:155
DefinitionInverse translation of the open subgraph#✓fully proved
The inverse of translateHom.
def translateHomInv (g : Multiplicative (Site d)) (ω : ConfigSpace (Sym2 (Site d))) :
openSubgraph d (shift g ω) →g openSubgraph d ω where
toFun a := g⁻¹ • a
map_rel' {a b} h := by
have h' := (openSubgraph_adj_shift g ω (g⁻¹ • a) (g⁻¹ • b)).mp
simp only [smul_inv_smul] at h'
exact h' h
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 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 shift (g : G) (ω : ConfigSpace E) : ConfigSpace E := fun e => ω (g⁻¹ • e)
MathlibExt/Probability/Configuration/Ergodicity.lean:54
DefinitionSet of infinite open clusters#✓fully proved
The set of infinite open clusters of ω.
def infiniteClusters (d : ℕ) (ω : ConfigSpace (Sym2 (Site d))) : Set (Set (Site d)) :=
{C | C.Infinite ∧ ∃ x, C = cluster d ω x}
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
Uses 3 · Used by 3
DefinitionNumber of infinite open clusters#✓fully proved
The number N(ω) ∈ ℕ∞ of infinite open clusters of ω.
noncomputable def numInfiniteClusters (d : ℕ) (ω : ConfigSpace (Sym2 (Site d))) : ℕ∞ :=
(infiniteClusters d ω).encard
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 infiniteClusters (d : ℕ) (ω : ConfigSpace (Sym2 (Site d))) : Set (Set (Site d)) :=
{C | C.Infinite ∧ ∃ x, C = cluster d ω x}
MathlibExt/Probability/Percolation/InfiniteClusterCount.lean:205
Uses 3 · Used by 6
TheoremMeasurability of the one-arm event#✓fully proved
The one-arm event crossingEvent d n (the origin is connected to a site outside
box d (n - 1)) is measurable.
theorem measurableSet_crossingEvent (n : ℕ) : MeasurableSet (crossingEvent d n)
def crossingEvent (d n : ℕ) : Set (ConfigSpace (Sym2 (Site d))) :=
{ω | ∃ v, Connected d ω (origin d) v ∧ v ∉ box d (n - 1)}
MathlibExt/Probability/Percolation/SubcriticalDecay.lean:56
Uses 8 · Used by 7
DefinitionRepresentative sites of the infinite clusters#✓fully proved
The set of sites x in an infinite cluster that are the Encodable-least site of their
cluster (one representative per infinite cluster).
def repSet (d : ℕ) (ω : ConfigSpace (Sym2 (Site d))) : Set (Site d) :=
{x | (cluster d ω x).Infinite ∧
∀ y, Connected d ω x y → Encodable.encode x ≤ Encodable.encode 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 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 Connected (d : ℕ) (ω : ConfigSpace (Sym2 (Site d))) (x y : Site d) : Prop :=
(openSubgraph d ω).Reachable x y
MathlibExt/Combinatorics/SimpleGraph/Lattice/Clusters.lean:75
Uses 4 · Used by 1
TheoremNumber of infinite clusters is almost surely constant#✓fully proved
The number of infinite clusters is almost surely constant (Newman–Schulman 1981) for any
translation-ergodic probability measure on bond configurations of ℤ^d.
theorem numInfiniteClusters_ae_const
(μ : Measure (ConfigSpace (Sym2 (Site d)))) [IsProbabilityMeasure μ]
(herg : IsErgodic (G := Multiplicative (Site d)) μ) :
∃ k : ℕ∞, μ {ω | numInfiniteClusters d ω = k} = 1
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def IsErgodic (μ : Measure (ConfigSpace E)) : Prop :=
IsTranslationInvariant (G := G) μ ∧
∀ s : Set (ConfigSpace E), MeasurableSet s →
(∀ g : G, (shift g : ConfigSpace E → ConfigSpace E) ⁻¹' s = s) →
μ s = 0 ∨ μ s = μ Set.univ
MathlibExt/Probability/Configuration/Ergodicity.lean:95
noncomputable def numInfiniteClusters (d : ℕ) (ω : ConfigSpace (Sym2 (Site d))) : ℕ∞ :=
(infiniteClusters d ω).encard
MathlibExt/Probability/Percolation/InfiniteClusterCount.lean:209
Uses 16 · Used by 1
DefinitionEvent of at least two infinite open clusters#✓fully proved
The event that there are at least two infinite open clusters.
def atLeastTwoInfinite (d : ℕ) : Set (ConfigSpace (Sym2 (Site d))) :=
{ω | 2 ≤ numInfiniteClusters d ω}
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
noncomputable def numInfiniteClusters (d : ℕ) (ω : ConfigSpace (Sym2 (Site d))) : ℕ∞ :=
(infiniteClusters d ω).encard
MathlibExt/Probability/Percolation/InfiniteClusterCount.lean:209
Uses 3 · Used by 4
DefinitionConfiguration with a finite edge set forced open#✓fully proved
The configuration obtained from ω by opening every edge of F.
noncomputable def forceOpenFinset (F : Finset (Sym2 (Site d)))
(ω : ConfigSpace (Sym2 (Site d))) : ConfigSpace (Sym2 (Site d)) :=
fun e => if e ∈ F then true else ω e
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
DefinitionEndpoints of a finite edge set#✓fully proved
The endpoints of the edges of F.
def anchorSites (F : Finset (Sym2 (Site d))) : Set (Site d) :=
{a | ∃ e ∈ F, a ∈ e}
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
Uses 1
DefinitionConfigurations with \(k\) infinite clusters, two merged by opening \(F\)#✓fully proved
Configurations with exactly k infinite clusters in which opening F connects two distinct
infinite clusters.
def MergeWitness (d : ℕ) (F : Finset (Sym2 (Site d))) (k : ℕ∞) :
Set (ConfigSpace (Sym2 (Site d))) :=
{ω | numInfiniteClusters d ω = k ∧
∃ x y : Site d, (cluster d ω x).Infinite ∧ (cluster d ω y).Infinite ∧
cluster d ω x ≠ cluster d ω y ∧ Connected d (forceOpenFinset F ω) x y}
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def numInfiniteClusters (d : ℕ) (ω : ConfigSpace (Sym2 (Site d))) : ℕ∞ :=
(infiniteClusters d ω).encard
MathlibExt/Probability/Percolation/InfiniteClusterCount.lean:209
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 Connected (d : ℕ) (ω : ConfigSpace (Sym2 (Site d))) (x y : Site d) : Prop :=
(openSubgraph d ω).Reachable x y
MathlibExt/Combinatorics/SimpleGraph/Lattice/Clusters.lean:75
noncomputable def forceOpenFinset (F : Finset (Sym2 (Site d)))
(ω : ConfigSpace (Sym2 (Site d))) : ConfigSpace (Sym2 (Site d)) :=
fun e => if e ∈ F then true else ω e
PhyslibExt/StatisticalMechanics/RandomCluster/BurtonKeaneMerge.lean:63
DefinitionFinite energy for opening finite edge sets#✓fully proved
Finite energy for opening edges: for every finite edge set F, the law of
forceOpenFinset F ω is absolutely continuous with respect to μ.
def HasFiniteEnergyMerge (μ : Measure (ConfigSpace (Sym2 (Site d)))) : Prop :=
∀ F : Finset (Sym2 (Site d)), (μ.map (fun ω => forceOpenFinset F ω)) ≪ μ
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
noncomputable def forceOpenFinset (F : Finset (Sym2 (Site d)))
(ω : ConfigSpace (Sym2 (Site d))) : ConfigSpace (Sym2 (Site d)) :=
fun e => if e ∈ F then true else ω e
PhyslibExt/StatisticalMechanics/RandomCluster/BurtonKeaneMerge.lean:63
LemmaZero or one infinite cluster, given ergodicity and \(\mu(N \ge 2) = 0\)#✓fully proved
For an ergodic measure with μ(N ≥ 2) = 0, either a.s. N = 0 or a.s. N = 1.
lemma numInfiniteClusters_zero_or_one
(μ : Measure (ConfigSpace (Sym2 (Site d)))) [IsProbabilityMeasure μ]
(herg : IsErgodic (G := Multiplicative (Site d)) μ)
(hmerge : μ (atLeastTwoInfinite d) = 0) :
μ {ω | numInfiniteClusters d ω = 0} = 1 ∨ μ {ω | numInfiniteClusters d ω = 1} = 1
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
abbrev Site (d : ℕ) : Type := Fin d → ℤ
MathlibExt/Combinatorics/SimpleGraph/Lattice/HypercubicLattice.lean:55
def IsErgodic (μ : Measure (ConfigSpace E)) : Prop :=
IsTranslationInvariant (G := G) μ ∧
∀ s : Set (ConfigSpace E), MeasurableSet s →
(∀ g : G, (shift g : ConfigSpace E → ConfigSpace E) ⁻¹' s = s) →
μ s = 0 ∨ μ s = μ Set.univ
MathlibExt/Probability/Configuration/Ergodicity.lean:95
def atLeastTwoInfinite (d : ℕ) : Set (ConfigSpace (Sym2 (Site d))) :=
{ω | 2 ≤ numInfiniteClusters d ω}
PhyslibExt/StatisticalMechanics/RandomCluster/BurtonKeaneErgodic.lean:55
noncomputable def numInfiniteClusters (d : ℕ) (ω : ConfigSpace (Sym2 (Site d))) : ℕ∞ :=
(infiniteClusters d ω).encard
MathlibExt/Probability/Percolation/InfiniteClusterCount.lean:209
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.