Russo's formula and pivotal coordinates
DefinitionOpening a coordinate of a configuration#✓fully proved
setOpen e ω is ω with coordinate e set to true (open).
def setOpen (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e true
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
Uses 1 · Used by 61
DefinitionClosing a coordinate of a configuration#✓fully proved
setClosed e ω is ω with coordinate e set to false (closed).
def setClosed (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e false
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
Uses 1 · Used by 61
LemmaClosed configuration lies below the opened one#✓fully proved
Closing a coordinate gives a smaller configuration than opening it.
lemma setClosed_le_setOpen (e : E) (ω : ConfigSpace E) :
setClosed e ω ≤ setOpen e ω
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def setClosed (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e false
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:45
def setOpen (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e true
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:42
Uses 3 · Used by 6
LemmaOpening a coordinate depends only on the other coordinates#✓fully proved
setOpen e ω depends only on the values of ω off e.
lemma setOpen_congr {e : E} {ω ω' : ConfigSpace E}
(h : ∀ e', e' ≠ e → ω e' = ω' e') : setOpen e ω = setOpen e ω'
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def setOpen (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e true
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:42
Uses 2 · Used by 1
LemmaClosing a coordinate depends only on the other coordinates#✓fully proved
setClosed e ω depends only on the values of ω off e.
lemma setClosed_congr {e : E} {ω ω' : ConfigSpace E}
(h : ∀ e', e' ≠ e → ω e' = ω' e') : setClosed e ω = setClosed e ω'
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def setClosed (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e false
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:45
Uses 2 · Used by 1
DefinitionPivotal coordinate for an event#✓fully proved
The coordinate e is pivotal for the event A at ω if exactly one of setOpen e ω and
setClosed e ω lies in A. The condition does not depend on ω e.
def IsPivotal (e : E) (A : Set (ConfigSpace E)) (ω : ConfigSpace E) : Prop :=
(setOpen e ω ∈ A) ≠ (setClosed e ω ∈ A)
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def setOpen (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e true
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:42
def setClosed (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e false
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:45
Uses 3 · Used by 19
LemmaSymmetric form of pivotality#✓fully proved
Pivotality with the two sides swapped.
lemma isPivotal_comm (e : E) (A : Set (ConfigSpace E)) (ω : ConfigSpace E) :
IsPivotal e A ω ↔ (setClosed e ω ∈ A) ≠ (setOpen e ω ∈ A)
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def IsPivotal (e : E) (A : Set (ConfigSpace E)) (ω : ConfigSpace E) : Prop :=
(setOpen e ω ∈ A) ≠ (setClosed e ω ∈ A)
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:100
def setClosed (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e false
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:45
def setOpen (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e true
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:42
LemmaPivotality depends only on the other coordinates#✓fully proved
Pivotality of e depends only on the values of ω off e.
lemma isPivotal_congr {e : E} {A : Set (ConfigSpace E)} {ω ω' : ConfigSpace E}
(h : ∀ e', e' ≠ e → ω e' = ω' e') : IsPivotal e A ω ↔ IsPivotal e A ω'
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def IsPivotal (e : E) (A : Set (ConfigSpace E)) (ω : ConfigSpace E) : Prop :=
(setOpen e ω ∈ A) ≠ (setClosed e ω ∈ A)
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:100
Uses 6 · Used by 5
LemmaOpening a coordinate preserves its pivotality#✓fully proved
Opening e does not change whether e is pivotal.
@[simp] lemma isPivotal_setOpen (e : E) (A : Set (ConfigSpace E)) (ω : ConfigSpace E) :
IsPivotal e A (setOpen e ω) ↔ IsPivotal e A ω
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def IsPivotal (e : E) (A : Set (ConfigSpace E)) (ω : ConfigSpace E) : Prop :=
(setOpen e ω ∈ A) ≠ (setClosed e ω ∈ A)
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:100
def setOpen (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e true
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:42
LemmaClosing a coordinate preserves its pivotality#✓fully proved
Closing e does not change whether e is pivotal.
@[simp] lemma isPivotal_setClosed (e : E) (A : Set (ConfigSpace E)) (ω : ConfigSpace E) :
IsPivotal e A (setClosed e ω) ↔ IsPivotal e A ω
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def IsPivotal (e : E) (A : Set (ConfigSpace E)) (ω : ConfigSpace E) : Prop :=
(setOpen e ω ∈ A) ≠ (setClosed e ω ∈ A)
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:100
def setClosed (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e false
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:45
TheoremPivotal coordinates of an increasing event#✓fully proved
For an increasing event A, the coordinate e is pivotal at ω iff setClosed e ω ∉ A
and setOpen e ω ∈ A.
theorem isPivotal_iff_of_isIncreasing {e : E} {A : Set (ConfigSpace E)}
(hA : IsIncreasing A) (ω : ConfigSpace E) :
IsPivotal e A ω ↔ (setClosed e ω ∉ A ∧ setOpen e ω ∈ A)
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def IsIncreasing (A : Set (ConfigSpace E)) : Prop := IsUpperSet A
MathlibExt/Probability/CorrelationInequalities/IncreasingEvent.lean:55
def IsPivotal (e : E) (A : Set (ConfigSpace E)) (ω : ConfigSpace E) : Prop :=
(setOpen e ω ∈ A) ≠ (setClosed e ω ∈ A)
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:100
def setClosed (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e false
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:45
def setOpen (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e true
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:42
Uses 6 · Used by 5
DefinitionBernoulli weight of a single coordinate#✓fully proved
The weight of coordinate e in configuration ω with parameter p: p if ω e is open
(true), 1 - p otherwise.
noncomputable def edgeWeight (p : ℝ) (ω : ConfigSpace E) (e : E) : ℝ :=
if ω e then p else 1 - p
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
Uses 1 · Used by 14
DefinitionProduct of coordinate weights off one coordinate#✓fully proved
The product of the coordinate weights over all coordinates except e.
noncomputable def weightOff (p : ℝ) (e : E) (ω : ConfigSpace E) : ℝ :=
∏ j ∈ univ.erase e, edgeWeight p ω j
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def edgeWeight (p : ℝ) (ω : ConfigSpace E) (e : E) : ℝ :=
if ω e then p else 1 - p
MathlibExt/Probability/CorrelationInequalities/Russo.lean:60
Uses 2 · Used by 11
DefinitionBernoulli product weight of a configuration#✓fully proved
The product weight ∏ e, edgeWeight p ω e of a configuration; for p ∈ [0, 1] the
probability of ω under independent Bernoulli(p) coordinates.
noncomputable def configWeight (p : ℝ) (ω : ConfigSpace E) : ℝ :=
∏ e, edgeWeight p ω e
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def edgeWeight (p : ℝ) (ω : ConfigSpace E) (e : E) : ℝ :=
if ω e then p else 1 - p
MathlibExt/Probability/CorrelationInequalities/Russo.lean:60
Uses 2 · Used by 21
DefinitionBernoulli weight of an event#✓fully proved
The weight ∑ ω ∈ A, configWeight p ω of an event A; for p ∈ [0, 1] its probability
under independent Bernoulli(p) coordinates.
noncomputable def prob (p : ℝ) (A : Set (ConfigSpace E)) : ℝ :=
∑ ω, A.indicator (fun _ => (1 : ℝ)) ω * configWeight p ω
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def configWeight (p : ℝ) (ω : ConfigSpace E) : ℝ :=
∏ e, edgeWeight p ω e
MathlibExt/Probability/CorrelationInequalities/Russo.lean:69
Uses 2 · Used by 32
DefinitionWeight of the event that a coordinate is pivotal#✓fully proved
The weight of the event that coordinate e is pivotal for A.
noncomputable def pivotalProb (p : ℝ) (A : Set (ConfigSpace E)) (e : E) : ℝ :=
∑ ω, (Set.indicator {ω | IsPivotal e A ω} (fun _ => (1 : ℝ)) ω) * configWeight p ω
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def IsPivotal (e : E) (A : Set (ConfigSpace E)) (ω : ConfigSpace E) : Prop :=
(setOpen e ω ∈ A) ≠ (setClosed e ω ∈ A)
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:100
noncomputable def configWeight (p : ℝ) (ω : ConfigSpace E) : ℝ :=
∏ e, edgeWeight p ω e
MathlibExt/Probability/CorrelationInequalities/Russo.lean:69
Uses 3 · Used by 16
LemmaConfiguration weight as a product weight#✓fully proved
configWeight is the product weight StatMech.pweight for Bernoulli coordinate weights.
lemma configWeight_eq_pweight (p : ℝ) (ω : ConfigSpace E) :
configWeight p ω = pweight (fun _ b => if b then p else 1 - p) ω
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def configWeight (p : ℝ) (ω : ConfigSpace E) : ℝ :=
∏ e, edgeWeight p ω e
MathlibExt/Probability/CorrelationInequalities/Russo.lean:69
def pweight [Fintype E] (φ : E → Bool → ℝ) (ω : ConfigSpace E) : ℝ := ∏ x, φ x (ω x)
MathlibExt/Probability/CorrelationInequalities/BK.lean:91
LemmaNonnegativity of the configuration weight#✓fully proved
The product weight configWeight p ω is nonnegative for p ∈ [0, 1].
lemma configWeight_nonneg {p : ℝ} (hp0 : 0 ≤ p) (hp1 : p ≤ 1) (ω : ConfigSpace E) :
0 ≤ configWeight p ω
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def configWeight (p : ℝ) (ω : ConfigSpace E) : ℝ :=
∏ e, edgeWeight p ω e
MathlibExt/Probability/CorrelationInequalities/Russo.lean:69
Uses 3 · Used by 1
LemmaNonnegativity of the pivotal weight#✓fully proved
The pivotal weight pivotalProb p A e is nonnegative for p ∈ [0, 1].
lemma pivotalProb_nonneg {p : ℝ} (hp0 : 0 ≤ p) (hp1 : p ≤ 1) (A : Set (ConfigSpace E))
(e : E) : 0 ≤ pivotalProb p A e
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def pivotalProb (p : ℝ) (A : Set (ConfigSpace E)) (e : E) : ℝ :=
∑ ω, (Set.indicator {ω | IsPivotal e A ω} (fun _ => (1 : ℝ)) ω) * configWeight p ω
MathlibExt/Probability/CorrelationInequalities/Russo.lean:78
LemmaEvent weight as a product-weight probability#✓fully proved
prob is StatMech.wprob for Bernoulli coordinate weights.
lemma prob_eq_wprob (p : ℝ) (A : Set (ConfigSpace E)) :
prob p A = wprob (fun _ b => if b then p else 1 - p) A
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def prob (p : ℝ) (A : Set (ConfigSpace E)) : ℝ :=
∑ ω, A.indicator (fun _ => (1 : ℝ)) ω * configWeight p ω
MathlibExt/Probability/CorrelationInequalities/Russo.lean:74
noncomputable def wprob [Fintype E] [DecidableEq E] (φ : E → Bool → ℝ)
(S : Set (ConfigSpace E)) : ℝ :=
∑ ω, S.indicator (fun _ => (1 : ℝ)) ω * pweight φ ω
MathlibExt/Probability/CorrelationInequalities/BK.lean:101
LemmaConfiguration weight splits at one coordinate#✓fully proved
The product weight splits as the weight of e times the weight of the other coordinates.
lemma configWeight_eq (p : ℝ) (e : E) (ω : ConfigSpace E) :
configWeight p ω = edgeWeight p ω e * weightOff p e ω
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def configWeight (p : ℝ) (ω : ConfigSpace E) : ℝ :=
∏ e, edgeWeight p ω e
MathlibExt/Probability/CorrelationInequalities/Russo.lean:69
noncomputable def edgeWeight (p : ℝ) (ω : ConfigSpace E) (e : E) : ℝ :=
if ω e then p else 1 - p
MathlibExt/Probability/CorrelationInequalities/Russo.lean:60
noncomputable def weightOff (p : ℝ) (e : E) (ω : ConfigSpace E) : ℝ :=
∏ j ∈ univ.erase e, edgeWeight p ω j
MathlibExt/Probability/CorrelationInequalities/Russo.lean:64
Uses 4 · Used by 3
LemmaOff-coordinate weight depends only on the other coordinates#✓fully proved
weightOff p e ω depends only on the values of ω off e.
lemma weightOff_congr (p : ℝ) (e : E) {ω ω' : ConfigSpace E}
(h : ∀ e', e' ≠ e → ω e' = ω' e') : weightOff p e ω = weightOff p e ω'
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def weightOff (p : ℝ) (e : E) (ω : ConfigSpace E) : ℝ :=
∏ j ∈ univ.erase e, edgeWeight p ω j
MathlibExt/Probability/CorrelationInequalities/Russo.lean:64
Uses 3 · Used by 1
LemmaDerivative of a single coordinate weight#✓fully proved
The derivative in p of a coordinate weight is 1 if the coordinate is open, -1
otherwise.
lemma hasDerivAt_edgeWeight (ω : ConfigSpace E) (e : E) (p : ℝ) :
HasDerivAt (fun p => edgeWeight p ω e) (if ω e then 1 else -1) p
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def edgeWeight (p : ℝ) (ω : ConfigSpace E) (e : E) : ℝ :=
if ω e then p else 1 - p
MathlibExt/Probability/CorrelationInequalities/Russo.lean:60
Uses 2 · Used by 1
LemmaDerivative of the configuration weight#✓fully proved
The derivative in p of the product weight (product rule).
lemma hasDerivAt_configWeight (ω : ConfigSpace E) (p : ℝ) :
HasDerivAt (fun p => configWeight p ω)
(∑ e, weightOff p e ω * (if ω e then (1 : ℝ) else -1)) p
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def configWeight (p : ℝ) (ω : ConfigSpace E) : ℝ :=
∏ e, edgeWeight p ω e
MathlibExt/Probability/CorrelationInequalities/Russo.lean:69
noncomputable def weightOff (p : ℝ) (e : E) (ω : ConfigSpace E) : ℝ :=
∏ j ∈ univ.erase e, edgeWeight p ω j
MathlibExt/Probability/CorrelationInequalities/Russo.lean:64
Uses 5 · Used by 1
LemmaDerivative of the event weight before grouping#✓fully proved
The derivative in p of prob p A, before grouping by pivotal coordinates.
lemma hasDerivAt_prob (A : Set (ConfigSpace E)) (p : ℝ) :
HasDerivAt (fun p => prob p A)
(∑ ω, A.indicator (fun _ => (1 : ℝ)) ω *
∑ e, weightOff p e ω * (if ω e then (1 : ℝ) else -1)) p
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def prob (p : ℝ) (A : Set (ConfigSpace E)) : ℝ :=
∑ ω, A.indicator (fun _ => (1 : ℝ)) ω * configWeight p ω
MathlibExt/Probability/CorrelationInequalities/Russo.lean:74
noncomputable def weightOff (p : ℝ) (e : E) (ω : ConfigSpace E) : ℝ :=
∏ j ∈ univ.erase e, edgeWeight p ω j
MathlibExt/Probability/CorrelationInequalities/Russo.lean:64
Uses 5 · Used by 3
LemmaOpening a coordinate of a split configuration#✓fully proved
Opening e in the configuration with value b at e and η elsewhere.
lemma setOpen_symm (e : E) (b : Bool) (η : {j : E // j ≠ e} → Bool) :
setOpen e ((Equiv.funSplitAt e Bool).symm (b, η))
= (Equiv.funSplitAt e Bool).symm (true, η)
def setOpen (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e true
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:42
Uses 2 · Used by 1
LemmaClosing a coordinate of a split configuration#✓fully proved
Closing e in the configuration with value b at e and η elsewhere.
lemma setClosed_symm (e : E) (b : Bool) (η : {j : E // j ≠ e} → Bool) :
setClosed e ((Equiv.funSplitAt e Bool).symm (b, η))
= (Equiv.funSplitAt e Bool).symm (false, η)
def setClosed (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e false
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:45
Uses 2 · Used by 1
LemmaRusso's formula on a single fiber#✓fully proved
Russo's formula on one fiber {ωt, ωf} of configurations differing only at e.
lemma russo_per_eta (p : ℝ) (A : Set (ConfigSpace E)) (hA : IsIncreasing A) (e : E)
(ωt ωf : ConfigSpace E)
(hwo : weightOff p e ωt = weightOff p e ωf)
(hto : setOpen e ωt = ωt) (htc : setClosed e ωt = ωf)
(ht : ωt e = true) (hf : ωf e = false) :
A.indicator (fun _ => (1 : ℝ)) ωt * (weightOff p e ωt * if ωt e then 1 else -1) +
A.indicator (fun _ => (1 : ℝ)) ωf * (weightOff p e ωf * if ωf e then 1 else -1) =
{ω | IsPivotal e A ω}.indicator (fun _ => (1 : ℝ)) ωt * configWeight p ωt +
{ω | IsPivotal e A ω}.indicator (fun _ => (1 : ℝ)) ωf * configWeight p ωf
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def IsIncreasing (A : Set (ConfigSpace E)) : Prop := IsUpperSet A
MathlibExt/Probability/CorrelationInequalities/IncreasingEvent.lean:55
noncomputable def weightOff (p : ℝ) (e : E) (ω : ConfigSpace E) : ℝ :=
∏ j ∈ univ.erase e, edgeWeight p ω j
MathlibExt/Probability/CorrelationInequalities/Russo.lean:64
def setOpen (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e true
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:42
def setClosed (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e false
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:45
def IsPivotal (e : E) (A : Set (ConfigSpace E)) (ω : ConfigSpace E) : Prop :=
(setOpen e ω ∈ A) ≠ (setClosed e ω ∈ A)
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:100
noncomputable def configWeight (p : ℝ) (ω : ConfigSpace E) : ℝ :=
∏ e, edgeWeight p ω e
MathlibExt/Probability/CorrelationInequalities/Russo.lean:69
Uses 12 · Used by 1
LemmaContribution of one coordinate to Russo's formula#✓fully proved
The contribution of coordinate e to the derivative of prob p A is
pivotalProb p A e, for increasing A.
lemma russo_per_edge (p : ℝ) (A : Set (ConfigSpace E)) (hA : IsIncreasing A) (e : E) :
∑ ω, A.indicator (fun _ => (1 : ℝ)) ω * (weightOff p e ω * (if ω e then (1 : ℝ) else -1))
= pivotalProb p A e
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def IsIncreasing (A : Set (ConfigSpace E)) : Prop := IsUpperSet A
MathlibExt/Probability/CorrelationInequalities/IncreasingEvent.lean:55
noncomputable def weightOff (p : ℝ) (e : E) (ω : ConfigSpace E) : ℝ :=
∏ j ∈ univ.erase e, edgeWeight p ω j
MathlibExt/Probability/CorrelationInequalities/Russo.lean:64
noncomputable def pivotalProb (p : ℝ) (A : Set (ConfigSpace E)) (e : E) : ℝ :=
∑ ω, (Set.indicator {ω | IsPivotal e A ω} (fun _ => (1 : ℝ)) ω) * configWeight p ω
MathlibExt/Probability/CorrelationInequalities/Russo.lean:78
Uses 12 · Used by 3
TheoremRusso's formula#✓fully proved
Russo's formula (Russo 1981; Margulis 1974): for an increasing event A on a finite
set of coordinates, p ↦ prob p A has derivative ∑ e, pivotalProb p A e at every p.
theorem hasDerivAt_prob_eq_sum_pivotalProb
(A : Set (ConfigSpace E)) (hA : IsIncreasing A) (p : ℝ) :
HasDerivAt (fun p => prob p A) (∑ e, pivotalProb p A e) p
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def IsIncreasing (A : Set (ConfigSpace E)) : Prop := IsUpperSet A
MathlibExt/Probability/CorrelationInequalities/IncreasingEvent.lean:55
noncomputable def prob (p : ℝ) (A : Set (ConfigSpace E)) : ℝ :=
∑ ω, A.indicator (fun _ => (1 : ℝ)) ω * configWeight p ω
MathlibExt/Probability/CorrelationInequalities/Russo.lean:74
noncomputable def pivotalProb (p : ℝ) (A : Set (ConfigSpace E)) (e : E) : ℝ :=
∑ ω, (Set.indicator {ω | IsPivotal e A ω} (fun _ => (1 : ℝ)) ω) * configWeight p ω
MathlibExt/Probability/CorrelationInequalities/Russo.lean:78
Uses 7 · Used by 4
TheoremRusso's formula#✓fully proved
Russo's formula, deriv form: d/dp prob p A = ∑ e, pivotalProb p A e for
increasing A.
theorem deriv_prob_eq_sum_pivotalProb
(A : Set (ConfigSpace E)) (hA : IsIncreasing A) (p : ℝ) :
deriv (fun p => prob p A) p = ∑ e, pivotalProb p A e
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
def IsIncreasing (A : Set (ConfigSpace E)) : Prop := IsUpperSet A
MathlibExt/Probability/CorrelationInequalities/IncreasingEvent.lean:55
noncomputable def prob (p : ℝ) (A : Set (ConfigSpace E)) : ℝ :=
∑ ω, A.indicator (fun _ => (1 : ℝ)) ω * configWeight p ω
MathlibExt/Probability/CorrelationInequalities/Russo.lean:74
noncomputable def pivotalProb (p : ℝ) (A : Set (ConfigSpace E)) (e : E) : ℝ :=
∑ ω, (Set.indicator {ω | IsPivotal e A ω} (fun _ => (1 : ℝ)) ω) * configWeight p ω
MathlibExt/Probability/CorrelationInequalities/Russo.lean:78
Uses 5 · Used by 3
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.