Hypercontractivity applied to discrete derivatives
DefinitionDiscrete derivative in a coordinate#✓fully proved
The discrete derivative ∂ₑ f (ω) = f(ω^{e ↦ 1}) - f(ω^{e ↦ 0}).
noncomputable def bph_deriv (f : ConfigSpace ι → ℝ) (e : ι) : ConfigSpace ι → ℝ :=
fun ω => f (StatMech.setOpen e ω) - f (StatMech.setClosed 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
def setClosed (e : E) (ω : ConfigSpace E) : ConfigSpace E := Function.update ω e false
MathlibExt/Probability/CorrelationInequalities/Pivotal.lean:45
TheoremBonami–Beckner applied to a discrete derivative#✓fully proved
Bonami–Beckner applied to ∂ₑ 1_A: ∑_{S ∋ e} ρ^{2|S \ {e}|} · 4 f̂(S)² ≤
Infₑ(1_A)^{2/(1+ρ²)}.
theorem bph_perCoord_hc {ρ : ℝ} (h0 : 0 ≤ ρ) (h1 : ρ ≤ 1)
(φ : ConfigSpace ι → Bool) (e : ι) :
(∑ S ∈ univ.filter (fun S : Finset ι => e ∈ S),
(ρ ^ (S.erase e).card) ^ 2
* (4 * (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2))
≤ (OSSS.infl (OSSS.bernoulliWeight (1 / 2 : ℝ))
(fun ω => if φ ω then (1 : ℝ) else 0) e) ^ (2 / (1 + ρ ^ 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 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 30 · Used by 1
TheoremSummed per-coordinate Bonami–Beckner bound#✓fully proved
bph_perCoord_hc summed over all coordinates.
theorem bph_summed_hc {ρ : ℝ} (h0 : 0 ≤ ρ) (h1 : ρ ≤ 1) (φ : ConfigSpace ι → Bool) :
(∑ S : Finset ι, (S.card : ℝ) * ((ρ ^ (S.card - 1)) ^ 2
* (4 * (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)))
≤ ∑ e : ι, (OSSS.infl (OSSS.bernoulliWeight (1 / 2 : ℝ))
(fun ω => if φ ω then (1 : ℝ) else 0) e) ^ (2 / (1 + ρ ^ 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 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 5 · Used by 1
TheoremTermwise cap \(x^\theta \le \delta^{\theta-1} x\)#✓fully proved
x^θ ≤ δ^{θ-1} x for 0 ≤ x ≤ δ and θ ≥ 1.
theorem bph_cap_term (x δ θ : ℝ) (hx : 0 ≤ x) (hcap : x ≤ δ) (hθ : 1 ≤ θ) :
x ^ θ ≤ δ ^ (θ - 1) * x
TheoremSum of influence powers capped by the maximal influence#✓fully proved
∑ₑ Infₑ^{θ} ≤ (maxₑ Infₑ)^{θ-1} ∑ₑ Infₑ with θ = 2/(1+ρ²).
theorem bph_cap_sum [Nonempty ι] {ρ : ℝ} (h0 : 0 ≤ ρ) (h1 : ρ ≤ 1) (φ : ConfigSpace ι → Bool) :
(∑ e : ι, (OSSS.infl (OSSS.bernoulliWeight (1 / 2 : ℝ))
(fun ω => if φ ω then (1 : ℝ) else 0) e) ^ (2 / (1 + ρ ^ 2)))
≤ (maxInfl (OSSS.bernoulliWeight (1 / 2 : ℝ)) (fun ω => if φ ω then (1 : ℝ) else 0))
^ (2 / (1 + ρ ^ 2) - 1)
* (∑ 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 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
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 khc_fourierCoeff (f : (ι → Bool) → ℝ) (S : Finset ι) : ℝ :=
bnt_uexp (fun x => f x * khc_walshChar S x)
CSLibExt/Complexity/BooleanFunctions/KKL/KKLfromHC.lean:116
Uses 13 · Used by 1
TheoremCapped per-coordinate hypercontractive estimate#✓fully proved
The capped per-coordinate hypercontractive estimate: ∑_S 4 |S| ρ^{2(|S|-1)} f̂(S)² ≤
δ^{2/(1+ρ²) - 1} ∑_S 4 |S| f̂(S)², with δ = maxₑ Infₑ(1_A).
theorem bph_capped_hc [Nonempty ι] {ρ : ℝ} (h0 : 0 ≤ ρ) (h1 : ρ ≤ 1) (φ : ConfigSpace ι → Bool) :
(∑ S : Finset ι, 4 * (S.card : ℝ) * (ρ ^ (S.card - 1)) ^ 2
* (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
≤ (maxInfl (OSSS.bernoulliWeight (1 / 2 : ℝ)) (fun ω => if φ ω then (1 : ℝ) else 0))
^ (2 / (1 + ρ ^ 2) - 1)
* (∑ 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
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 7 · Used by 1
DefinitionFourier-form KKL at \(p = 1/2\) conditional on the capped estimate#✓fully proved
The KKL inequality at p = 1/2 in Fourier form, with the capped estimate bph_capped_hc (for
all ρ ∈ [0, 1]) as a hypothesis. It holds with c = 2 (cro2_rhoOptimise).
StatMech.Probability.bph_RhoOptimise · 15 lines
def bph_RhoOptimise (c : ℝ) : Prop :=
∀ {E : Type} [Fintype E] [DecidableEq E] [Nonempty E] (φ : ConfigSpace E → Bool),
(∀ ρ : ℝ, 0 ≤ ρ → ρ ≤ 1 →
(∑ S : Finset E, 4 * (S.card : ℝ) * (ρ ^ (S.card - 1)) ^ 2
* (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
≤ (maxInfl (OSSS.bernoulliWeight (1 / 2 : ℝ)) (fun ω => if φ ω then (1 : ℝ) else 0))
^ (2 / (1 + ρ ^ 2) - 1)
* (∑ S : Finset E, 4 * (S.card : ℝ)
* (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 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 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 4 · Used by 4
TheoremConditional Fourier-form KKL holds trivially with constant zero#✓fully proved
bph_RhoOptimise 0 holds trivially.
theorem bph_rhoOptimise_zero : bph_RhoOptimise 0
def bph_RhoOptimise (c : ℝ) : Prop :=
∀ {E : Type} [Fintype E] [DecidableEq E] [Nonempty E] (φ : ConfigSpace E → Bool),
(∀ ρ : ℝ, 0 ≤ ρ → ρ ≤ 1 →
(∑ S : Finset E, 4 * (S.card : ℝ) * (ρ ^ (S.card - 1)) ^ 2
* (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
≤ (maxInfl (OSSS.bernoulliWeight (1 / 2 : ℝ)) (fun ω => if φ ω then (1 : ℝ) else 0))
^ (2 / (1 + ρ ^ 2) - 1)
* (∑ S : Finset E, 4 * (S.card : ℝ)
* (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 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 : ℝ))
⋯
CSLibExt/Complexity/BooleanFunctions/KKL/BourgainPerCoord.lean:248
TheoremCapped-estimate form of KKL implies the indicator-bound form#✓fully proved
bph_RhoOptimise c implies kls_LogOptimisation c.
theorem bph_logOptimisation_of_rho {c : ℝ} (H : bph_RhoOptimise c) :
kls_LogOptimisation c
def bph_RhoOptimise (c : ℝ) : Prop :=
∀ {E : Type} [Fintype E] [DecidableEq E] [Nonempty E] (φ : ConfigSpace E → Bool),
(∀ ρ : ℝ, 0 ≤ ρ → ρ ≤ 1 →
(∑ S : Finset E, 4 * (S.card : ℝ) * (ρ ^ (S.card - 1)) ^ 2
* (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
≤ (maxInfl (OSSS.bernoulliWeight (1 / 2 : ℝ)) (fun ω => if φ ω then (1 : ℝ) else 0))
^ (2 / (1 + ρ ^ 2) - 1)
* (∑ S : Finset E, 4 * (S.card : ℝ)
* (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 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 : ℝ))
⋯
CSLibExt/Complexity/BooleanFunctions/KKL/BourgainPerCoord.lean:248
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 · Used by 1
TheoremKKL inequality at \(p = 1/2\) from the conditional statement#✓fully proved
bph_RhoOptimise c implies the KKL inequality KKLHypercontractive (1/2) c.
theorem bph_KKL {c : ℝ} (H : bph_RhoOptimise c) :
KKLHypercontractive (1 / 2 : ℝ) c
def bph_RhoOptimise (c : ℝ) : Prop :=
∀ {E : Type} [Fintype E] [DecidableEq E] [Nonempty E] (φ : ConfigSpace E → Bool),
(∀ ρ : ℝ, 0 ≤ ρ → ρ ≤ 1 →
(∑ S : Finset E, 4 * (S.card : ℝ) * (ρ ^ (S.card - 1)) ^ 2
* (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 2)
≤ (maxInfl (OSSS.bernoulliWeight (1 / 2 : ℝ)) (fun ω => if φ ω then (1 : ℝ) else 0))
^ (2 / (1 + ρ ^ 2) - 1)
* (∑ S : Finset E, 4 * (S.card : ℝ)
* (khc_fourierCoeff (fun ω => if φ ω then (1 : ℝ) else 0) S) ^ 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 : ℝ))
⋯
CSLibExt/Complexity/BooleanFunctions/KKL/BourgainPerCoord.lean:248
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.