Decomposition of the variance by maximal element
DefinitionMaximal element of a finite set#✓fully proved
The maximal element of S, or an arbitrary element if S is empty.
noncomputable def mxd_maxE [Nonempty ι] (S : Finset ι) : ι :=
if h : S.Nonempty then S.max' h else Classical.arbitrary ι
DefinitionNonempty subsets with a given maximal element#✓fully proved
The nonempty subsets of ι whose maximal element is e.
noncomputable def mxd_fiber [Nonempty ι] (e : ι) : Finset (Finset ι) :=
(univ.erase (∅ : Finset ι)).filter (fun S => mxd_maxE S = e)
noncomputable def mxd_maxE [Nonempty ι] (S : Finset ι) : ι :=
if h : S.Nonempty then S.max' h else Classical.arbitrary ι
CSLibExt/Complexity/BooleanFunctions/KKL/MaxElementDecomp.lean:57
DefinitionFourier weight of a maximal-element fiber#✓fully proved
The p-biased Fourier weight Wₑ = ∑_{S : max S = e} f̂(S)² of the fiber of e.
noncomputable def mxd_fiberWeight [Nonempty ι] (p : ℝ) (φ : ConfigSpace ι → Bool) (e : ι) : ℝ :=
∑ S ∈ mxd_fiber e, (ptn_coeff p (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def mxd_fiber [Nonempty ι] (e : ι) : Finset (Finset ι) :=
(univ.erase (∅ : Finset ι)).filter (fun S => mxd_maxE S = e)
CSLibExt/Complexity/BooleanFunctions/KKL/MaxElementDecomp.lean:71
noncomputable def ptn_coeff (p : ℝ) (f : ConfigSpace ι → ℝ) (S : Finset ι) : ℝ :=
OSSS.expect (OSSS.bernoulliWeight p) (fun ω => f ω * ptn_pchar p S ω)
CSLibExt/Complexity/BooleanFunctions/Hypercontractivity/PBiasedTensorize.lean:182
TheoremVariance decomposition by maximal element#✓fully proved
The variance of a Boolean function is the sum of the fiber weights.
theorem mxd_var_decomp [Nonempty ι] {p : ℝ} (hp0 : 0 < p) (hp1 : p < 1)
(φ : ConfigSpace ι → Bool) :
OSSS.var (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0)
= ∑ e : ι, mxd_fiberWeight p φ e
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def var (ν : E → Bool → ℝ) (g : ConfigSpace E → ℝ) : ℝ := cov ν g g
CSLibExt/Complexity/BooleanFunctions/OSSS.lean:161
noncomputable def bernoulliWeight (p : ℝ) : E → Bool → ℝ :=
fun _ b => if b then p else 1 - p
CSLibExt/Complexity/BooleanFunctions/OSSS.lean:915
noncomputable def mxd_fiberWeight [Nonempty ι] (p : ℝ) (φ : ConfigSpace ι → Bool) (e : ι) : ℝ :=
∑ S ∈ mxd_fiber e, (ptn_coeff p (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2
CSLibExt/Complexity/BooleanFunctions/KKL/MaxElementDecomp.lean:89
Uses 8 · Used by 1
DefinitionNoise-damped fiber weight#✓fully proved
The noise-damped fiber weight ∑_{S : max S = e} ρ^{2|S|} f̂(S)².
noncomputable def mxd_dampFiber [Nonempty ι] (p ρ : ℝ) (φ : ConfigSpace ι → Bool) (e : ι) : ℝ :=
∑ S ∈ mxd_fiber e, (ρ ^ S.card) ^ 2
* (ptn_coeff p (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def mxd_fiber [Nonempty ι] (e : ι) : Finset (Finset ι) :=
(univ.erase (∅ : Finset ι)).filter (fun S => mxd_maxE S = e)
CSLibExt/Complexity/BooleanFunctions/KKL/MaxElementDecomp.lean:71
noncomputable def ptn_coeff (p : ℝ) (f : ConfigSpace ι → ℝ) (S : Finset ι) : ℝ :=
OSSS.expect (OSSS.bernoulliWeight p) (fun ω => f ω * ptn_pchar p S ω)
CSLibExt/Complexity/BooleanFunctions/Hypercontractivity/PBiasedTensorize.lean:182
TheoremHypercontractive bound on the damped fiber weight#✓fully proved
Hypercontractive bound on the damped fiber weight.
theorem mxd_dampFiber_le_perCoord [Nonempty ι] {p ρ q : ℝ} (hp0 : 0 < p) (hp1 : p < 1)
(h0 : 0 ≤ ρ) (h1 : ρ ≤ 1) (hq1 : 1 ≤ q) (hq2 : q ≤ 2)
(hρsq : ρ ^ 2 = (q - 1) * 4 * p * (1 - p)) (φ : ConfigSpace ι → Bool) (e : ι) :
mxd_dampFiber p ρ φ e
≤ ρ ^ 2 * (ptn_sigma p) ^ 2
* (OSSS.infl (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0) e) ^
(2 / q)
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def mxd_dampFiber [Nonempty ι] (p ρ : ℝ) (φ : ConfigSpace ι → Bool) (e : ι) : ℝ :=
∑ S ∈ mxd_fiber e, (ρ ^ S.card) ^ 2
* (ptn_coeff p (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2
CSLibExt/Complexity/BooleanFunctions/KKL/MaxElementDecomp.lean:108
noncomputable def ptn_sigma (p : ℝ) : ℝ := Real.sqrt (p * (1 - p))
CSLibExt/Complexity/BooleanFunctions/Hypercontractivity/PBiasedTensorize.lean:81
noncomputable def infl (ν : E → Bool → ℝ) (g : ConfigSpace E → ℝ) (e : E) : ℝ :=
expect ν (fun ω => |g (setOpen e ω) - g (setClosed e ω)|)
CSLibExt/Complexity/BooleanFunctions/OSSS.lean:168
noncomputable def bernoulliWeight (p : ℝ) : E → Bool → ℝ :=
fun _ b => if b then p else 1 - p
CSLibExt/Complexity/BooleanFunctions/OSSS.lean:915
Uses 9 · Used by 1
TheoremLog-sum estimate for the fiber weights#✓fully proved
The variance log-sum estimate for the fiber weights against their damped versions.
theorem mxd_logSum_gain [Nonempty ι] {p ρ q : ℝ} (hp0 : 0 < p) (hp1 : p < 1)
(hρ : 0 < ρ) (h1 : ρ ≤ 1) (hq1 : 1 ≤ q) (hq2 : q ≤ 2)
(hρsq : ρ ^ 2 = (q - 1) * 4 * p * (1 - p)) (φ : ConfigSpace ι → Bool)
(hVpos : 0 < OSSS.var (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0))
(hδ0 : 0 < maxInfl (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0))
(hTpos : 0 < totalInfl (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0)) :
OSSS.var (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0)
* Real.log (OSSS.var (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0)
/ (ρ ^ 2 * (ptn_sigma p) ^ 2
* ((maxInfl (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0)) ^
(2 / q - 1)
* totalInfl (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0))))
≤ ∑ e ∈ univ.filter (fun e : ι => 0 < mxd_fiberWeight p φ e),
mxd_fiberWeight p φ e * Real.log (mxd_fiberWeight p φ e / mxd_dampFiber p ρ φ e)
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def var (ν : E → Bool → ℝ) (g : ConfigSpace E → ℝ) : ℝ := cov ν g g
CSLibExt/Complexity/BooleanFunctions/OSSS.lean:161
noncomputable def bernoulliWeight (p : ℝ) : E → Bool → ℝ :=
fun _ b => if b then p else 1 - p
CSLibExt/Complexity/BooleanFunctions/OSSS.lean:915
noncomputable def maxInfl [Nonempty E] (ν : E → Bool → ℝ) (g : ConfigSpace E → ℝ) : ℝ :=
Finset.univ.sup' Finset.univ_nonempty (OSSS.infl ν g)
CSLibExt/Complexity/BooleanFunctions/KKL/KKLInequality.lean:70
noncomputable def totalInfl (ν : E → Bool → ℝ) (g : ConfigSpace E → ℝ) : ℝ :=
∑ e, OSSS.infl ν g e
CSLibExt/Complexity/BooleanFunctions/KKL/KKLInequality.lean:62
noncomputable def ptn_sigma (p : ℝ) : ℝ := Real.sqrt (p * (1 - p))
CSLibExt/Complexity/BooleanFunctions/Hypercontractivity/PBiasedTensorize.lean:81
noncomputable def mxd_fiberWeight [Nonempty ι] (p : ℝ) (φ : ConfigSpace ι → Bool) (e : ι) : ℝ :=
∑ S ∈ mxd_fiber e, (ptn_coeff p (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2
CSLibExt/Complexity/BooleanFunctions/KKL/MaxElementDecomp.lean:89
noncomputable def mxd_dampFiber [Nonempty ι] (p ρ : ℝ) (φ : ConfigSpace ι → Bool) (e : ι) : ℝ :=
∑ S ∈ mxd_fiber e, (ρ ^ S.card) ^ 2
* (ptn_coeff p (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2
CSLibExt/Complexity/BooleanFunctions/KKL/MaxElementDecomp.lean:108
Uses 20
DefinitionCapped influence estimate for all \(p\) in \((1/2, q)\)#✓fully proved
The capped estimate ∑_S 4 |S| (1-u)^{|S|-1} f̂(S)² ≤ δ^{u/(2-u)} ∑ₑ Infₑ for all p ∈ (1/2,
q) with p < 1 and all u ∈ [0, 1].
def mxd_martingaleHC_statement (q : ℝ) : Prop :=
∀ p ∈ Set.Ioo (1 / 2 : ℝ) q, p < 1 → ∀ {E : Type} [Fintype E] [DecidableEq E] [Nonempty E]
(φ : ConfigSpace E → Bool), ∀ u : ℝ, 0 ≤ u → u ≤ 1 →
(∑ S : Finset E, 4 * (S.card : ℝ) * (1 - u) ^ (S.card - 1)
* (ptn_coeff p (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
≤ (maxInfl (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0)) ^ (u / (2 - u))
* totalInfl (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0)
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def ptn_coeff (p : ℝ) (f : ConfigSpace ι → ℝ) (S : Finset ι) : ℝ :=
OSSS.expect (OSSS.bernoulliWeight p) (fun ω => f ω * ptn_pchar p S ω)
CSLibExt/Complexity/BooleanFunctions/Hypercontractivity/PBiasedTensorize.lean:182
noncomputable def maxInfl [Nonempty E] (ν : E → Bool → ℝ) (g : ConfigSpace E → ℝ) : ℝ :=
Finset.univ.sup' Finset.univ_nonempty (OSSS.infl ν g)
CSLibExt/Complexity/BooleanFunctions/KKL/KKLInequality.lean:70
noncomputable def bernoulliWeight (p : ℝ) : E → Bool → ℝ :=
fun _ b => if b then p else 1 - p
CSLibExt/Complexity/BooleanFunctions/OSSS.lean:915
noncomputable def totalInfl (ν : E → Bool → ℝ) (g : ConfigSpace E → ℝ) : ℝ :=
∑ e, OSSS.infl ν g e
CSLibExt/Complexity/BooleanFunctions/KKL/KKLInequality.lean:62
Uses 5 · Used by 5
TheoremCapped estimate implies KKL with constant 2 on \((1/2, q)\)#✓fully proved
mxd_martingaleHC_statement q implies ptn_RhoOptimise q, hence the KKL inequality with
constant 2 on (1/2, q).
theorem mxd_rhoOptimise_of_martingaleHC {q : ℝ} (H : mxd_martingaleHC_statement q) :
ptn_RhoOptimise q
def mxd_martingaleHC_statement (q : ℝ) : Prop :=
∀ p ∈ Set.Ioo (1 / 2 : ℝ) q, p < 1 → ∀ {E : Type} [Fintype E] [DecidableEq E] [Nonempty E]
(φ : ConfigSpace E → Bool), ∀ u : ℝ, 0 ≤ u → u ≤ 1 →
(∑ S : Finset E, 4 * (S.card : ℝ) * (1 - u) ^ (S.card - 1)
* (ptn_coeff p (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
≤ (maxInfl (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0)) ^ (u / (2 - u))
* totalInfl (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0)
CSLibExt/Complexity/BooleanFunctions/KKL/MaxElementDecomp.lean:295
def ptn_RhoOptimise (q : ℝ) : Prop :=
∀ p ∈ Set.Ioo (1 / 2 : ℝ) q, p < 1 → ∀ {E : Type} [Fintype E] [DecidableEq E] [Nonempty E]
(φ : ConfigSpace E → Bool),
(∀ ρ : ℝ, 0 ≤ ρ → ρ ≤ 1 → ∀ q' : ℝ, 1 ≤ q' → q' ≤ 2 → ρ ^ 2 = (q' - 1) * 4 * p * (1 - p) →
(1 / (ptn_sigma p) ^ 2) * ∑ S : Finset E, (S.card : ℝ) * ((ρ ^ (S.card - 1)) ^ 2
* (ptn_coeff p (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
≤ (maxInfl (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0)) ^ (2 / q' - 1)
* totalInfl (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0)) →
2 * OSSS.var (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0)
* Real.log (1 / maxInfl (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0))
≤ totalInfl (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0)
CSLibExt/Complexity/BooleanFunctions/Hypercontractivity/PBiasedTensorize.lean:1120
Uses 18
TheoremCapped estimate with zero weights holds trivially#✓fully proved
The capped estimate with all weights multiplied by 0 holds trivially.
theorem mxd_martingaleHC_c0 {p : ℝ} (hp0 : 0 ≤ p) (hp1 : p ≤ 1)
{E : Type} [Fintype E] [DecidableEq E] [Nonempty E] (φ : ConfigSpace E → Bool)
(u : ℝ) :
(∑ S : Finset E, (0 : ℝ) * (S.card : ℝ) * (1 - u) ^ (S.card - 1)
* (ptn_coeff p (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
≤ (maxInfl (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0)) ^ (u / (2 - u))
* totalInfl (OSSS.bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0)
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def ptn_coeff (p : ℝ) (f : ConfigSpace ι → ℝ) (S : Finset ι) : ℝ :=
OSSS.expect (OSSS.bernoulliWeight p) (fun ω => f ω * ptn_pchar p S ω)
CSLibExt/Complexity/BooleanFunctions/Hypercontractivity/PBiasedTensorize.lean:182
noncomputable def maxInfl [Nonempty E] (ν : E → Bool → ℝ) (g : ConfigSpace E → ℝ) : ℝ :=
Finset.univ.sup' Finset.univ_nonempty (OSSS.infl ν g)
CSLibExt/Complexity/BooleanFunctions/KKL/KKLInequality.lean:70
noncomputable def bernoulliWeight (p : ℝ) : E → Bool → ℝ :=
fun _ b => if b then p else 1 - p
CSLibExt/Complexity/BooleanFunctions/OSSS.lean:915
noncomputable def totalInfl (ν : E → Bool → ℝ) (g : ConfigSpace E → ℝ) : ℝ :=
∑ e, OSSS.infl ν g e
CSLibExt/Complexity/BooleanFunctions/KKL/KKLInequality.lean:62
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.