Reimer's inequality: statement, reductions, and the monotone cases
DefinitionReimer's inequality#✓fully proved
Reimer's inequality (the van den Berg–Kesten conjecture, proved by Reimer 2000) for
product probability weights on Fin n: for every n, every weight φ with φ ≥ 0 and
φ i false + φ i true = 1, and all events A, B, wprob φ (A □ B) ≤ wprob φ A * wprob φ B.
def ReimerWprobCore : Prop :=
∀ (n : ℕ) (φ : Fin n → Bool → ℝ),
(∀ i b, 0 ≤ φ i b) → (∀ i, φ i false + φ i true = 1) →
∀ (A B : Set (ConfigSpace (Fin n))),
wprob φ (disjointOccurrence A B) ≤ wprob φ A * wprob φ B
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def wprob [Fintype E] [DecidableEq E] (φ : E → Bool → ℝ)
(S : Set (ConfigSpace E)) : ℝ :=
∑ ω, S.indicator (fun _ => (1 : ℝ)) ω * pweight φ ω
MathlibExt/Probability/CorrelationInequalities/BK.lean:101
def disjointOccurrence (A B : Set (ConfigSpace E)) : Set (ConfigSpace E) :=
{ω | ∃ K L : Set E, Disjoint K L ∧ OccursOn A K ω ∧ OccursOn B L ω}
MathlibExt/Probability/CorrelationInequalities/DisjointOccurrence.lean:92
Uses 3 · Used by 3
TheoremReimer's inequality for product weights, assuming the core case#✓fully proved
Reimer's inequality for product probability weights on any finite set, assuming
ReimerWprobCore.
theorem reimer_wprob_general_of_core (h : ReimerWprobCore) [Fintype E] [DecidableEq E]
(φ : E → Bool → ℝ) (hφ0 : ∀ x b, 0 ≤ φ x b) (hφ1 : ∀ x, φ x false + φ x true = 1)
(A B : Set (ConfigSpace E)) :
wprob φ (disjointOccurrence A B) ≤ wprob φ A * wprob φ B
def ReimerWprobCore : Prop :=
∀ (n : ℕ) (φ : Fin n → Bool → ℝ),
(∀ i b, 0 ≤ φ i b) → (∀ i, φ i false + φ i true = 1) →
∀ (A B : Set (ConfigSpace (Fin n))),
wprob φ (disjointOccurrence A B) ≤ wprob φ A * wprob φ B
MathlibExt/Probability/CorrelationInequalities/Reimer.lean:60
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def wprob [Fintype E] [DecidableEq E] (φ : E → Bool → ℝ)
(S : Set (ConfigSpace E)) : ℝ :=
∑ ω, S.indicator (fun _ => (1 : ℝ)) ω * pweight φ ω
MathlibExt/Probability/CorrelationInequalities/BK.lean:101
def disjointOccurrence (A B : Set (ConfigSpace E)) : Set (ConfigSpace E) :=
{ω | ∃ K L : Set E, Disjoint K L ∧ OccursOn A K ω ∧ OccursOn B L ω}
MathlibExt/Probability/CorrelationInequalities/DisjointOccurrence.lean:92
Uses 7 · Used by 1
TheoremReimer's inequality for Bernoulli measures, assuming the core case#✓fully proved
Reimer's inequality P_p(A □ B) ≤ P_p(A) * P_p(B) for all events under the product
Bernoulli measure on a finite set, assuming ReimerWprobCore.
theorem reimer_inequality_of_core (h : ReimerWprobCore) [Fintype E] [DecidableEq E]
{p : ℝ≥0} (hp : p ≤ 1) (A B : Set (ConfigSpace E)) :
(bernoulliProductMeasure (E := E) p hp).real (disjointOccurrence A B)
≤ (bernoulliProductMeasure (E := E) p hp).real A
* (bernoulliProductMeasure (E := E) p hp).real B
def ReimerWprobCore : Prop :=
∀ (n : ℕ) (φ : Fin n → Bool → ℝ),
(∀ i b, 0 ≤ φ i b) → (∀ i, φ i false + φ i true = 1) →
∀ (A B : Set (ConfigSpace (Fin n))),
wprob φ (disjointOccurrence A B) ≤ wprob φ A * wprob φ B
MathlibExt/Probability/CorrelationInequalities/Reimer.lean:60
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
def disjointOccurrence (A B : Set (ConfigSpace E)) : Set (ConfigSpace E) :=
{ω | ∃ K L : Set E, Disjoint K L ∧ OccursOn A K ω ∧ OccursOn B L ω}
MathlibExt/Probability/CorrelationInequalities/DisjointOccurrence.lean:92
TheoremReimer's inequality on the one-point configuration space#✓fully proved
Reimer's inequality on the one-point configuration space ConfigSpace (Fin 0).
theorem reimer_wprob_zero (φ : Fin 0 → Bool → ℝ)
(A B : Set (ConfigSpace (Fin 0))) :
wprob φ (disjointOccurrence A B) ≤ wprob φ A * wprob φ B
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def wprob [Fintype E] [DecidableEq E] (φ : E → Bool → ℝ)
(S : Set (ConfigSpace E)) : ℝ :=
∑ ω, S.indicator (fun _ => (1 : ℝ)) ω * pweight φ ω
MathlibExt/Probability/CorrelationInequalities/BK.lean:101
def disjointOccurrence (A B : Set (ConfigSpace E)) : Set (ConfigSpace E) :=
{ω | ∃ K L : Set E, Disjoint K L ∧ OccursOn A K ω ∧ OccursOn B L ω}
MathlibExt/Probability/CorrelationInequalities/DisjointOccurrence.lean:92
DefinitionFlipping every coordinate of a configuration#✓fully proved
The configuration with every coordinate flipped, x ↦ !(ω x).
def flipCfg (ω : ConfigSpace E) : ConfigSpace E := fun x => !(ω x)
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
Uses 1 · Used by 2
DefinitionCoordinate flip as an involutive equivalence#✓fully proved
Flipping all coordinates, as an involutive equivalence of ConfigSpace E.
def flipEquiv : ConfigSpace E ≃ ConfigSpace E where
toFun := flipCfg
invFun := flipCfg
left_inv := flipCfg_flipCfg
right_inv := flipCfg_flipCfg
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def flipCfg (ω : ConfigSpace E) : ConfigSpace E := fun x => !(ω x)
MathlibExt/Probability/CorrelationInequalities/Reimer.lean:118
lemma flipCfg_flipCfg (ω : ConfigSpace E) : flipCfg (flipCfg ω) = ω
MathlibExt/Probability/CorrelationInequalities/Reimer.lean:122
Uses 2 · Used by 1
TheoremBK inequality for decreasing events under product weights#✓fully proved
The BK inequality for two decreasing events under a product probability weight, obtained
from StatMech.bk_wprob_general by flipping all coordinates.
theorem bk_wprob_decreasing [Fintype E] [DecidableEq E] (φ : E → Bool → ℝ)
(hφ0 : ∀ x b, 0 ≤ φ x b) (hφ1 : ∀ x, φ x false + φ x true = 1)
{A B : Set (ConfigSpace E)} (hA : IsDecreasing A) (hB : IsDecreasing B) :
wprob φ (disjointOccurrence A B) ≤ wprob φ A * wprob φ B
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def IsDecreasing (A : Set (ConfigSpace E)) : Prop := IsLowerSet A
MathlibExt/Probability/CorrelationInequalities/IncreasingEvent.lean:59
noncomputable def wprob [Fintype E] [DecidableEq E] (φ : E → Bool → ℝ)
(S : Set (ConfigSpace E)) : ℝ :=
∑ ω, S.indicator (fun _ => (1 : ℝ)) ω * pweight φ ω
MathlibExt/Probability/CorrelationInequalities/BK.lean:101
def disjointOccurrence (A B : Set (ConfigSpace E)) : Set (ConfigSpace E) :=
{ω | ∃ K L : Set E, Disjoint K L ∧ OccursOn A K ω ∧ OccursOn B L ω}
MathlibExt/Probability/CorrelationInequalities/DisjointOccurrence.lean:92
Uses 12 · Used by 2
TheoremBK inequality for decreasing events#✓fully proved
The BK inequality for decreasing events: under the product Bernoulli(p) measure on a
finite set, P_p(A □ B) ≤ P_p(A) * P_p(B) for decreasing A, B.
theorem bk_inequality_decreasing [Fintype E] [DecidableEq E] {p : ℝ≥0} (hp : p ≤ 1)
{A B : Set (ConfigSpace E)} (hA : IsDecreasing A) (hB : IsDecreasing B) :
(bernoulliProductMeasure (E := E) p hp).real (disjointOccurrence A B)
≤ (bernoulliProductMeasure (E := E) p hp).real A
* (bernoulliProductMeasure (E := E) p hp).real B
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def IsDecreasing (A : Set (ConfigSpace E)) : Prop := IsLowerSet A
MathlibExt/Probability/CorrelationInequalities/IncreasingEvent.lean:59
noncomputable def bernoulliProductMeasure (p : ℝ≥0) (hp : p ≤ 1) :
Measure (ConfigSpace E) :=
Measure.infinitePi (fun _ : E => bernoulliMeasure p hp)
MathlibExt/Probability/Configuration/ProductMeasure.lean:85
def disjointOccurrence (A B : Set (ConfigSpace E)) : Set (ConfigSpace E) :=
{ω | ∃ K L : Set E, Disjoint K L ∧ OccursOn A K ω ∧ OccursOn B L ω}
MathlibExt/Probability/CorrelationInequalities/DisjointOccurrence.lean:92
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.