Analysis of Boolean Functions in Lean

3.1. Low-degree spectral concentration🔗

Definition3.1.1
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 5
Reverse dependency previews
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.14 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
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 1L∃∀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.21 theorem
  • theoremdefined in FABL/Chapter03/LowDegreeSpectralConcentration.lean
    complete
    theorem FABL.isFourierSpectrumConcentratedUpTo_totalInfluence_div {n : }
      (f : FABL.SignCube n  ) {ε : } ( : 0 < ε) :
      FABL.IsFourierSpectrumConcentratedUpTo f ε (FABL.totalInfluence f / ε)
    theorem FABL.isFourierSpectrumConcentratedUpTo_totalInfluence_div
      {n : } (f : FABL.SignCube n  )
      {ε : } ( : 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
uses 1used by 1L∃∀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.36 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 : } (δ : )
      ( : δ  Set.Icc 0 1) (f : FABL.BooleanFunction n) :
      2 * FABL.noiseSensitivity δ  f =
         S, (1 - (1 - 2 * δ) ^ S.card) * FABL.fourierCoeff f.toReal S ^ 2
    theorem FABL.two_mul_noiseSensitivity_eq_sum_fourier
      {n : } (δ : ) ( : δ  Set.Icc 0 1)
      (f : FABL.BooleanFunction n) :
      2 * FABL.noiseSensitivity δ  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 : } (δ : ) ( : δ  Set.Icc 0 1)
      (f : FABL.BooleanFunction n) : 0  FABL.noiseSensitivity δ  f
    theorem FABL.noiseSensitivity_nonneg {n : }
      (δ : ) ( : δ  Set.Icc 0 1)
      (f : FABL.BooleanFunction n) :
      0  FABL.noiseSensitivity δ  f
    Noise sensitivity is nonnegative. 
Proposition3.1.4
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 1L∃∀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.42 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) {δ : } ( : δ  Set.Icc 0 1) :
      2 / (1 - Real.exp (-2)) * FABL.noiseSensitivity δ  f 
        3 * FABL.noiseSensitivity δ  f
    theorem FABL.two_div_one_sub_exp_neg_two_mul_noiseSensitivity_le_three
      {n : } (f : FABL.BooleanFunction n)
      {δ : } ( : δ  Set.Icc 0 1) :
      2 / (1 - Real.exp (-2)) *
          FABL.noiseSensitivity δ  f 
        3 * FABL.noiseSensitivity δ  f
    The error parameter in Proposition 3.3 is bounded by `3 NSδ[f]`. 
Lemma3.1.5
uses 1used by 1L∃∀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.513 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
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 1L∃∀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.61 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
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 1L∃∀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.72 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
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 1L∃∀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.82 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
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 1L∃∀N

Fact 3.7. Every f:\{-1,1\}^n\to\{-1,1\} satisfies \mathbf I[f]\le\deg(f).

Lean code for Lemma3.1.91 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
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 1L∃∀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.1010 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
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 0L∃∀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.113 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.