Hypercontractivity bounds for indicator functions
TheoremBonami–Beckner bound for indicator functions#✓fully proved
Bonami–Beckner for an indicator of uniform measure m: ∑_{S ≠ ∅} ρ^{2|S|} f̂(S)² ≤
m^{2/(1+ρ²)} - m² for 0 ≤ ρ ≤ 1.
theorem kls_fluctWeight_le_pow {ρ : ℝ} (h0 : 0 ≤ ρ) (h1 : ρ ≤ 1) (φ : ConfigSpace ι → Bool) :
(∑ S ∈ (univ.erase (∅ : Finset ι)),
(ρ ^ S.card) ^ 2 * (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
≤ (bnt_uexp (fun ω => if φ ω then (1 : ℝ) else 0)) ^ (2 / (1 + ρ ^ 2))
- (bnt_uexp (fun ω => if φ ω then (1 : ℝ) else 0)) ^ 2
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def khc_fourierCoeff (f : (ι → Bool) → ℝ) (S : Finset ι) : ℝ :=
bnt_uexp (fun x => f x * khc_walshChar S x)
CSLibExt/Complexity/BooleanFunctions/KKL/KKLfromHC.lean:116
noncomputable def bnt_uexp (f : (ι → Bool) → ℝ) : ℝ :=
(∑ ω : ι → Bool, f ω) / (2 ^ (Fintype.card ι))
MathlibExt/Probability/Hypercontractivity/BonamiTensorize.lean:66
Uses 7 · Used by 2
TheoremPoincaré inequality in Fourier form#✓fully proved
Poincaré inequality in Fourier form: ∑_{S ≠ ∅} f̂(S)² ≤ ∑_S 4 |S| f̂(S)².
theorem kls_var_le_W (φ : ConfigSpace ι → Bool) :
(∑ S ∈ (univ.erase (∅ : Finset ι)),
(khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
≤ ∑ S : Finset ι, 4 * (S.card : ℝ)
* (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def khc_fourierCoeff (f : (ι → Bool) → ℝ) (S : Finset ι) : ℝ :=
bnt_uexp (fun x => f x * khc_walshChar S x)
CSLibExt/Complexity/BooleanFunctions/KKL/KKLfromHC.lean:116
DefinitionFourier-form KKL inequality given the indicator Bonami–Beckner bound#✓fully proved
The KKL inequality at p = 1/2 in Fourier form, with the indicator hypercontractive bound ∑_{S
≠ ∅} ρ^{2|S|} f̂(S)² ≤ m^{2/(1+ρ²)} - m² (for all ρ ∈ [0, 1]) as a hypothesis, where f =
1_φ and m = 𝔼 f. The hypothesis always holds (kls_fluctWeight_le_pow).
def kls_LogOptimisation (c : ℝ) : Prop :=
∀ {E : Type} [Fintype E] [DecidableEq E] [Nonempty E] (φ : ConfigSpace E → Bool),
(∀ ρ : ℝ, 0 ≤ ρ → ρ ≤ 1 →
(∑ S ∈ (univ.erase (∅ : Finset E)), (ρ ^ S.card) ^ 2
* (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
≤ (bnt_uexp (fun ω => if φ ω then (1 : ℝ) else 0)) ^ (2 / (1 + ρ ^ 2))
- (bnt_uexp (fun ω => if φ ω then (1 : ℝ) else 0)) ^ 2) →
c * (∑ S ∈ (univ.erase (∅ : Finset E)),
(khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
* Real.log (1 / maxInfl (OSSS.bernoulliWeight (1 / 2 : ℝ))
(fun ω => if φ ω then (1 : ℝ) else 0))
≤ ∑ S : Finset E, 4 * (S.card : ℝ)
* (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2
abbrev ConfigSpace (E : Type*) : Type _ := E → Bool
MathlibExt/Probability/Configuration/ConfigSpace.lean:40
noncomputable def khc_fourierCoeff (f : (ι → Bool) → ℝ) (S : Finset ι) : ℝ :=
bnt_uexp (fun x => f x * khc_walshChar S x)
CSLibExt/Complexity/BooleanFunctions/KKL/KKLfromHC.lean:116
noncomputable def bnt_uexp (f : (ι → Bool) → ℝ) : ℝ :=
(∑ ω : ι → Bool, f ω) / (2 ^ (Fintype.card ι))
MathlibExt/Probability/Hypercontractivity/BonamiTensorize.lean:66
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
Uses 5 · Used by 5
TheoremIndicator-bound form of KKL with constant 0 holds trivially#✓fully proved
kls_LogOptimisation 0 holds trivially.
theorem kls_logOptimisation_zero : kls_LogOptimisation 0
def kls_LogOptimisation (c : ℝ) : Prop :=
∀ {E : Type} [Fintype E] [DecidableEq E] [Nonempty E] (φ : ConfigSpace E → Bool),
(∀ ρ : ℝ, 0 ≤ ρ → ρ ≤ 1 →
(∑ S ∈ (univ.erase (∅ : Finset E)), (ρ ^ S.card) ^ 2
* (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
≤ (bnt_uexp (fun ω => if φ ω then (1 : ℝ) else 0)) ^ (2 / (1 + ρ ^ 2))
- (bnt_uexp (fun ω => if φ ω then (1 : ℝ) else 0)) ^ 2) →
c * (∑ S ∈ (univ.erase (∅ : Finset E)),
(khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
* Real.log (1 / maxInfl (OSSS.bernoulliWeight (1 / 2 : ℝ))
(fun ω => if φ ω then (1 : ℝ) else 0))
≤ ∑ S : Finset E, 4 * (S.card : ℝ)
⋯
CSLibExt/Complexity/BooleanFunctions/KKL/KKLLogSobolev.lean:140
Uses 6
TheoremIndicator-bound form of KKL implies the hypercontractive form#✓fully proved
kls_LogOptimisation c implies khc_LogSobolevStep c.
theorem kls_logOptimisation_implies_step {c : ℝ} (H : kls_LogOptimisation c) :
khc_LogSobolevStep c
def kls_LogOptimisation (c : ℝ) : Prop :=
∀ {E : Type} [Fintype E] [DecidableEq E] [Nonempty E] (φ : ConfigSpace E → Bool),
(∀ ρ : ℝ, 0 ≤ ρ → ρ ≤ 1 →
(∑ S ∈ (univ.erase (∅ : Finset E)), (ρ ^ S.card) ^ 2
* (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
≤ (bnt_uexp (fun ω => if φ ω then (1 : ℝ) else 0)) ^ (2 / (1 + ρ ^ 2))
- (bnt_uexp (fun ω => if φ ω then (1 : ℝ) else 0)) ^ 2) →
c * (∑ S ∈ (univ.erase (∅ : Finset E)),
(khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
* Real.log (1 / maxInfl (OSSS.bernoulliWeight (1 / 2 : ℝ))
(fun ω => if φ ω then (1 : ℝ) else 0))
≤ ∑ S : Finset E, 4 * (S.card : ℝ)
⋯
CSLibExt/Complexity/BooleanFunctions/KKL/KKLLogSobolev.lean:140
def khc_LogSobolevStep (c : ℝ) : Prop :=
∀ {E : Type} [Fintype E] [DecidableEq E] [Nonempty E] (φ : ConfigSpace E → Bool),
(∀ ρ : ℝ, 0 ≤ ρ → ρ ≤ 1 →
(∑ S : Finset E, (ρ ^ S.card) ^ 2
* (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
≤ (bnt_qnorm (1 + ρ ^ 2) (fun ω => if φ ω then (1 : ℝ) else 0)) ^ 2) →
c * (∑ S ∈ (univ.erase (∅ : Finset E)),
(khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
* Real.log (1 / maxInfl (OSSS.bernoulliWeight (1 / 2 : ℝ))
(fun ω => if φ ω then (1 : ℝ) else 0))
≤ ∑ S : Finset E, 4 * (S.card : ℝ)
* (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2
CSLibExt/Complexity/BooleanFunctions/KKL/KKLfromHC.lean:641
Uses 6 · Used by 1
TheoremIndicator-bound form of KKL implies the KKL inequality at \(p = 1/2\)#✓fully proved
kls_LogOptimisation c implies the KKL inequality KKLHypercontractive (1/2) c.
theorem kls_logSobolevStep {c : ℝ} (H : kls_LogOptimisation c) :
KKLHypercontractive (1 / 2 : ℝ) c
def kls_LogOptimisation (c : ℝ) : Prop :=
∀ {E : Type} [Fintype E] [DecidableEq E] [Nonempty E] (φ : ConfigSpace E → Bool),
(∀ ρ : ℝ, 0 ≤ ρ → ρ ≤ 1 →
(∑ S ∈ (univ.erase (∅ : Finset E)), (ρ ^ S.card) ^ 2
* (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
≤ (bnt_uexp (fun ω => if φ ω then (1 : ℝ) else 0)) ^ (2 / (1 + ρ ^ 2))
- (bnt_uexp (fun ω => if φ ω then (1 : ℝ) else 0)) ^ 2) →
c * (∑ S ∈ (univ.erase (∅ : Finset E)),
(khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
* Real.log (1 / maxInfl (OSSS.bernoulliWeight (1 / 2 : ℝ))
(fun ω => if φ ω then (1 : ℝ) else 0))
≤ ∑ S : Finset E, 4 * (S.card : ℝ)
⋯
CSLibExt/Complexity/BooleanFunctions/KKL/KKLLogSobolev.lean:140
def KKLHypercontractive (p c : ℝ) : Prop :=
∀ {E : Type} [Fintype E] [DecidableEq E] [Nonempty E] (φ : ConfigSpace E → Bool),
c * OSSS.var (bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0)
* Real.log (1 / maxInfl (bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0))
≤ totalInfl (bernoulliWeight p) (fun ω => if φ ω then (1 : ℝ) else 0)
CSLibExt/Complexity/BooleanFunctions/KKL/KKLInequality.lean:159
Uses 4 · Used by 2
Loading dependency explorer…
The dependency explorer needs JavaScript and its graph data.