3.1. Low-degree spectral concentration
-
FABL.fourierWeightAboveReal[complete] -
FABL.IsFourierSpectrumConcentratedUpTo[complete] -
FABL.fourierWeightAboveReal_natCast[complete] -
FABL.spectralSample_tailMass_eq_fourierWeightAboveReal[complete]
Definition 3.1. Let f:\{-1,1\}^n\to\mathbb R, let k\in\mathbb R
be a degree cutoff, and let \epsilon\ge0. The Fourier spectrum of f is
\epsilon-concentrated on degree up to k if
\mathbf W^{>k}[f]
=\sum_{\substack{S\subseteq[n]\\|S|>k}}\widehat f(S)^2
\le\epsilon.
If f:\{-1,1\}^n\to\{-1,1\} and \mathcal S_f is its spectral
distribution, the same condition is
\Pr_{\boldsymbol S\sim\mathcal S_f}
[|\boldsymbol S|>k]\le\epsilon.
Lean code for Definition3.1.1●4 declarations
Associated Lean declarations
-
FABL.fourierWeightAboveReal[complete]
-
FABL.IsFourierSpectrumConcentratedUpTo[complete]
-
FABL.fourierWeightAboveReal_natCast[complete]
-
FABL.spectralSample_tailMass_eq_fourierWeightAboveReal[complete]
-
FABL.fourierWeightAboveReal[complete] -
FABL.IsFourierSpectrumConcentratedUpTo[complete] -
FABL.fourierWeightAboveReal_natCast[complete] -
FABL.spectralSample_tailMass_eq_fourierWeightAboveReal[complete]
-
defdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
def FABL.fourierWeightAboveReal {n : ℕ} (k : ℝ) (f : FABL.SignCube n → ℝ) : ℝ
def FABL.fourierWeightAboveReal {n : ℕ} (k : ℝ) (f : FABL.SignCube n → ℝ) : ℝ
O'Donnell, Definition 3.1: Fourier weight strictly above a real degree cutoff. The cutoff is real because the book subsequently uses `𝐈[f] / ε` and `1 / δ`.
-
defdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
def FABL.IsFourierSpectrumConcentratedUpTo {n : ℕ} (f : FABL.SignCube n → ℝ) (ε k : ℝ) : Prop
def FABL.IsFourierSpectrumConcentratedUpTo {n : ℕ} (f : FABL.SignCube n → ℝ) (ε k : ℝ) : Prop
O'Donnell, Definition 3.1: the Fourier spectrum is `ε`-concentrated through degree `k`.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.fourierWeightAboveReal_natCast {n : ℕ} (k : ℕ) (f : FABL.SignCube n → ℝ) : FABL.fourierWeightAboveReal (↑k) f = FABL.fourierWeightAbove k f
theorem FABL.fourierWeightAboveReal_natCast {n : ℕ} (k : ℕ) (f : FABL.SignCube n → ℝ) : FABL.fourierWeightAboveReal (↑k) f = FABL.fourierWeightAbove k f
The real-cutoff definition specializes to the natural-cutoff tail from Chapter 1.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.spectralSample_tailMass_eq_fourierWeightAboveReal {n : ℕ} (f : FABL.BooleanFunction n) (k : ℝ) : ∑ S with k < ↑S.card, ((FABL.spectralSample f) S).toReal = FABL.fourierWeightAboveReal k f.toReal
theorem FABL.spectralSample_tailMass_eq_fourierWeightAboveReal {n : ℕ} (f : FABL.BooleanFunction n) (k : ℝ) : ∑ S with k < ↑S.card, ((FABL.spectralSample f) S).toReal = FABL.fourierWeightAboveReal k f.toReal
For a Boolean-valued function, the mass of the spectral-sample tail is exactly its Fourier weight above the same cutoff.
Proposition 3.2. For every f:\{-1,1\}^n\to\mathbb R and
\epsilon>0, the Fourier spectrum of f is \epsilon-concentrated on
degree up to \mathbf I[f]/\epsilon; equivalently,
\sum_{\substack{S\subseteq[n]\\|S|>\mathbf I[f]/\epsilon}}
\widehat f(S)^2
\le\epsilon.
Lean code for Proposition3.1.2●1 theorem
Associated Lean declarations
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.isFourierSpectrumConcentratedUpTo_totalInfluence_div {n : ℕ} (f : FABL.SignCube n → ℝ) {ε : ℝ} (hε : 0 < ε) : FABL.IsFourierSpectrumConcentratedUpTo f ε (FABL.totalInfluence f / ε)
theorem FABL.isFourierSpectrumConcentratedUpTo_totalInfluence_div {n : ℕ} (f : FABL.SignCube n → ℝ) {ε : ℝ} (hε : 0 < ε) : FABL.IsFourierSpectrumConcentratedUpTo f ε (FABL.totalInfluence f / ε)
O'Donnell, Proposition 3.2: total influence controls the Fourier mass above the real cutoff `𝐈[f] / ε`.
-
FABL.one_sub_two_mul_pow_le_exp_neg_two[complete] -
FABL.one_sub_one_sub_two_mul_pow_nonneg[complete] -
FABL.monotone_one_sub_one_sub_two_mul_pow[complete] -
FABL.two_div_one_sub_exp_neg_two_le_three[complete] -
FABL.two_mul_noiseSensitivity_eq_sum_fourier[complete] -
FABL.noiseSensitivity_nonneg[complete]
Noise-tail estimate used in Proposition 3.3. Let
\delta\in(0,1/2] and let m\in\mathbb N. The function
m\longmapsto 1-(1-2\delta)^m is nonnegative and nondecreasing. In
particular, whenever m\ge1/\delta, one has
1-(1-2\delta)^m\ge1-e^{-2}. The numerical constant also satisfies
\frac{2}{1-e^{-2}}\le3.
Lean code for Lemma3.1.3●6 theorems
Associated Lean declarations
-
FABL.one_sub_two_mul_pow_le_exp_neg_two[complete]
-
FABL.one_sub_one_sub_two_mul_pow_nonneg[complete]
-
FABL.monotone_one_sub_one_sub_two_mul_pow[complete]
-
FABL.two_div_one_sub_exp_neg_two_le_three[complete]
-
FABL.two_mul_noiseSensitivity_eq_sum_fourier[complete]
-
FABL.noiseSensitivity_nonneg[complete]
-
FABL.one_sub_two_mul_pow_le_exp_neg_two[complete] -
FABL.one_sub_one_sub_two_mul_pow_nonneg[complete] -
FABL.monotone_one_sub_one_sub_two_mul_pow[complete] -
FABL.two_div_one_sub_exp_neg_two_le_three[complete] -
FABL.two_mul_noiseSensitivity_eq_sum_fourier[complete] -
FABL.noiseSensitivity_nonneg[complete]
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.one_sub_two_mul_pow_le_exp_neg_two {δ : ℝ} (hδpos : 0 < δ) (hδhalf : δ ≤ 1 / 2) {m : ℕ} (hm : 1 / δ ≤ ↑m) : (1 - 2 * δ) ^ m ≤ Real.exp (-2)
theorem FABL.one_sub_two_mul_pow_le_exp_neg_two {δ : ℝ} (hδpos : 0 < δ) (hδhalf : δ ≤ 1 / 2) {m : ℕ} (hm : 1 / δ ≤ ↑m) : (1 - 2 * δ) ^ m ≤ Real.exp (-2)
The exponential estimate used in Proposition 3.3.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.one_sub_one_sub_two_mul_pow_nonneg {δ : ℝ} (hδnonneg : 0 ≤ δ) (hδhalf : δ ≤ 1 / 2) (m : ℕ) : 0 ≤ 1 - (1 - 2 * δ) ^ m
theorem FABL.one_sub_one_sub_two_mul_pow_nonneg {δ : ℝ} (hδnonneg : 0 ≤ δ) (hδhalf : δ ≤ 1 / 2) (m : ℕ) : 0 ≤ 1 - (1 - 2 * δ) ^ m
The factor `m ↦ 1 - (1 - 2δ)^m` is nonnegative on the range used in Proposition 3.3.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.monotone_one_sub_one_sub_two_mul_pow {δ : ℝ} (hδnonneg : 0 ≤ δ) (hδhalf : δ ≤ 1 / 2) : Monotone fun m => 1 - (1 - 2 * δ) ^ m
theorem FABL.monotone_one_sub_one_sub_two_mul_pow {δ : ℝ} (hδnonneg : 0 ≤ δ) (hδhalf : δ ≤ 1 / 2) : Monotone fun m => 1 - (1 - 2 * δ) ^ m
The factor `m ↦ 1 - (1 - 2δ)^m` is nondecreasing.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.two_div_one_sub_exp_neg_two_le_three : 2 / (1 - Real.exp (-2)) ≤ 3
theorem FABL.two_div_one_sub_exp_neg_two_le_three : 2 / (1 - Real.exp (-2)) ≤ 3
The numerical constant in Proposition 3.3 is at most three.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.two_mul_noiseSensitivity_eq_sum_fourier {n : ℕ} (δ : ℝ) (hδ : δ ∈ Set.Icc 0 1) (f : FABL.BooleanFunction n) : 2 * FABL.noiseSensitivity δ hδ f = ∑ S, (1 - (1 - 2 * δ) ^ S.card) * FABL.fourierCoeff f.toReal S ^ 2
theorem FABL.two_mul_noiseSensitivity_eq_sum_fourier {n : ℕ} (δ : ℝ) (hδ : δ ∈ Set.Icc 0 1) (f : FABL.BooleanFunction n) : 2 * FABL.noiseSensitivity δ hδ f = ∑ S, (1 - (1 - 2 * δ) ^ S.card) * FABL.fourierCoeff f.toReal S ^ 2
Theorem 2.49 rewritten without grouping the Fourier coefficients by level.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.noiseSensitivity_nonneg {n : ℕ} (δ : ℝ) (hδ : δ ∈ Set.Icc 0 1) (f : FABL.BooleanFunction n) : 0 ≤ FABL.noiseSensitivity δ hδ f
theorem FABL.noiseSensitivity_nonneg {n : ℕ} (δ : ℝ) (hδ : δ ∈ Set.Icc 0 1) (f : FABL.BooleanFunction n) : 0 ≤ FABL.noiseSensitivity δ hδ f
Noise sensitivity is nonnegative.
Proposition 3.3. For every
f:\{-1,1\}^n\to\{-1,1\} and \delta\in(0,1/2], the Fourier
spectrum of f is \epsilon-concentrated on degree up to 1/\delta,
where \epsilon=\frac{2}{1-e^{-2}}\operatorname{NS}_\delta[f]\le3\operatorname{NS}_\delta[f].
Thus
\sum_{\substack{S\subseteq[n]\\|S|>1/\delta}}
\widehat f(S)^2
\le\frac{2}{1-e^{-2}}\operatorname{NS}_\delta[f].
Lean code for Proposition3.1.4●2 theorems
Associated Lean declarations
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.isFourierSpectrumConcentratedUpTo_noiseSensitivity {n : ℕ} (f : FABL.BooleanFunction n) {δ : ℝ} (hδpos : 0 < δ) (hδhalf : δ ≤ 1 / 2) : FABL.IsFourierSpectrumConcentratedUpTo f.toReal (2 / (1 - Real.exp (-2)) * FABL.noiseSensitivity δ ⋯ f) (1 / δ)
theorem FABL.isFourierSpectrumConcentratedUpTo_noiseSensitivity {n : ℕ} (f : FABL.BooleanFunction n) {δ : ℝ} (hδpos : 0 < δ) (hδhalf : δ ≤ 1 / 2) : FABL.IsFourierSpectrumConcentratedUpTo f.toReal (2 / (1 - Real.exp (-2)) * FABL.noiseSensitivity δ ⋯ f) (1 / δ)
O'Donnell, Proposition 3.3: noise sensitivity controls the Fourier tail above `1 / δ`.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.two_div_one_sub_exp_neg_two_mul_noiseSensitivity_le_three {n : ℕ} (f : FABL.BooleanFunction n) {δ : ℝ} (hδ : δ ∈ Set.Icc 0 1) : 2 / (1 - Real.exp (-2)) * FABL.noiseSensitivity δ hδ f ≤ 3 * FABL.noiseSensitivity δ hδ f
theorem FABL.two_div_one_sub_exp_neg_two_mul_noiseSensitivity_le_three {n : ℕ} (f : FABL.BooleanFunction n) {δ : ℝ} (hδ : δ ∈ Set.Icc 0 1) : 2 / (1 - Real.exp (-2)) * FABL.noiseSensitivity δ hδ f ≤ 3 * FABL.noiseSensitivity δ hδ f
The error parameter in Proposition 3.3 is bounded by `3 NSδ[f]`.
-
FABL.firstCoordinateSlice[complete] -
FABL.tailFrequency[complete] -
FABL.monomial_tailFrequency_fin_cons[complete] -
FABL.monomial_insert_zero_tailFrequency_fin_cons[complete] -
FABL.fourierCoeff_tailFrequency[complete] -
FABL.fourierCoeff_insert_zero_tailFrequency[complete] -
FABL.uniformProbability_ne_zero_eq_firstCoordinateSlices[complete] -
FABL.exists_fourierCoeff_ne_zero_of_ne_zero[complete] -
FABL.fourierDegree_firstCoordinateSlice_le[complete] -
FABL.fourierDegree_firstCoordinateSlice_one_le_pred_of_neg_one_eq_zero[complete] -
FABL.fourierDegree_firstCoordinateSlice_neg_one_le_pred_of_one_eq_zero[complete] -
FABL.degreeBound_pos_of_firstCoordinateSlice_one_ne_zero_of_neg_one_eq_zero[complete] -
FABL.degreeBound_pos_of_firstCoordinateSlice_neg_one_ne_zero_of_one_eq_zero[complete]
Exercise 3.4. Prove by induction on n that if
f:\{-1,1\}^n\to\mathbb R is not identically zero and
\deg(f)\le k, then
\Pr_{\boldsymbol x\sim\{-1,1\}^n}[f(\boldsymbol x)\ne0]\ge2^{-k}.
For the induction step, write f_+(x)=f(x,1) and f_-(x)=f(x,-1).
If one of f_+ and f_- is identically zero, show that the other has
degree at most k-1.
Lean code for Lemma3.1.5●13 declarations
Associated Lean declarations
-
FABL.firstCoordinateSlice[complete]
-
FABL.tailFrequency[complete]
-
FABL.monomial_tailFrequency_fin_cons[complete]
-
FABL.monomial_insert_zero_tailFrequency_fin_cons[complete]
-
FABL.fourierCoeff_tailFrequency[complete]
-
FABL.fourierCoeff_insert_zero_tailFrequency[complete]
-
FABL.uniformProbability_ne_zero_eq_firstCoordinateSlices[complete]
-
FABL.exists_fourierCoeff_ne_zero_of_ne_zero[complete]
-
FABL.fourierDegree_firstCoordinateSlice_le[complete]
-
FABL.fourierDegree_firstCoordinateSlice_one_le_pred_of_neg_one_eq_zero[complete]
-
FABL.fourierDegree_firstCoordinateSlice_neg_one_le_pred_of_one_eq_zero[complete]
-
FABL.degreeBound_pos_of_firstCoordinateSlice_one_ne_zero_of_neg_one_eq_zero[complete]
-
FABL.degreeBound_pos_of_firstCoordinateSlice_neg_one_ne_zero_of_one_eq_zero[complete]
-
FABL.firstCoordinateSlice[complete] -
FABL.tailFrequency[complete] -
FABL.monomial_tailFrequency_fin_cons[complete] -
FABL.monomial_insert_zero_tailFrequency_fin_cons[complete] -
FABL.fourierCoeff_tailFrequency[complete] -
FABL.fourierCoeff_insert_zero_tailFrequency[complete] -
FABL.uniformProbability_ne_zero_eq_firstCoordinateSlices[complete] -
FABL.exists_fourierCoeff_ne_zero_of_ne_zero[complete] -
FABL.fourierDegree_firstCoordinateSlice_le[complete] -
FABL.fourierDegree_firstCoordinateSlice_one_le_pred_of_neg_one_eq_zero[complete] -
FABL.fourierDegree_firstCoordinateSlice_neg_one_le_pred_of_one_eq_zero[complete] -
FABL.degreeBound_pos_of_firstCoordinateSlice_one_ne_zero_of_neg_one_eq_zero[complete] -
FABL.degreeBound_pos_of_firstCoordinateSlice_neg_one_ne_zero_of_one_eq_zero[complete]
-
defdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
def FABL.firstCoordinateSlice {n : ℕ} (f : FABL.SignCube (n + 1) → ℝ) (b : FABL.Sign) : FABL.SignCube n → ℝ
def FABL.firstCoordinateSlice {n : ℕ} (f : FABL.SignCube (n + 1) → ℝ) (b : FABL.Sign) : FABL.SignCube n → ℝ
Restrict a real-valued function on an `(n+1)`-cube by fixing its first coordinate.
-
defdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
def FABL.tailFrequency {n : ℕ} (S : Finset (Fin n)) : Finset (Fin (n + 1))
def FABL.tailFrequency {n : ℕ} (S : Finset (Fin n)) : Finset (Fin (n + 1))
Lift a frequency past the first coordinate.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.monomial_tailFrequency_fin_cons {n : ℕ} (S : Finset (Fin n)) (b : FABL.Sign) (x : FABL.SignCube n) : FABL.monomial (FABL.tailFrequency S) (Fin.cons b x) = FABL.monomial S x
theorem FABL.monomial_tailFrequency_fin_cons {n : ℕ} (S : Finset (Fin n)) (b : FABL.Sign) (x : FABL.SignCube n) : FABL.monomial (FABL.tailFrequency S) (Fin.cons b x) = FABL.monomial S x
A tail frequency evaluates on a cons input as the original frequency.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.monomial_insert_zero_tailFrequency_fin_cons {n : ℕ} (S : Finset (Fin n)) (b : FABL.Sign) (x : FABL.SignCube n) : FABL.monomial (insert 0 (FABL.tailFrequency S)) (Fin.cons b x) = FABL.signValue b * FABL.monomial S x
theorem FABL.monomial_insert_zero_tailFrequency_fin_cons {n : ℕ} (S : Finset (Fin n)) (b : FABL.Sign) (x : FABL.SignCube n) : FABL.monomial (insert 0 (FABL.tailFrequency S)) (Fin.cons b x) = FABL.signValue b * FABL.monomial S x
Adding the first coordinate to a tail frequency contributes the fixed first sign.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.fourierCoeff_tailFrequency {n : ℕ} (f : FABL.SignCube (n + 1) → ℝ) (S : Finset (Fin n)) : FABL.fourierCoeff f (FABL.tailFrequency S) = (FABL.fourierCoeff (FABL.firstCoordinateSlice f 1) S + FABL.fourierCoeff (FABL.firstCoordinateSlice f (-1)) S) / 2
theorem FABL.fourierCoeff_tailFrequency {n : ℕ} (f : FABL.SignCube (n + 1) → ℝ) (S : Finset (Fin n)) : FABL.fourierCoeff f (FABL.tailFrequency S) = (FABL.fourierCoeff (FABL.firstCoordinateSlice f 1) S + FABL.fourierCoeff (FABL.firstCoordinateSlice f (-1)) S) / 2
The coefficient on a tail frequency is the mean of the two slice coefficients.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.fourierCoeff_insert_zero_tailFrequency {n : ℕ} (f : FABL.SignCube (n + 1) → ℝ) (S : Finset (Fin n)) : FABL.fourierCoeff f (insert 0 (FABL.tailFrequency S)) = (FABL.fourierCoeff (FABL.firstCoordinateSlice f 1) S - FABL.fourierCoeff (FABL.firstCoordinateSlice f (-1)) S) / 2
theorem FABL.fourierCoeff_insert_zero_tailFrequency {n : ℕ} (f : FABL.SignCube (n + 1) → ℝ) (S : Finset (Fin n)) : FABL.fourierCoeff f (insert 0 (FABL.tailFrequency S)) = (FABL.fourierCoeff (FABL.firstCoordinateSlice f 1) S - FABL.fourierCoeff (FABL.firstCoordinateSlice f (-1)) S) / 2
The coefficient on a frequency containing the first coordinate is half the difference of the two slice coefficients.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.uniformProbability_ne_zero_eq_firstCoordinateSlices {n : ℕ} (f : FABL.SignCube (n + 1) → ℝ) : (FABL.uniformProbability fun x => f x ≠ 0) = ((FABL.uniformProbability fun x => FABL.firstCoordinateSlice f 1 x ≠ 0) + FABL.uniformProbability fun x => FABL.firstCoordinateSlice f (-1) x ≠ 0) / 2
theorem FABL.uniformProbability_ne_zero_eq_firstCoordinateSlices {n : ℕ} (f : FABL.SignCube (n + 1) → ℝ) : (FABL.uniformProbability fun x => f x ≠ 0) = ((FABL.uniformProbability fun x => FABL.firstCoordinateSlice f 1 x ≠ 0) + FABL.uniformProbability fun x => FABL.firstCoordinateSlice f (-1) x ≠ 0) / 2
Uniform support probability decomposes as the mean of the two slice support probabilities.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.exists_fourierCoeff_ne_zero_of_ne_zero {n : ℕ} (f : FABL.SignCube n → ℝ) (hf : f ≠ 0) : ∃ S, FABL.fourierCoeff f S ≠ 0
theorem FABL.exists_fourierCoeff_ne_zero_of_ne_zero {n : ℕ} (f : FABL.SignCube n → ℝ) (hf : f ≠ 0) : ∃ S, FABL.fourierCoeff f S ≠ 0
A nonzero function has a nonzero Fourier coefficient.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.fourierDegree_firstCoordinateSlice_le {n : ℕ} (f : FABL.SignCube (n + 1) → ℝ) (b : FABL.Sign) {k : ℕ} (hdegree : FABL.fourierDegree f ≤ k) : FABL.fourierDegree (FABL.firstCoordinateSlice f b) ≤ k
theorem FABL.fourierDegree_firstCoordinateSlice_le {n : ℕ} (f : FABL.SignCube (n + 1) → ℝ) (b : FABL.Sign) {k : ℕ} (hdegree : FABL.fourierDegree f ≤ k) : FABL.fourierDegree (FABL.firstCoordinateSlice f b) ≤ k
Fixing the first coordinate does not increase Fourier degree.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.fourierDegree_firstCoordinateSlice_one_le_pred_of_neg_one_eq_zero {n : ℕ} (f : FABL.SignCube (n + 1) → ℝ) {k : ℕ} (hk : 0 < k) (hdegree : FABL.fourierDegree f ≤ k) (hminus : FABL.firstCoordinateSlice f (-1) = 0) : FABL.fourierDegree (FABL.firstCoordinateSlice f 1) ≤ k - 1
theorem FABL.fourierDegree_firstCoordinateSlice_one_le_pred_of_neg_one_eq_zero {n : ℕ} (f : FABL.SignCube (n + 1) → ℝ) {k : ℕ} (hk : 0 < k) (hdegree : FABL.fourierDegree f ≤ k) (hminus : FABL.firstCoordinateSlice f (-1) = 0) : FABL.fourierDegree (FABL.firstCoordinateSlice f 1) ≤ k - 1
If the negative first-coordinate slice vanishes, the positive slice loses one degree.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.fourierDegree_firstCoordinateSlice_neg_one_le_pred_of_one_eq_zero {n : ℕ} (f : FABL.SignCube (n + 1) → ℝ) {k : ℕ} (hk : 0 < k) (hdegree : FABL.fourierDegree f ≤ k) (hplus : FABL.firstCoordinateSlice f 1 = 0) : FABL.fourierDegree (FABL.firstCoordinateSlice f (-1)) ≤ k - 1
theorem FABL.fourierDegree_firstCoordinateSlice_neg_one_le_pred_of_one_eq_zero {n : ℕ} (f : FABL.SignCube (n + 1) → ℝ) {k : ℕ} (hk : 0 < k) (hdegree : FABL.fourierDegree f ≤ k) (hplus : FABL.firstCoordinateSlice f 1 = 0) : FABL.fourierDegree (FABL.firstCoordinateSlice f (-1)) ≤ k - 1
If the positive first-coordinate slice vanishes, the negative slice loses one degree.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.degreeBound_pos_of_firstCoordinateSlice_one_ne_zero_of_neg_one_eq_zero {n : ℕ} (f : FABL.SignCube (n + 1) → ℝ) {k : ℕ} (hdegree : FABL.fourierDegree f ≤ k) (hplus : FABL.firstCoordinateSlice f 1 ≠ 0) (hminus : FABL.firstCoordinateSlice f (-1) = 0) : 0 < k
theorem FABL.degreeBound_pos_of_firstCoordinateSlice_one_ne_zero_of_neg_one_eq_zero {n : ℕ} (f : FABL.SignCube (n + 1) → ℝ) {k : ℕ} (hdegree : FABL.fourierDegree f ≤ k) (hplus : FABL.firstCoordinateSlice f 1 ≠ 0) (hminus : FABL.firstCoordinateSlice f (-1) = 0) : 0 < k
A nonzero positive slice opposite a zero negative slice forces a positive degree bound.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.degreeBound_pos_of_firstCoordinateSlice_neg_one_ne_zero_of_one_eq_zero {n : ℕ} (f : FABL.SignCube (n + 1) → ℝ) {k : ℕ} (hdegree : FABL.fourierDegree f ≤ k) (hminus : FABL.firstCoordinateSlice f (-1) ≠ 0) (hplus : FABL.firstCoordinateSlice f 1 = 0) : 0 < k
theorem FABL.degreeBound_pos_of_firstCoordinateSlice_neg_one_ne_zero_of_one_eq_zero {n : ℕ} (f : FABL.SignCube (n + 1) → ℝ) {k : ℕ} (hdegree : FABL.fourierDegree f ≤ k) (hminus : FABL.firstCoordinateSlice f (-1) ≠ 0) (hplus : FABL.firstCoordinateSlice f 1 = 0) : 0 < k
A nonzero negative slice opposite a zero positive slice forces a positive degree bound.
Lemma 3.5. Suppose f:\{-1,1\}^n\to\mathbb R is not identically zero
and \deg(f)\le k. Then, for uniform
\boldsymbol x\in\{-1,1\}^n, one has
\Pr[f(\boldsymbol x)\ne0]\ge2^{-k}.
Lean code for Lemma3.1.6●1 theorem
Associated Lean declarations
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.inv_two_pow_le_uniformProbability_ne_zero_of_fourierDegree_le {n : ℕ} (f : FABL.SignCube n → ℝ) (hf : f ≠ 0) {k : ℕ} (hdegree : FABL.fourierDegree f ≤ k) : 2⁻¹ ^ k ≤ FABL.uniformProbability fun x => f x ≠ 0
theorem FABL.inv_two_pow_le_uniformProbability_ne_zero_of_fourierDegree_le {n : ℕ} (f : FABL.SignCube n → ℝ) (hf : f ≠ 0) {k : ℕ} (hdegree : FABL.fourierDegree f ≤ k) : 2⁻¹ ^ k ≤ FABL.uniformProbability fun x => f x ≠ 0
O'Donnell, Exercise 3.4 and Lemma 3.5: a nonzero degree-`k` function is nonzero on at least a `2⁻ᵏ` fraction of the sign cube.
Degree under discrete differentiation. If
f:\{-1,1\}^n\to\mathbb R satisfies \deg(f)\le k and i\in[n],
then \deg(D_i f)\le k-1 whenever D_i f is not identically zero. For
Boolean-valued f,
\operatorname{Inf}_i[f]=\Pr_{\boldsymbol x}[D_i f(\boldsymbol x)\ne0].
Lean code for Lemma3.1.7●2 theorems
Associated Lean declarations
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.fourierDegree_discreteDerivative_le_pred {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) {k : ℕ} (hdegree : FABL.fourierDegree f ≤ k) : FABL.fourierDegree ((FABL.discreteDerivative i) f) ≤ k - 1
theorem FABL.fourierDegree_discreteDerivative_le_pred {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) {k : ℕ} (hdegree : FABL.fourierDegree f ≤ k) : FABL.fourierDegree ((FABL.discreteDerivative i) f) ≤ k - 1
Discrete differentiation lowers Fourier degree by at least one. The zero derivative uses FABL's convention that the zero function has degree zero.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.booleanInfluence_eq_uniformProbability_discreteDerivative_ne_zero {n : ℕ} (f : FABL.BooleanFunction n) (i : Fin n) : FABL.booleanInfluence f i = FABL.uniformProbability fun x => (FABL.discreteDerivative i) f.toReal x ≠ 0
theorem FABL.booleanInfluence_eq_uniformProbability_discreteDerivative_ne_zero {n : ℕ} (f : FABL.BooleanFunction n) (i : Fin n) : FABL.booleanInfluence f i = FABL.uniformProbability fun x => (FABL.discreteDerivative i) f.toReal x ≠ 0
For Boolean functions, influence is the probability that the discrete derivative is nonzero.
Proposition 3.6. If f:\{-1,1\}^n\to\{-1,1\} satisfies
\deg(f)\le k, then for every i\in[n],
\operatorname{Inf}_i[f]=0
\quad\text{or}\quad
\operatorname{Inf}_i[f]\ge2^{1-k}.
Lean code for Proposition3.1.8●2 theorems
Associated Lean declarations
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.booleanInfluence_eq_zero_of_fourierDegree_le_zero {n : ℕ} (f : FABL.BooleanFunction n) (i : Fin n) (hdegree : FABL.fourierDegree f.toReal ≤ 0) : FABL.booleanInfluence f i = 0
theorem FABL.booleanInfluence_eq_zero_of_fourierDegree_le_zero {n : ℕ} (f : FABL.BooleanFunction n) (i : Fin n) (hdegree : FABL.fourierDegree f.toReal ≤ 0) : FABL.booleanInfluence f i = 0
The degree-zero boundary case of Proposition 3.6: every coordinate influence vanishes.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.booleanInfluence_eq_zero_or_two_mul_inv_two_pow_le {n : ℕ} (f : FABL.BooleanFunction n) {k : ℕ} (hdegree : FABL.fourierDegree f.toReal ≤ k) (i : Fin n) : FABL.booleanInfluence f i = 0 ∨ 2 * 2⁻¹ ^ k ≤ FABL.booleanInfluence f i
theorem FABL.booleanInfluence_eq_zero_or_two_mul_inv_two_pow_le {n : ℕ} (f : FABL.BooleanFunction n) {k : ℕ} (hdegree : FABL.fourierDegree f.toReal ≤ k) (i : Fin n) : FABL.booleanInfluence f i = 0 ∨ 2 * 2⁻¹ ^ k ≤ FABL.booleanInfluence f i
O'Donnell, Proposition 3.6: every coordinate influence of a degree-`k` Boolean function is either zero or at least `2¹⁻ᵏ`. The lower bound is written as `2 * (2⁻¹)^k`, which also states the `k = 0` value literally.
Fact 3.7. Every f:\{-1,1\}^n\to\{-1,1\} satisfies
\mathbf I[f]\le\deg(f).
Lean code for Lemma3.1.9●1 theorem
Associated Lean declarations
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.totalInfluence_toReal_le_fourierDegree {n : ℕ} (f : FABL.BooleanFunction n) : FABL.totalInfluence f.toReal ≤ ↑(FABL.fourierDegree f.toReal)
theorem FABL.totalInfluence_toReal_le_fourierDegree {n : ℕ} (f : FABL.BooleanFunction n) : FABL.totalInfluence f.toReal ≤ ↑(FABL.fourierDegree f.toReal)
O'Donnell, Fact 3.7: total influence of a Boolean function is at most its Fourier degree.
-
FABL.isRelevant_of_fourierCoeff_ne_zero[complete] -
FABL.relevantCoordinates[complete] -
FABL.mem_relevantCoordinates[complete] -
FABL.dependsOn_relevantCoordinates[complete] -
FABL.sum_influence_relevantCoordinates_eq_totalInfluence[complete] -
FABL.mul_card_relevantCoordinates_le_totalInfluence[complete] -
FABL.isKJunta_of_card_relevantCoordinates_le[complete] -
FABL.dependsOn_toReal_iff[complete] -
FABL.isKJunta_toReal_iff[complete] -
FABL.isKJunta_of_card_relevantCoordinates_toReal_le[complete]
Relevant-coordinate counting principle. For
f:\{-1,1\}^n\to\{-1,1\}, let
R_f=\{i\in[n]:\operatorname{Inf}_i[f]>0\}.
The function f depends only on the coordinates in R_f. Moreover, if
every i\in R_f has \operatorname{Inf}_i[f]\ge a for some a>0, then
a|R_f|\le\sum_{i\in R_f}\operatorname{Inf}_i[f]
=\mathbf I[f].
Consequently, a bound |R_f|\le r makes f an r-junta.
Lean code for Lemma3.1.10●10 declarations
Associated Lean declarations
-
FABL.isRelevant_of_fourierCoeff_ne_zero[complete]
-
FABL.relevantCoordinates[complete]
-
FABL.mem_relevantCoordinates[complete]
-
FABL.dependsOn_relevantCoordinates[complete]
-
FABL.sum_influence_relevantCoordinates_eq_totalInfluence[complete]
-
FABL.mul_card_relevantCoordinates_le_totalInfluence[complete]
-
FABL.isKJunta_of_card_relevantCoordinates_le[complete]
-
FABL.dependsOn_toReal_iff[complete]
-
FABL.isKJunta_toReal_iff[complete]
-
FABL.isKJunta_of_card_relevantCoordinates_toReal_le[complete]
-
FABL.isRelevant_of_fourierCoeff_ne_zero[complete] -
FABL.relevantCoordinates[complete] -
FABL.mem_relevantCoordinates[complete] -
FABL.dependsOn_relevantCoordinates[complete] -
FABL.sum_influence_relevantCoordinates_eq_totalInfluence[complete] -
FABL.mul_card_relevantCoordinates_le_totalInfluence[complete] -
FABL.isKJunta_of_card_relevantCoordinates_le[complete] -
FABL.dependsOn_toReal_iff[complete] -
FABL.isKJunta_toReal_iff[complete] -
FABL.isKJunta_of_card_relevantCoordinates_toReal_le[complete]
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.isRelevant_of_fourierCoeff_ne_zero {n : ℕ} (f : FABL.SignCube n → ℝ) {S : Finset (Fin n)} {i : Fin n} (hcoeff : FABL.fourierCoeff f S ≠ 0) (hiS : i ∈ S) : FABL.IsRelevant f i
theorem FABL.isRelevant_of_fourierCoeff_ne_zero {n : ℕ} (f : FABL.SignCube n → ℝ) {S : Finset (Fin n)} {i : Fin n} (hcoeff : FABL.fourierCoeff f S ≠ 0) (hiS : i ∈ S) : FABL.IsRelevant f i
A coordinate occurring in a nonzero Fourier character is relevant.
-
defdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
def FABL.relevantCoordinates {n : ℕ} (f : FABL.SignCube n → ℝ) : Finset (Fin n)
def FABL.relevantCoordinates {n : ℕ} (f : FABL.SignCube n → ℝ) : Finset (Fin n)
The finite set of relevant coordinates of a real-valued Boolean-cube function.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.mem_relevantCoordinates {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) : i ∈ FABL.relevantCoordinates f ↔ FABL.IsRelevant f i
theorem FABL.mem_relevantCoordinates {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) : i ∈ FABL.relevantCoordinates f ↔ FABL.IsRelevant f i
Membership in the relevant-coordinate set.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.dependsOn_relevantCoordinates {n : ℕ} (f : FABL.SignCube n → ℝ) : DependsOn f ↑(FABL.relevantCoordinates f)
theorem FABL.dependsOn_relevantCoordinates {n : ℕ} (f : FABL.SignCube n → ℝ) : DependsOn f ↑(FABL.relevantCoordinates f)
A function depends only on its relevant coordinates.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.sum_influence_relevantCoordinates_eq_totalInfluence {n : ℕ} (f : FABL.SignCube n → ℝ) : ∑ i ∈ FABL.relevantCoordinates f, FABL.influence f i = FABL.totalInfluence f
theorem FABL.sum_influence_relevantCoordinates_eq_totalInfluence {n : ℕ} (f : FABL.SignCube n → ℝ) : ∑ i ∈ FABL.relevantCoordinates f, FABL.influence f i = FABL.totalInfluence f
Summing only over relevant coordinates does not change total influence.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.mul_card_relevantCoordinates_le_totalInfluence {n : ℕ} (f : FABL.SignCube n → ℝ) {a : ℝ} (hlower : ∀ (i : Fin n), FABL.IsRelevant f i → a ≤ FABL.influence f i) : a * ↑(FABL.relevantCoordinates f).card ≤ FABL.totalInfluence f
theorem FABL.mul_card_relevantCoordinates_le_totalInfluence {n : ℕ} (f : FABL.SignCube n → ℝ) {a : ℝ} (hlower : ∀ (i : Fin n), FABL.IsRelevant f i → a ≤ FABL.influence f i) : a * ↑(FABL.relevantCoordinates f).card ≤ FABL.totalInfluence f
A uniform positive lower bound on relevant influences bounds their number.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.isKJunta_of_card_relevantCoordinates_le {n : ℕ} (f : FABL.SignCube n → ℝ) {r : ℕ} (hcard : (FABL.relevantCoordinates f).card ≤ r) : FABL.IsKJunta f r
theorem FABL.isKJunta_of_card_relevantCoordinates_le {n : ℕ} (f : FABL.SignCube n → ℝ) {r : ℕ} (hcard : (FABL.relevantCoordinates f).card ≤ r) : FABL.IsKJunta f r
A cardinality bound on the relevant-coordinate set gives the corresponding junta bound.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.dependsOn_toReal_iff {n : ℕ} (f : FABL.BooleanFunction n) (S : Set (Fin n)) : DependsOn f.toReal S ↔ DependsOn f S
theorem FABL.dependsOn_toReal_iff {n : ℕ} (f : FABL.BooleanFunction n) (S : Set (Fin n)) : DependsOn f.toReal S ↔ DependsOn f S
Dependence of a Boolean function is unchanged by its injective real encoding.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.isKJunta_toReal_iff {n : ℕ} (f : FABL.BooleanFunction n) (r : ℕ) : FABL.IsKJunta f.toReal r ↔ FABL.IsKJunta f r
theorem FABL.isKJunta_toReal_iff {n : ℕ} (f : FABL.BooleanFunction n) (r : ℕ) : FABL.IsKJunta f.toReal r ↔ FABL.IsKJunta f r
The junta predicate is unchanged by the injective real encoding of a Boolean function.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.isKJunta_of_card_relevantCoordinates_toReal_le {n : ℕ} (f : FABL.BooleanFunction n) {r : ℕ} (hcard : (FABL.relevantCoordinates f.toReal).card ≤ r) : FABL.IsKJunta f r
theorem FABL.isKJunta_of_card_relevantCoordinates_toReal_le {n : ℕ} (f : FABL.BooleanFunction n) {r : ℕ} (hcard : (FABL.relevantCoordinates f.toReal).card ≤ r) : FABL.IsKJunta f r
A bound on the relevant coordinates of a Boolean function gives its junta bound.
Theorem 3.4. Suppose f:\{-1,1\}^n\to\{-1,1\} satisfies
\deg(f)\le k. Then f is a k2^{k-1}-junta.
For k=0, this means that f is constant and hence is a 0-junta;
for k\ge1, the displayed integer is interpreted literally.
Lean code for Theorem3.1.11●3 theorems
Associated Lean declarations
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.relevantCoordinates_toReal_eq_empty_of_fourierDegree_eq_zero {n : ℕ} (f : FABL.BooleanFunction n) (hdegree : FABL.fourierDegree f.toReal = 0) : FABL.relevantCoordinates f.toReal = ∅
theorem FABL.relevantCoordinates_toReal_eq_empty_of_fourierDegree_eq_zero {n : ℕ} (f : FABL.BooleanFunction n) (hdegree : FABL.fourierDegree f.toReal = 0) : FABL.relevantCoordinates f.toReal = ∅
A Boolean function of Fourier degree zero has no relevant coordinate.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.isKJunta_zero_of_fourierDegree_eq_zero {n : ℕ} (f : FABL.BooleanFunction n) (hdegree : FABL.fourierDegree f.toReal = 0) : FABL.IsKJunta f 0
theorem FABL.isKJunta_zero_of_fourierDegree_eq_zero {n : ℕ} (f : FABL.BooleanFunction n) (hdegree : FABL.fourierDegree f.toReal = 0) : FABL.IsKJunta f 0
The degree-zero case of O'Donnell, Theorem 3.4.
-
theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.leancomplete
theorem FABL.isKJunta_mul_two_pow_pred_of_fourierDegree_le {n : ℕ} (f : FABL.BooleanFunction n) {k : ℕ} (hdegree : FABL.fourierDegree f.toReal ≤ k) : FABL.IsKJunta f (k * 2 ^ (k - 1))
theorem FABL.isKJunta_mul_two_pow_pred_of_fourierDegree_le {n : ℕ} (f : FABL.BooleanFunction n) {k : ℕ} (hdegree : FABL.fourierDegree f.toReal ≤ k) : FABL.IsKJunta f (k * 2 ^ (k - 1))
O'Donnell, Theorem 3.4: a Boolean function of Fourier degree at most `k` is a `k * 2^(k-1)`-junta. The `k = 0` case is handled separately rather than interpreting a negative natural exponent.