Analysis of Boolean Functions in Lean

3.1. Low-degree spectral concentration🔗

Definition3.1.1
Group: Chapter 3: Spectral structure and learning (63)
Group member previews
Preview
Proposition 3.1.2
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Definition 1.4.14
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 8
Reverse dependency previews
Preview
Proposition 3.1.2
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

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
  • defdefined in FABL/Chapter03/LowDegreeSpectralConcentration.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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. 
Proposition3.1.2
Group: Chapter 3: Spectral structure and learning (63)
Group member previews
Preview
Definition 3.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 2.3.16
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 3
Reverse dependency previews
Preview
Corollary 3.4.7
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

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
  • theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.lean
    complete
    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] / ε`. 
Lemma3.1.3
Group: Chapter 3: Spectral structure and learning (63)
Group member previews
Preview
Definition 3.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 1✓L∃∀N

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
  • theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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. 
Proposition3.1.4
Group: Chapter 3: Spectral structure and learning (63)
Group member previews
Preview
Definition 3.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Theorem 2.4.10
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 2
Reverse dependency previews
Preview
Corollary 3.4.9
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

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
  • theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.lean
    complete
    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.lean
    complete
    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]`. 
Lemma3.1.5
Group: Chapter 3: Spectral structure and learning (63)
Group member previews
Preview
Definition 3.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 1✓L∃∀N

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
  • defdefined in FABL/Chapter03/LowDegreeSpectralConcentration.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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. 
Lemma3.1.6
Group: Chapter 3: Spectral structure and learning (63)
Group member previews
Preview
Definition 3.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Definition 1.2.4
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 2
Reverse dependency previews
Preview
Proposition 3.1.8
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

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
  • theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.lean
    complete
    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. 
Lemma3.1.7
Group: Chapter 3: Spectral structure and learning (63)
Group member previews
Preview
Definition 3.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Definition 1.2.4
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

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
  • theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.lean
    complete
    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.lean
    complete
    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. 
Proposition3.1.8
Group: Chapter 3: Spectral structure and learning (63)
Group member previews
Preview
Definition 3.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 4
Statement dependency previews
Preview
Lemma 2.2.6
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

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
  • theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.lean
    complete
    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.lean
    complete
    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. 
Lemma3.1.9
Group: Chapter 3: Spectral structure and learning (63)
Group member previews
Preview
Definition 3.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Definition 1.2.4
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1✓L∃∀N

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
  • theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.lean
    complete
    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. 
Lemma3.1.10
Group: Chapter 3: Spectral structure and learning (63)
Group member previews
Preview
Definition 3.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Definition 2.1.4
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 2
Reverse dependency previews
Preview
Theorem 3.1.11
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
✓L∃∀N

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
  • theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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. 
Theorem3.1.11
Group: Chapter 3: Spectral structure and learning (63)
Group member previews
Preview
Definition 3.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 4
Statement dependency previews
Preview
Definition 2.1.4
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0✓L∃∀N

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
  • theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.lean
    complete
    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.lean
    complete
    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.lean
    complete
    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.