Analysis of Boolean Functions in Lean

5.6. Exercises and notes🔗

The exercises used in Sections 5.1--5.5 appear alongside the results they establish. The remaining exercises are collected here.

Lemma5.6.1
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Definition 1.3.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.2 (bias and homogeneous representations of LTFs). Let f(x)=\operatorname{sgn}(a_0+a_1x_1+\cdots+a_nx_n) be a linear threshold function.

(a) If a_0=0, prove that f is odd and hence \mathbb E[f]=0.

(b) If a_0\ge0, prove that \mathbb E[f]\ge0. Show by example that the converse implication need not hold.

(c) If g:\{-1,1\}^n\to\{-1,1\} is a linear threshold function satisfying \mathbb E[g]=0, prove that there are c_1,\ldots,c_n\in\mathbb R such that g(x)=\operatorname{sgn}(c_1x_1+\cdots+c_nx_n) for every x.

With the book's convention \operatorname{sgn}(0)=1, part (a) is false without excluding cube points on the zero set: the all-zero homogeneous form represents the constant +1 function, which is neither odd nor unbiased. Under the necessary hypothesis that every cube-point margin is nonzero, part (a) holds. In part (c), unbiasedness itself yields a homogeneous representation with no ties.

Lean code for Lemma5.6.15 theorems
  • theoremdefined in FABL/Chapter05/LinearThresholdBias.lean
    complete
    theorem FABL.homogeneousLinearThreshold_isOdd_and_isBalanced {n : }
      (f : FABL.BooleanFunction n) (a : Fin n  )
      (hrep :
         (x : FABL.SignCube n),
          f x = FABL.thresholdSign (FABL.affineLinearForm 0 a x))
      (hmargin :  (x : FABL.SignCube n), FABL.affineLinearForm 0 a x  0) :
      Function.Odd f  FABL.IsBalanced f.toReal
    theorem FABL.homogeneousLinearThreshold_isOdd_and_isBalanced
      {n : } (f : FABL.BooleanFunction n)
      (a : Fin n  )
      (hrep :
         (x : FABL.SignCube n),
          f x =
            FABL.thresholdSign
              (FABL.affineLinearForm 0 a x))
      (hmargin :
         (x : FABL.SignCube n),
          FABL.affineLinearForm 0 a x  0) :
      Function.Odd f 
        FABL.IsBalanced f.toReal
    Exercise 5.2(a), corrected for the book's convention `sgn(0) = 1`: a homogeneous
    linear threshold representation with no cube point on its zero set is odd and balanced. 
  • theoremdefined in FABL/Chapter05/LinearThresholdBias.lean
    complete
    theorem FABL.zero_homogeneousLinearThreshold_counterexample :
      have f := fun x => 1;
      have a := fun x => 0;
      (∀ (x : FABL.SignCube 1),
          f x = FABL.thresholdSign (FABL.affineLinearForm 0 a x)) 
        ¬Function.Odd f  FABL.mean f.toReal = 1
    theorem FABL.zero_homogeneousLinearThreshold_counterexample :
      have f := fun x => 1;
      have a := fun x => 0;
      (∀ (x : FABL.SignCube 1),
          f x =
            FABL.thresholdSign
              (FABL.affineLinearForm 0 a x)) 
        ¬Function.Odd f 
          FABL.mean f.toReal = 1
    The smallest positive-dimensional counterexample to the unqualified wording of
    Exercise 5.2(a): the all-zero homogeneous form represents the constant `+1` function,
    which is neither odd nor balanced. 
  • theoremdefined in FABL/Chapter05/LinearThresholdBias.lean
    complete
    theorem FABL.mean_nonneg_of_nonnegative_linearThresholdBias {n : }
      (f : FABL.BooleanFunction n) (a₀ : ) (a : Fin n  )
      (hrep :
         (x : FABL.SignCube n),
          f x = FABL.thresholdSign (FABL.affineLinearForm a₀ a x))
      (ha₀ : 0  a₀) : 0  FABL.mean f.toReal
    theorem FABL.mean_nonneg_of_nonnegative_linearThresholdBias
      {n : } (f : FABL.BooleanFunction n)
      (a₀ : ) (a : Fin n  )
      (hrep :
         (x : FABL.SignCube n),
          f x =
            FABL.thresholdSign
              (FABL.affineLinearForm a₀ a x))
      (ha₀ : 0  a₀) : 0  FABL.mean f.toReal
    Exercise 5.2(b): a nonnegative affine bias forces a nonnegative mean. 
  • theoremdefined in FABL/Chapter05/LinearThresholdBias.lean
    complete
    theorem FABL.nonnegative_mean_negative_bias_counterexample :
       f a₀ a,
        a₀ < 0 
          (∀ (x : FABL.SignCube 1),
              f x = FABL.thresholdSign (FABL.affineLinearForm a₀ a x)) 
            0  FABL.mean f.toReal
    theorem FABL.nonnegative_mean_negative_bias_counterexample :
       f a₀ a,
        a₀ < 0 
          (∀ (x : FABL.SignCube 1),
              f x =
                FABL.thresholdSign
                  (FABL.affineLinearForm a₀ a
                    x)) 
            0  FABL.mean f.toReal
    Exercise 5.2(b), converse counterexample: the one-variable dictator has mean zero while
    the displayed valid representation has strictly negative affine bias. 
  • theoremdefined in FABL/Chapter05/LinearThresholdBias.lean
    complete
    theorem FABL.exists_homogeneousLinearThresholdRepresentation_of_isBalanced
      {n : } (g : FABL.BooleanFunction n) (hg : FABL.IsLinearThreshold g)
      (hbalanced : FABL.IsBalanced g.toReal) :
       c,
         (x : FABL.SignCube n),
          g x = FABL.thresholdSign (FABL.affineLinearForm 0 c x)
    theorem FABL.exists_homogeneousLinearThresholdRepresentation_of_isBalanced
      {n : } (g : FABL.BooleanFunction n)
      (hg : FABL.IsLinearThreshold g)
      (hbalanced : FABL.IsBalanced g.toReal) :
       c,
         (x : FABL.SignCube n),
          g x =
            FABL.thresholdSign
              (FABL.affineLinearForm 0 c x)
    Exercise 5.2(c): every balanced linear threshold function admits an exact homogeneous
    linear threshold representation. No no-tie hypothesis is required. 
Lemma5.6.2
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Definition 2.1.5
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.3 (ordering the influences of an LTF). Suppose f(x)=\operatorname{sgn}(a_0+a_1x_1+\cdots+a_nx_n) is a linear threshold function whose coefficients satisfy |a_1|\ge|a_2|\ge\cdots\ge|a_n|. Then \operatorname{Inf}_1[f]\ge \operatorname{Inf}_2[f]\ge\cdots\ge \operatorname{Inf}_n[f]. It suffices to establish the comparison for two coordinates at a time.

Lean code for Lemma5.6.21 theorem
  • theoremdefined in FABL/Chapter05/LinearThresholdInfluence.lean
    complete
    theorem FABL.influence_le_of_abs_linearThresholdWeight_le {n : }
      (f : FABL.BooleanFunction n) (a₀ : ) (a : Fin n  )
      (hrep :
         (x : FABL.SignCube n),
          f x = FABL.thresholdSign (FABL.affineLinearForm a₀ a x))
      {i j : Fin n} (hweight : |a i|  |a j|) :
      FABL.influence f.toReal i  FABL.influence f.toReal j
    theorem FABL.influence_le_of_abs_linearThresholdWeight_le
      {n : } (f : FABL.BooleanFunction n)
      (a₀ : ) (a : Fin n  )
      (hrep :
         (x : FABL.SignCube n),
          f x =
            FABL.thresholdSign
              (FABL.affineLinearForm a₀ a x))
      {i j : Fin n}
      (hweight : |a i|  |a j|) :
      FABL.influence f.toReal i 
        FABL.influence f.toReal j
    O'Donnell, Exercise 5.3, in pairwise form: among the coefficients of a
    fixed affine threshold representation, a coordinate with no larger absolute
    weight has no larger influence. 
Lemma5.6.3
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Theorem 1.2.3
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.4 (counting threshold functions).

(a) Prove that the number of linear threshold functions f:\{-1,1\}^n\to\{-1,1\} is at most 2^{\,n^2+O(n)}.

(b) More generally, for each fixed k, prove that the number of degree-at-most-k polynomial threshold functions f:\{-1,1\}^n\to\{-1,1\} is at most 2^{\,n^{k+1}+O(n^k)}. The implied constants may depend on k.

Lean code for Lemma5.6.37 declarations
  • abbrevdefined in FABL/Chapter05/ThresholdFunctionCounting.lean
    complete
    abbrev FABL.PolynomialThresholdFunction (n k : ) : Type
    abbrev FABL.PolynomialThresholdFunction
      (n k : ) : Type
    The finite type of degree-at-most-`k` polynomial threshold functions on `n` variables. 
  • abbrevdefined in FABL/Chapter05/ThresholdFunctionCounting.lean
    complete
    abbrev FABL.LinearThresholdFunction (n : ) : Type
    abbrev FABL.LinearThresholdFunction (n : ) :
      Type
    The finite type of linear threshold functions on `n` variables. 
  • theoremdefined in FABL/Chapter05/ThresholdFunctionCounting.lean
    complete
    theorem FABL.natCard_polynomialThresholdFunction_le_profileCount (n k : ) :
      Nat.card (FABL.PolynomialThresholdFunction n k) 
        (2 ^ n + 1) ^ (FABL.lowDegreeFourierFamily n k).card
    theorem FABL.natCard_polynomialThresholdFunction_le_profileCount
      (n k : ) :
      Nat.card
          (FABL.PolynomialThresholdFunction n
            k) 
        (2 ^ n + 1) ^
          (FABL.lowDegreeFourierFamily n
              k).card
    The exact finite-profile bound underlying Exercise 5.4(b). 
  • theoremdefined in FABL/Chapter05/ThresholdFunctionCounting.lean
    complete
    theorem FABL.natCard_linearThresholdFunction_le_profileCount (n : ) :
      Nat.card (FABL.LinearThresholdFunction n) 
        (2 ^ n + 1) ^ (FABL.lowDegreeFourierFamily n 1).card
    theorem FABL.natCard_linearThresholdFunction_le_profileCount
      (n : ) :
      Nat.card
          (FABL.LinearThresholdFunction n) 
        (2 ^ n + 1) ^
          (FABL.lowDegreeFourierFamily n
              1).card
    The exact finite-profile bound underlying Exercise 5.4(a). 
  • theoremdefined in FABL/Chapter05/ThresholdFunctionCounting.lean
    complete
    theorem FABL.natCard_linearThresholdFunction_le_two_pow_sq (n : ) :
      Nat.card (FABL.LinearThresholdFunction n)  2 ^ (n + 1) ^ 2
    theorem FABL.natCard_linearThresholdFunction_le_two_pow_sq
      (n : ) :
      Nat.card
          (FABL.LinearThresholdFunction n) 
        2 ^ (n + 1) ^ 2
    Exercise 5.4(a), with the `O(n)` term made explicit:
    the number of linear threshold functions is at most
    `2^((n+1)^2) = 2^(n^2+2n+1)`. 
  • theoremdefined in FABL/Chapter05/ThresholdFunctionCounting.lean
    complete
    theorem FABL.card_lowDegreeFourierFamily_le_leadingTerm (n k : ) (hn : 0 < n) :
      (FABL.lowDegreeFourierFamily n k).card  n ^ k + k * n ^ (k - 1)
    theorem FABL.card_lowDegreeFourierFamily_le_leadingTerm
      (n k : ) (hn : 0 < n) :
      (FABL.lowDegreeFourierFamily n k).card 
        n ^ k + k * n ^ (k - 1)
    A sharp-leading-term polynomial bound for the number of frequencies of degree at most
    `k`: for positive `n`, the leading contribution is bounded by `n^k`, and the lower levels
    contribute at most `k n^(k-1)`. 
  • theoremdefined in FABL/Chapter05/ThresholdFunctionCounting.lean
    complete
    theorem FABL.natCard_polynomialThresholdFunction_le_two_pow_bookBound
      (n k : ) :
      Nat.card (FABL.PolynomialThresholdFunction n k) 
        2 ^ (n ^ (k + 1) + (2 * k + 1) * n ^ k + 1)
    theorem FABL.natCard_polynomialThresholdFunction_le_two_pow_bookBound
      (n k : ) :
      Nat.card
          (FABL.PolynomialThresholdFunction n
            k) 
        2 ^
          (n ^ (k + 1) + (2 * k + 1) * n ^ k +
            1)
    Exercise 5.4(b), with the fixed-`k` error term made explicit:
    the number of degree-at-most-`k` polynomial threshold functions is at most
    `2^(n^(k+1) + (2k+1)n^k + 1)`, hence at most
    `2^(n^(k+1) + O_k(n^k))`. 
Lemma5.6.4
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 4
Statement dependency previews
Preview
Theorem 1.4.2
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.6 (a KKL improvement for LTFs). Let n\ge1 and let f:\{-1,1\}^n\to\{-1,1\} be an unbiased linear threshold function. Prove that there is an i\in[n] such that \operatorname{Inf}_i[f]\ge\frac1{\sqrt{2n}}.

Lean code for Lemma5.6.41 theorem
  • theoremdefined in FABL/Chapter05/LinearThresholdInfluence.lean
    complete
    theorem FABL.exists_one_div_sqrt_two_mul_dimension_le_influence_of_balanced_linearThreshold
      {n : } (f : FABL.BooleanFunction n) (hn : 1  n)
      (hbalanced : FABL.IsBalanced f.toReal)
      (hthreshold : FABL.IsLinearThreshold f) :
       i, 1 / (2 * n)  FABL.influence f.toReal i
    theorem FABL.exists_one_div_sqrt_two_mul_dimension_le_influence_of_balanced_linearThreshold
      {n : } (f : FABL.BooleanFunction n)
      (hn : 1  n)
      (hbalanced : FABL.IsBalanced f.toReal)
      (hthreshold :
        FABL.IsLinearThreshold f) :
       i,
        1 / (2 * n) 
          FABL.influence f.toReal i
    O'Donnell, Exercise 5.6: an unbiased linear threshold function on a nonempty
    cube has a coordinate of influence at least `1 / √(2n)`. 
Lemma5.6.5
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.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.9
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.7 (correlation distillation). Let n\ge1. For each i\in[n], let \rho_i\in[-1,1]. Let (a_i,b_i) be a pair of unbiased \{-1,1\}-valued bits with \mathbb E[a_ib_i]=\rho_i, independently across coordinates, and write a=(a_1,\ldots,a_n) and b=(b_1,\ldots,b_n). For a Boolean function f:\{-1,1\}^n\to\{-1,1\}:

(a) Prove that for every i\in[n], \mathbb E[f(a)b_i]=\widehat f(\{i\})\rho_i.

(b) Suppose the singleton Fourier coefficients \widehat f(\{1\}),\ldots,\widehat f(\{n\}) are all equal. Prove that a majority function maximizes their common value among all Boolean functions with this equality constraint.

Lean code for Lemma5.6.55 declarations
  • defdefined in FABL/Chapter05/CorrelationDistillation.lean
    complete
    def FABL.signPairFamilyLeft {n : } (ω : Fin n  FABL.Sign × FABL.Sign) :
      FABL.SignCube n
    def FABL.signPairFamilyLeft {n : }
      (ω : Fin n  FABL.Sign × FABL.Sign) :
      FABL.SignCube n
    The left sign string in a coordinatewise family of sign pairs. 
  • defdefined in FABL/Chapter05/CorrelationDistillation.lean
    complete
    def FABL.signPairFamilyRight {n : } (ω : Fin n  FABL.Sign × FABL.Sign) :
      FABL.SignCube n
    def FABL.signPairFamilyRight {n : }
      (ω : Fin n  FABL.Sign × FABL.Sign) :
      FABL.SignCube n
    The right sign string in a coordinatewise family of sign pairs. 
  • theoremdefined in FABL/Chapter05/CorrelationDistillation.lean
    complete
    theorem FABL.pmfExpectation_apply_left_mul_right_eq_fourierCoeff_mul_correlation
      {n : } (p : Fin n  PMF (FABL.Sign × FABL.Sign)) (ρ : Fin n  )
      (ha :
         (i : Fin n),
          (FABL.pmfExpectation (p i) fun z => FABL.signValue z.1) = 0)
      (hb :
         (i : Fin n),
          (FABL.pmfExpectation (p i) fun z => FABL.signValue z.2) = 0)
      (hab :
         (i : Fin n),
          (FABL.pmfExpectation (p i) fun z =>
              FABL.signValue z.1 * FABL.signValue z.2) =
            ρ i)
      (f : FABL.BooleanFunction n) (i : Fin n) :
      (FABL.pmfExpectation (FABL.independentProductPMF p) fun ω =>
          f.toReal (FABL.signPairFamilyLeft ω) *
            FABL.signValue (FABL.signPairFamilyRight ω i)) =
        FABL.fourierCoeff f.toReal {i} * ρ i
    theorem FABL.pmfExpectation_apply_left_mul_right_eq_fourierCoeff_mul_correlation
      {n : }
      (p :
        Fin n  PMF (FABL.Sign × FABL.Sign))
      (ρ : Fin n  )
      (ha :
         (i : Fin n),
          (FABL.pmfExpectation (p i) fun z =>
              FABL.signValue z.1) =
            0)
      (hb :
         (i : Fin n),
          (FABL.pmfExpectation (p i) fun z =>
              FABL.signValue z.2) =
            0)
      (hab :
         (i : Fin n),
          (FABL.pmfExpectation (p i) fun z =>
              FABL.signValue z.1 *
                FABL.signValue z.2) =
            ρ i)
      (f : FABL.BooleanFunction n)
      (i : Fin n) :
      (FABL.pmfExpectation
          (FABL.independentProductPMF p)
          fun ω =>
          f.toReal
              (FABL.signPairFamilyLeft ω) *
            FABL.signValue
              (FABL.signPairFamilyRight ω
                i)) =
        FABL.fourierCoeff f.toReal {i} * ρ i
    Exercise 5.7(a): transmitting `f(a)` leaves correlation
    `ρᵢ * f̂({i})` with the right bit in coordinate `i`. 
  • theoremdefined in FABL/Chapter05/CorrelationDistillation.lean
    complete
    theorem FABL.hasEqualSingletonFourierCoefficients_majority (n : ) :
      FABL.HasEqualSingletonFourierCoefficients (FABL.majority n)
    theorem FABL.hasEqualSingletonFourierCoefficients_majority
      (n : ) :
      FABL.HasEqualSingletonFourierCoefficients
        (FABL.majority n)
    Majority has equal singleton Fourier coefficients. 
  • theoremdefined in FABL/Chapter05/CorrelationDistillation.lean
    complete
    theorem FABL.fourierCoeff_singleton_le_majority_of_equal {n : } (hn : 0 < n)
      (f : FABL.BooleanFunction n)
      (hf : FABL.HasEqualSingletonFourierCoefficients f) (i : Fin n) :
      FABL.fourierCoeff f.toReal {i} 
        FABL.fourierCoeff (FABL.majority n).toReal {i}
    theorem FABL.fourierCoeff_singleton_le_majority_of_equal
      {n : } (hn : 0 < n)
      (f : FABL.BooleanFunction n)
      (hf :
        FABL.HasEqualSingletonFourierCoefficients
          f)
      (i : Fin n) :
      FABL.fourierCoeff f.toReal {i} 
        FABL.fourierCoeff
          (FABL.majority n).toReal {i}
    Exercise 5.7(b): under the equal-singleton constraint, no Boolean
    function has a larger common singleton coefficient than majority. 
Lemma5.6.6
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 0L∃∀N

Exercise 5.8 (the largest Fourier coefficient of a random function). Let n\ge2, and choose f:\{-1,1\}^n\to\{-1,1\} uniformly at random, equivalently by choosing the values f(x) as independent uniform signs. Prove that \lVert\widehat f\rVert_\infty \le 2\sqrt n\,2^{-n/2} except with probability at most 2^{-n}.

Lean code for Lemma5.6.63 declarations
  • defdefined in FABL/Chapter05/RandomBooleanFourierMaximum.lean
    complete
    def FABL.fourierInfinityNorm {n : } (f : FABL.SignCube n  ) : 
    def FABL.fourierInfinityNorm {n : }
      (f : FABL.SignCube n  ) : 
    The endpoint norm of the subset-indexed Fourier coefficients on the sign cube. 
  • defdefined in FABL/Chapter05/RandomBooleanFourierMaximum.lean
    complete
    def FABL.randomBooleanFourierThreshold (n : ) : 
    def FABL.randomBooleanFourierThreshold
      (n : ) : 
    The threshold in Exercise 5.8. 
  • theoremdefined in FABL/Chapter05/RandomBooleanFourierMaximum.lean
    complete
    theorem FABL.measure_randomBooleanFunction_fourierInfinityNorm_gt_le (n : )
      (hn : 2  n) :
      (FABL.uniformPMF (FABL.BooleanFunction n)).toMeasure.real
          {f |
            FABL.randomBooleanFourierThreshold n <
              FABL.fourierInfinityNorm f.toReal} 
        2 ^ (-n)
    theorem FABL.measure_randomBooleanFunction_fourierInfinityNorm_gt_le
      (n : ) (hn : 2  n) :
      (FABL.uniformPMF
                (FABL.BooleanFunction
                  n)).toMeasure.real
          {f |
            FABL.randomBooleanFourierThreshold
                n <
              FABL.fourierInfinityNorm
                f.toReal} 
        2 ^ (-n)
    O'Donnell, Exercise 5.8: except with probability at most `2⁻ⁿ`, every Fourier coefficient
    of a uniformly random Boolean function has magnitude at most
    `2 √n · 2⁻ⁿᐟ²`. 
Lemma5.6.7
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Theorem 1.2.3
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1L∃∀N

Exercise 5.10 (parity and threshold degree). Let n\ge1.

(a) Prove that the parity function \chi_{[n]}:\{-1,1\}^n\to\{-1,1\} is not a polynomial threshold function of degree at most n-1.

(b) Conversely, if f:\{-1,1\}^n\to\{-1,1\} is neither \chi_{[n]} nor -\chi_{[n]}, prove that f is a polynomial threshold function of degree at most n-1. One may use the low-degree truncation f^{\le n-1} as the representing polynomial.

Lean code for Lemma5.6.72 theorems
  • theoremdefined in FABL/Chapter05/ParityThresholdDegree.lean
    complete
    theorem FABL.not_isPolynomialThreshold_parityFunction_univ_pred {n : }
      (hn : 0 < n) :
      ¬FABL.IsPolynomialThreshold (FABL.parityFunction Finset.univ) (n - 1)
    theorem FABL.not_isPolynomialThreshold_parityFunction_univ_pred
      {n : } (hn : 0 < n) :
      ¬FABL.IsPolynomialThreshold
          (FABL.parityFunction Finset.univ)
          (n - 1)
    O'Donnell, Exercise 5.10(a): full parity on a nonempty cube is not a polynomial
    threshold function of degree at most `n - 1`. 
  • theoremdefined in FABL/Chapter05/ParityThresholdDegree.lean
    complete
    theorem FABL.isPolynomialThreshold_pred_of_ne_parityFunction_univ {n : }
      (f : FABL.BooleanFunction n) (hn : 0 < n)
      (hparity : f  FABL.parityFunction Finset.univ)
      (hnegParity : f  -FABL.parityFunction Finset.univ) :
      FABL.IsPolynomialThreshold f (n - 1)
    theorem FABL.isPolynomialThreshold_pred_of_ne_parityFunction_univ
      {n : } (f : FABL.BooleanFunction n)
      (hn : 0 < n)
      (hparity :
        f  FABL.parityFunction Finset.univ)
      (hnegParity :
        f 
          -FABL.parityFunction Finset.univ) :
      FABL.IsPolynomialThreshold f (n - 1)
    O'Donnell, Exercise 5.10(b): every Boolean function other than full parity and its
    negation is a polynomial threshold function of degree at most `n - 1`. 
Lemma5.6.8
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Definition 1.4.15
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.11 (small low-degree weight of a PTF). For every k\in\mathbb N^+, construct a degree-k polynomial threshold function f satisfying \mathbf W^{\le k}[f]<2^{1-k}.

Lean code for Lemma5.6.86 declarations
  • defdefined in FABL/Chapter05/SmallLowDegreeWeightPTF.lean
    complete
    def FABL.allOneSignCube (n : ) : FABL.SignCube n
    def FABL.allOneSignCube (n : ) :
      FABL.SignCube n
    The all-one vertex of the sign cube. 
  • defdefined in FABL/Chapter05/SmallLowDegreeWeightPTF.lean
    complete
    def FABL.onePointFlippedParity (k : ) : FABL.BooleanFunction (k + 1)
    def FABL.onePointFlippedParity (k : ) :
      FABL.BooleanFunction (k + 1)
    Full parity on `k+1` variables with its value at the all-one vertex reversed. 
  • theoremdefined in FABL/Chapter05/SmallLowDegreeWeightPTF.lean
    complete
    theorem FABL.onePointFlippedParity_isPolynomialThreshold (k : ) :
      FABL.IsPolynomialThreshold (FABL.onePointFlippedParity k) k
    theorem FABL.onePointFlippedParity_isPolynomialThreshold
      (k : ) :
      FABL.IsPolynomialThreshold
        (FABL.onePointFlippedParity k) k
    The one-point perturbation of parity has polynomial threshold degree at most `k`. 
  • theoremdefined in FABL/Chapter05/SmallLowDegreeWeightPTF.lean
    complete
    theorem FABL.fourierCoeff_onePointFlippedParity (k : )
      (S : Finset (Fin (k + 1))) :
      FABL.fourierCoeff (FABL.onePointFlippedParity k).toReal S =
        (if Finset.univ = S then 1 else 0) - 2⁻¹ ^ k
    theorem FABL.fourierCoeff_onePointFlippedParity
      (k : ) (S : Finset (Fin (k + 1))) :
      FABL.fourierCoeff
          (FABL.onePointFlippedParity
              k).toReal
          S =
        (if Finset.univ = S then 1 else 0) -
          2⁻¹ ^ k
    Every Fourier coefficient of the one-point perturbation is the corresponding full-parity
    coefficient shifted by `2⁻ᵏ`. 
  • theoremdefined in FABL/Chapter05/SmallLowDegreeWeightPTF.lean
    complete
    theorem FABL.fourierWeightAtMost_onePointFlippedParity (k : ) :
      FABL.fourierWeightAtMost k (FABL.onePointFlippedParity k).toReal =
        (2 ^ (k + 1) - 1) * (2⁻¹ ^ k) ^ 2
    theorem FABL.fourierWeightAtMost_onePointFlippedParity
      (k : ) :
      FABL.fourierWeightAtMost k
          (FABL.onePointFlippedParity
              k).toReal =
        (2 ^ (k + 1) - 1) * (2⁻¹ ^ k) ^ 2
    The exact low-degree Fourier weight of the one-point perturbation of parity. 
  • theoremdefined in FABL/Chapter05/SmallLowDegreeWeightPTF.lean
    complete
    theorem FABL.exists_polynomialThreshold_fourierWeightAtMost_lt_two_mul_invPow
      (k : ) :
       f,
        FABL.IsPolynomialThreshold f k 
          FABL.fourierWeightAtMost k f.toReal < 2 * 2⁻¹ ^ k
    theorem FABL.exists_polynomialThreshold_fourierWeightAtMost_lt_two_mul_invPow
      (k : ) :
       f,
        FABL.IsPolynomialThreshold f k 
          FABL.fourierWeightAtMost k
              f.toReal <
            2 * 2⁻¹ ^ k
    Exercise 5.11: for every `k`, a degree-at-most-`k` polynomial threshold function has
    Fourier weight through level `k` strictly below `2^(1-k)`. The displayed right-hand side is
    written as `2 · 2⁻ᵏ`, avoiding natural-number subtraction in the exponent. 
Lemma5.6.9
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 7
Statement dependency previews
Preview
Lemma 1.3.5
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 2
Reverse dependency previews
Preview
Lemma 5.6.11
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
L∃∀N

Exercise 5.12 (threshold-of-parities and threshold-of-thresholds). A threshold-of-parities circuit is an outer linear threshold gate applied to parities or negated parities; a threshold-of-thresholds circuit is an outer linear threshold gate applied to linear threshold functions. The size is the number of gates entering the outer threshold gate.

(a) Let f:\{-1,1\}^n\to\{-1,1\} be symmetric. Prove that, as a real-valued function, f is a sum of at most 2n linear threshold functions and a constant.

(b) Deduce that every function computed by a size-s threshold-of-parities circuit is computed by a size-2ns threshold-of-thresholds circuit.

(c) Define the complete quadratic function by \operatorname{CQ}_n(x) =(-1)^{\sum_{1\le i<j\le n}x_ix_j}, \qquad x\in\mathbb F_2^n, where the exponent is evaluated in \mathbb F_2. Prove that \operatorname{CQ}_n is computed by a size-2n threshold-of-thresholds circuit.

(d) If n is positive and even, prove that every threshold-of-parities circuit computing \operatorname{CQ}_n has size at least 2^{n/2}.

The condition n>0 in part (d) is necessary. At n=0, \operatorname{CQ}_0 is the constant +1 function and has the zero polynomial as a threshold representation, so the lower bound 1\le0 would be false. The same inequality holds in arbitrary dimension whenever the representing polynomial is nonzero.

Lean code for Lemma5.6.921 declarations
  • defdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    def FABL.IsRealSumOfLinearThresholds {n : } (f : FABL.BooleanFunction n)
      (s : ) : Prop
    def FABL.IsRealSumOfLinearThresholds {n : }
      (f : FABL.BooleanFunction n) (s : ) :
      Prop
    A real-valued Boolean function is a constant plus a list of linear threshold functions. 
  • defdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    def FABL.HasRealSumOfLinearThresholdsSizeAtMost {n : }
      (f : FABL.BooleanFunction n) (s : ) : Prop
    def FABL.HasRealSumOfLinearThresholdsSizeAtMost
      {n : } (f : FABL.BooleanFunction n)
      (s : ) : Prop
    A real-valued Boolean function is a constant plus at most `s` linear threshold functions. 
  • defdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    def FABL.IsThresholdOfThresholds {n : } (f : FABL.BooleanFunction n)
      (s : ) : Prop
    def FABL.IsThresholdOfThresholds {n : }
      (f : FABL.BooleanFunction n) (s : ) :
      Prop
    An outer affine threshold gate applied to a list of linear threshold functions. 
  • defdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    def FABL.HasThresholdOfThresholdsSizeAtMost {n : }
      (f : FABL.BooleanFunction n) (s : ) : Prop
    def FABL.HasThresholdOfThresholdsSizeAtMost
      {n : } (f : FABL.BooleanFunction n)
      (s : ) : Prop
    A threshold-of-thresholds circuit with at most `s` inner gates. 
  • defdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    def FABL.IsThresholdOfParities {n : } (f : FABL.BooleanFunction n)
      (s : ) : Prop
    def FABL.IsThresholdOfParities {n : }
      (f : FABL.BooleanFunction n) (s : ) :
      Prop
    A threshold-of-parities circuit is exactly a polynomial threshold representation whose
    Fourier support has the stated cardinality bound. 
  • theoremdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    theorem FABL.symmetric_hasRealSumOfLinearThresholdsSizeAtMost_two_mul {n : }
      (f : FABL.BooleanFunction n) (hf : FABL.IsSymmetric f) :
      FABL.HasRealSumOfLinearThresholdsSizeAtMost f (2 * n)
    theorem FABL.symmetric_hasRealSumOfLinearThresholdsSizeAtMost_two_mul
      {n : } (f : FABL.BooleanFunction n)
      (hf : FABL.IsSymmetric f) :
      FABL.HasRealSumOfLinearThresholdsSizeAtMost
        f (2 * n)
    Exercise 5.12(a): a symmetric Boolean function is, as a real-valued function, a constant
    plus at most `2n` linear threshold functions. 
  • theoremdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    theorem FABL.parityFunction_isRealSumOfLinearThresholds {n : }
      (S : Finset (Fin n)) :
      FABL.IsRealSumOfLinearThresholds (FABL.parityFunction S) (n * 2)
    theorem FABL.parityFunction_isRealSumOfLinearThresholds
      {n : } (S : Finset (Fin n)) :
      FABL.IsRealSumOfLinearThresholds
        (FABL.parityFunction S) (n * 2)
    Every parity has the real LTF-sum decomposition used in Exercise 5.12(b). 
  • theoremdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    theorem FABL.polynomialThresholdRepresentation_hasThresholdOfThresholdsSizeAtMost
      {n : } (f : FABL.BooleanFunction n) (p : FABL.SignCube n  )
      (hrep : FABL.IsPolynomialThresholdRepresentation f p) :
      FABL.HasThresholdOfThresholdsSizeAtMost f
        (2 * n * FABL.polynomialSparsity p)
    theorem FABL.polynomialThresholdRepresentation_hasThresholdOfThresholdsSizeAtMost
      {n : } (f : FABL.BooleanFunction n)
      (p : FABL.SignCube n  )
      (hrep :
        FABL.IsPolynomialThresholdRepresentation
          f p) :
      FABL.HasThresholdOfThresholdsSizeAtMost
        f (2 * n * FABL.polynomialSparsity p)
    Exercise 5.12(b): a polynomial threshold representation with sparsity `s` gives a
    threshold-of-thresholds circuit of size at most `2ns`. 
  • theoremdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    theorem FABL.thresholdOfParities_hasThresholdOfThresholdsSizeAtMost {n : }
      (f : FABL.BooleanFunction n) (s : )
      (h : FABL.IsThresholdOfParities f s) :
      FABL.HasThresholdOfThresholdsSizeAtMost f (2 * n * s)
    theorem FABL.thresholdOfParities_hasThresholdOfThresholdsSizeAtMost
      {n : } (f : FABL.BooleanFunction n)
      (s : )
      (h : FABL.IsThresholdOfParities f s) :
      FABL.HasThresholdOfThresholdsSizeAtMost
        f (2 * n * s)
    Exercise 5.12(b), in circuit language. 
  • defdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    def FABL.completeQuadraticBit {n : } (x : FABL.F₂Cube n) : FABL.𝔽₂
    def FABL.completeQuadraticBit {n : }
      (x : FABL.F₂Cube n) : FABL.𝔽₂
    The quadratic form underlying the complete quadratic function. 
  • defdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    def FABL.completeQuadratic (n : ) : FABL.F₂Cube n  
    def FABL.completeQuadratic (n : ) :
      FABL.F₂Cube n  
    The real-valued complete quadratic function on the binary cube. 
  • defdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    def FABL.completeQuadraticBoolean (n : ) : FABL.BooleanFunction n
    def FABL.completeQuadraticBoolean (n : ) :
      FABL.BooleanFunction n
    The sign-valued complete quadratic function on the sign cube. 
  • theoremdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    theorem FABL.completeQuadratic_apply {n : } (x : FABL.F₂Cube n) :
      FABL.completeQuadratic n x =
        FABL.binarySign (FABL.completeQuadraticBit x)
    theorem FABL.completeQuadratic_apply {n : }
      (x : FABL.F₂Cube n) :
      FABL.completeQuadratic n x =
        FABL.binarySign
          (FABL.completeQuadraticBit x)
    The binary-cube form of `CQ` is the sign of the sum of all quadratic monomials. 
  • theoremdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    theorem FABL.completeQuadraticBoolean_binaryCubeSignEquiv {n : }
      (x : FABL.F₂Cube n) :
      FABL.completeQuadraticBoolean n ((FABL.binaryCubeSignEquiv n) x) =
        FABL.signEncode (FABL.completeQuadraticBit x)
    theorem FABL.completeQuadraticBoolean_binaryCubeSignEquiv
      {n : } (x : FABL.F₂Cube n) :
      FABL.completeQuadraticBoolean n
          ((FABL.binaryCubeSignEquiv n) x) =
        FABL.signEncode
          (FABL.completeQuadraticBit x)
    The sign-cube complete quadratic function agrees with its binary formula. 
  • theoremdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    theorem FABL.completeQuadraticBoolean_isSymmetric {n : } :
      FABL.IsSymmetric (FABL.completeQuadraticBoolean n)
    theorem FABL.completeQuadraticBoolean_isSymmetric
      {n : } :
      FABL.IsSymmetric
        (FABL.completeQuadraticBoolean n)
    The complete quadratic Boolean function is symmetric. 
  • theoremdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    theorem FABL.completeQuadraticBoolean_hasThresholdOfThresholdsSizeAtMost_two_mul
      {n : } :
      FABL.HasThresholdOfThresholdsSizeAtMost
        (FABL.completeQuadraticBoolean n) (2 * n)
    theorem FABL.completeQuadraticBoolean_hasThresholdOfThresholdsSizeAtMost_two_mul
      {n : } :
      FABL.HasThresholdOfThresholdsSizeAtMost
        (FABL.completeQuadraticBoolean n)
        (2 * n)
    Exercise 5.12(c): `CQₙ` is computed by a threshold-of-thresholds circuit with at most
    `2n` inner gates. 
  • theoremdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    theorem FABL.abs_vectorFourierCoeff_completeQuadratic {n : } (hn : Even n)
      (γ : FABL.F₂Cube n) :
      |FABL.vectorFourierCoeff (FABL.completeQuadratic n) γ| =
        (2 ^ (n / 2))⁻¹
    theorem FABL.abs_vectorFourierCoeff_completeQuadratic
      {n : } (hn : Even n)
      (γ : FABL.F₂Cube n) :
      |FABL.vectorFourierCoeff
            (FABL.completeQuadratic n) γ| =
        (2 ^ (n / 2))⁻¹
    In even dimension every Fourier coefficient of the complete quadratic function has
    absolute value `2⁻ⁿᐟ²`. 
  • theoremdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    theorem FABL.completeQuadraticBoolean_toReal (n : ) :
      (FABL.completeQuadraticBoolean n).toReal =
        FABL.binaryFunctionOnSignCube (FABL.completeQuadratic n)
    theorem FABL.completeQuadraticBoolean_toReal
      (n : ) :
      (FABL.completeQuadraticBoolean
            n).toReal =
        FABL.binaryFunctionOnSignCube
          (FABL.completeQuadratic n)
    The sign-cube encoding of `CQ` is the canonical reindexing of its binary-cube form. 
  • theoremdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    theorem FABL.abs_fourierCoeff_completeQuadraticBoolean {n : } (hn : Even n)
      (S : Finset (Fin n)) :
      |FABL.fourierCoeff (FABL.completeQuadraticBoolean n).toReal S| =
        (2 ^ (n / 2))⁻¹
    theorem FABL.abs_fourierCoeff_completeQuadraticBoolean
      {n : } (hn : Even n)
      (S : Finset (Fin n)) :
      |FABL.fourierCoeff
            (FABL.completeQuadraticBoolean
                n).toReal
            S| =
        (2 ^ (n / 2))⁻¹
    In even dimension every sign-cube Fourier coefficient of `CQ` has absolute value
    `2⁻ⁿᐟ²`. 
  • theoremdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    theorem FABL.pow_two_half_le_polynomialSparsity_completeQuadraticBoolean_of_pos
      {n : } (hn : Even n) (hnPos : 0 < n) (p : FABL.SignCube n  )
      (hrep :
        FABL.IsPolynomialThresholdRepresentation
          (FABL.completeQuadraticBoolean n) p) :
      2 ^ (n / 2)  FABL.polynomialSparsity p
    theorem FABL.pow_two_half_le_polynomialSparsity_completeQuadraticBoolean_of_pos
      {n : } (hn : Even n) (hnPos : 0 < n)
      (p : FABL.SignCube n  )
      (hrep :
        FABL.IsPolynomialThresholdRepresentation
          (FABL.completeQuadraticBoolean n)
          p) :
      2 ^ (n / 2)  FABL.polynomialSparsity p
    Exercise 5.12(d) in the book's positive even-dimensional regime. The positivity
    hypothesis excludes the degenerate constant function `CQ₀ = 1`, whose zero polynomial is
    a threshold representation. 
  • theoremdefined in FABL/Chapter05/ThresholdCircuits.lean
    complete
    theorem FABL.pow_two_half_le_thresholdOfParitiesSize_completeQuadraticBoolean
      {n : } (hn : Even n) (hnPos : 0 < n) (s : )
      (h : FABL.IsThresholdOfParities (FABL.completeQuadraticBoolean n) s) :
      2 ^ (n / 2)  s
    theorem FABL.pow_two_half_le_thresholdOfParitiesSize_completeQuadraticBoolean
      {n : } (hn : Even n) (hnPos : 0 < n)
      (s : )
      (h :
        FABL.IsThresholdOfParities
          (FABL.completeQuadraticBoolean n)
          s) :
      2 ^ (n / 2)  s
    Exercise 5.12(d), in threshold-of-parities circuit language. 
Lemma5.6.10
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 4
Statement dependency previews
Preview
Proposition 3.2.9
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.13 (sparse PTFs for DNFs). Let f:\{-1,1\}^n\to\{-1,1\} be computable by a DNF of size s.

(a) Prove that f has a polynomial threshold representation of sparsity O(ns^3).

(b) Strengthen the construction to obtain sparsity O(ns^2).

For n\ge1, one may take the explicit bounds 17ns^3 and 17ns^2, respectively. The positive-dimensional condition is necessary for these finite bounds: when n=0, the one empty term computes the constant -1 function, whose representing polynomial has positive sparsity while ns^2=ns^3=0.

Lean code for Lemma5.6.1013 declarations
  • defdefined in FABL/Chapter05/DNFSparsePolynomialThreshold.lean
    complete
    def FABL.DNFTerm.trueIndicator {n : } (T : FABL.DNFTerm n)
      (x : FABL.SignCube n) : 
    def FABL.DNFTerm.trueIndicator {n : }
      (T : FABL.DNFTerm n)
      (x : FABL.SignCube n) : 
    The zero-one indicator that a DNF term is satisfied. 
  • theoremdefined in FABL/Chapter05/DNFSparsePolynomialThreshold.lean
    complete
    theorem FABL.DNFTerm.trueIndicator_eq_one_iff {n : } (T : FABL.DNFTerm n)
      (x : FABL.SignCube n) : T.trueIndicator x = 1  T.eval x = -1
    theorem FABL.DNFTerm.trueIndicator_eq_one_iff
      {n : } (T : FABL.DNFTerm n)
      (x : FABL.SignCube n) :
      T.trueIndicator x = 1  T.eval x = -1
  • theoremdefined in FABL/Chapter05/DNFSparsePolynomialThreshold.lean
    complete
    theorem FABL.DNFTerm.trueIndicator_nonneg {n : } (T : FABL.DNFTerm n)
      (x : FABL.SignCube n) : 0  T.trueIndicator x
    theorem FABL.DNFTerm.trueIndicator_nonneg {n : }
      (T : FABL.DNFTerm n)
      (x : FABL.SignCube n) :
      0  T.trueIndicator x
  • defdefined in FABL/Chapter05/DNFSparsePolynomialThreshold.lean
    complete
    def FABL.DNFTerm.binaryBasePoint {n : } (T : FABL.DNFTerm n) :
      FABL.F₂Cube n
    def FABL.DNFTerm.binaryBasePoint {n : }
      (T : FABL.DNFTerm n) : FABL.F₂Cube n
    A binary base point realizing the partial sign assignment of a DNF term. 
  • theoremdefined in FABL/Chapter05/DNFSparsePolynomialThreshold.lean
    complete
    theorem FABL.DNFTerm.fourierOneNorm_trueIndicator {n : } (T : FABL.DNFTerm n) :
      FABL.fourierOneNorm T.trueIndicator = 1
    theorem FABL.DNFTerm.fourierOneNorm_trueIndicator
      {n : } (T : FABL.DNFTerm n) :
      FABL.fourierOneNorm T.trueIndicator = 1
    A term's zero-one true indicator has Fourier one-norm exactly one. 
  • defdefined in FABL/Chapter05/DNFSparsePolynomialThreshold.lean
    complete
    def FABL.DNFFormula.satisfiedTermCount {n : } (φ : FABL.DNFFormula n)
      (x : FABL.SignCube n) : 
    def FABL.DNFFormula.satisfiedTermCount {n : }
      (φ : FABL.DNFFormula n)
      (x : FABL.SignCube n) : 
    The number, as a real-valued cube function, of terms satisfied by an input. 
  • theoremdefined in FABL/Chapter05/DNFSparsePolynomialThreshold.lean
    complete
    theorem FABL.DNFFormula.satisfiedTermCount_eq_zero_of_no_satisfied_term {n : }
      (φ : FABL.DNFFormula n) (x : FABL.SignCube n)
      (hnone : ¬ T  φ.terms, T.eval x = -1) : φ.satisfiedTermCount x = 0
    theorem FABL.DNFFormula.satisfiedTermCount_eq_zero_of_no_satisfied_term
      {n : } (φ : FABL.DNFFormula n)
      (x : FABL.SignCube n)
      (hnone :
        ¬ T  φ.terms, T.eval x = -1) :
      φ.satisfiedTermCount x = 0
  • theoremdefined in FABL/Chapter05/DNFSparsePolynomialThreshold.lean
    complete
    theorem FABL.DNFFormula.one_le_satisfiedTermCount_of_satisfied_term {n : }
      (φ : FABL.DNFFormula n) (x : FABL.SignCube n) {T : FABL.DNFTerm n}
      (hT : T  φ.terms) (hTx : T.eval x = -1) : 1  φ.satisfiedTermCount x
    theorem FABL.DNFFormula.one_le_satisfiedTermCount_of_satisfied_term
      {n : } (φ : FABL.DNFFormula n)
      (x : FABL.SignCube n)
      {T : FABL.DNFTerm n} (hT : T  φ.terms)
      (hTx : T.eval x = -1) :
      1  φ.satisfiedTermCount x
  • theoremdefined in FABL/Chapter05/DNFSparsePolynomialThreshold.lean
    complete
    theorem FABL.DNFFormula.fourierOneNorm_satisfiedTermCount_le {n : }
      (φ : FABL.DNFFormula n) :
      FABL.fourierOneNorm φ.satisfiedTermCount  φ.size
    theorem FABL.DNFFormula.fourierOneNorm_satisfiedTermCount_le
      {n : } (φ : FABL.DNFFormula n) :
      FABL.fourierOneNorm
          φ.satisfiedTermCount 
        φ.size
    The satisfied-term count has Fourier one-norm at most the DNF size. 
  • theoremdefined in FABL/Chapter05/DNFSparsePolynomialThreshold.lean
    complete
    theorem FABL.DNFFormula.toBooleanFunction_eq_thresholdSign_satisfiedTermCount
      {n : } (φ : FABL.DNFFormula n) (x : FABL.SignCube n) :
      φ.toBooleanFunction x =
        FABL.thresholdSign (1 / 2 - φ.satisfiedTermCount x)
    theorem FABL.DNFFormula.toBooleanFunction_eq_thresholdSign_satisfiedTermCount
      {n : } (φ : FABL.DNFFormula n)
      (x : FABL.SignCube n) :
      φ.toBooleanFunction x =
        FABL.thresholdSign
          (1 / 2 - φ.satisfiedTermCount x)
    A DNF is the threshold at one half of its satisfied-term count. 
  • theoremdefined in FABL/Chapter05/DNFSparsePolynomialThreshold.lean
    complete
    theorem FABL.DNFFormula.exists_polynomialThresholdRepresentation_sparsity_le_quadratic
      {n : } (hn : 0 < n) (φ : FABL.DNFFormula n) :
       p,
        FABL.IsPolynomialThresholdRepresentation φ.toBooleanFunction p 
          FABL.polynomialSparsity p  17 * n * φ.size ^ 2
    theorem FABL.DNFFormula.exists_polynomialThresholdRepresentation_sparsity_le_quadratic
      {n : } (hn : 0 < n)
      (φ : FABL.DNFFormula n) :
       p,
        FABL.IsPolynomialThresholdRepresentation
            φ.toBooleanFunction p 
          FABL.polynomialSparsity p 
            17 * n * φ.size ^ 2
    Exercise 5.13(b), formula form: a positive-dimensional DNF has a polynomial threshold
    representation of sparsity at most `17 n s²`, where `s` is its number of terms. 
  • theoremdefined in FABL/Chapter05/DNFSparsePolynomialThreshold.lean
    complete
    theorem FABL.exists_polynomialThresholdRepresentation_of_hasDNFSizeLE_sparsity_le_quadratic
      {n : } (hn : 0 < n) {f : FABL.BooleanFunction n} {s : }
      (hf : FABL.HasDNFSizeLE f s) :
       p,
        FABL.IsPolynomialThresholdRepresentation f p 
          FABL.polynomialSparsity p  17 * n * s ^ 2
    theorem FABL.exists_polynomialThresholdRepresentation_of_hasDNFSizeLE_sparsity_le_quadratic
      {n : } (hn : 0 < n)
      {f : FABL.BooleanFunction n} {s : }
      (hf : FABL.HasDNFSizeLE f s) :
       p,
        FABL.IsPolynomialThresholdRepresentation
            f p 
          FABL.polynomialSparsity p 
            17 * n * s ^ 2
    Exercise 5.13(b): every size-`s` DNF on a positive-dimensional cube has a polynomial
    threshold representation of sparsity at most `17 n s²`. 
  • theoremdefined in FABL/Chapter05/DNFSparsePolynomialThreshold.lean
    complete
    theorem FABL.exists_polynomialThresholdRepresentation_of_hasDNFSizeLE_sparsity_le_cubic
      {n : } (hn : 0 < n) {f : FABL.BooleanFunction n} {s : }
      (hf : FABL.HasDNFSizeLE f s) :
       p,
        FABL.IsPolynomialThresholdRepresentation f p 
          FABL.polynomialSparsity p  17 * n * s ^ 3
    theorem FABL.exists_polynomialThresholdRepresentation_of_hasDNFSizeLE_sparsity_le_cubic
      {n : } (hn : 0 < n)
      {f : FABL.BooleanFunction n} {s : }
      (hf : FABL.HasDNFSizeLE f s) :
       p,
        FABL.IsPolynomialThresholdRepresentation
            f p 
          FABL.polynomialSparsity p 
            17 * n * s ^ 3
    Exercise 5.13(a): every size-`s` DNF on a positive-dimensional cube has a polynomial
    threshold representation of sparsity at most `17 n s³`. 
Lemma5.6.11
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 5
Statement dependency previews
Preview
Proposition 3.3.6
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.14 (an \mathrm{AC}^0 separation). For every integer m\ge 7, set N=2^m. On the first 2m^2 coordinates of \{-1,1\}^N, partition each of the two m^2-coordinate halves into m blocks of size m, and let f_m be the product of the m inner-product-modulo-2 functions on the paired blocks. Then f_m is computed by an AND--OR--AND circuit of depth 3, size at most N^3, and bottom fan-in at most 2m. Every polynomial threshold representation of f_m has at least 2^{m^2} nonzero Fourier monomials; consequently, every threshold-of-parities circuit computing f_m has size at least N^{\log_2 N}=2^{m^2}. This gives the asserted asymptotic construction on the infinite subsequence N=2^m; the unused coordinates are fixed only in the lower-bound restriction argument.

Lean code for Lemma5.6.114 declarations
  • defdefined in FABL/Chapter05/AC0ThresholdParitySeparation.lean
    complete
    def FABL.ac0ThresholdParityTarget (m : ) (hm : 7  m) :
      FABL.BooleanFunction (2 ^ m)
    def FABL.ac0ThresholdParityTarget (m : )
      (hm : 7  m) :
      FABL.BooleanFunction (2 ^ m)
    Exercise 5.14: the product of `m` copies of `IP₂ₘ`, using the first `2m²`
    coordinates of an `N = 2ᵐ` dimensional sign cube. 
  • theoremdefined in FABL/Chapter05/AC0ThresholdParitySeparation.lean
    complete
    theorem FABL.hasDepthCircuit_ac0ThresholdParityTarget (m : ) (hm : 7  m) :
      FABL.DepthCircuit.HasDepthCircuit (FABL.ac0ThresholdParityTarget m hm)
        3 ((2 ^ m) ^ 3) (2 * m)
    theorem FABL.hasDepthCircuit_ac0ThresholdParityTarget
      (m : ) (hm : 7  m) :
      FABL.DepthCircuit.HasDepthCircuit
        (FABL.ac0ThresholdParityTarget m hm) 3
        ((2 ^ m) ^ 3) (2 * m)
    Exercise 5.14: for `m ≥ 7` and `N = 2ᵐ`, the product of `m` disjoint
    copies of `IP₂ₘ` is computed by a depth-three AC⁰ circuit of size at most
    `N³` and bottom fan-in `2m`. 
  • theoremdefined in FABL/Chapter05/AC0ThresholdParitySeparation.lean
    complete
    theorem FABL.pow_two_sq_le_polynomialSparsity_ac0ThresholdParityTarget (m : )
      (hm : 7  m) (p : FABL.SignCube (2 ^ m)  )
      (hrep :
        FABL.IsPolynomialThresholdRepresentation
          (FABL.ac0ThresholdParityTarget m hm) p) :
      2 ^ m ^ 2  FABL.polynomialSparsity p
    theorem FABL.pow_two_sq_le_polynomialSparsity_ac0ThresholdParityTarget
      (m : ) (hm : 7  m)
      (p : FABL.SignCube (2 ^ m)  )
      (hrep :
        FABL.IsPolynomialThresholdRepresentation
          (FABL.ac0ThresholdParityTarget m hm)
          p) :
      2 ^ m ^ 2  FABL.polynomialSparsity p
    Exercise 5.14: every polynomial threshold representation of the explicit
    AC⁰ function has at least `2^(m²)` nonzero Fourier monomials. 
  • theoremdefined in FABL/Chapter05/AC0ThresholdParitySeparation.lean
    complete
    theorem FABL.pow_two_pow_log_le_thresholdOfParitiesSize_ac0ThresholdParityTarget
      (m : ) (hm : 7  m) (s : )
      (h :
        FABL.IsThresholdOfParities (FABL.ac0ThresholdParityTarget m hm) s) :
      (2 ^ m) ^ Nat.log 2 (2 ^ m)  s
    theorem FABL.pow_two_pow_log_le_thresholdOfParitiesSize_ac0ThresholdParityTarget
      (m : ) (hm : 7  m) (s : )
      (h :
        FABL.IsThresholdOfParities
          (FABL.ac0ThresholdParityTarget m hm)
          s) :
      (2 ^ m) ^ Nat.log 2 (2 ^ m)  s
    Exercise 5.14 in threshold-of-parities language. With `N = 2ᵐ`, every
    such circuit for the explicit depth-three AC⁰ function has size at least
    `N^(log₂ N)`. 
Lemma5.6.12
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 1.2.3
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.15 (approximating almost all functions on a prescribed Fourier support). Let \mathcal F be a nonempty collection of subsets of [n]. For a\in\{-1,1\}^n, let 1_{\{a\}} be the indicator of the singleton \{a\}, define its projection onto \mathcal F by 1_{\{a\}}^{\mathcal F} =\sum_{S\in\mathcal F} \widehat{1_{\{a\}}}(S)\chi_S, and set \psi_a=\frac{2^n}{|\mathcal F|}\,1_{\{a\}}^{\mathcal F}.

(a) Prove \psi_a(a)=1, \qquad \mathbb E[\psi_a^2]=\frac1{|\mathcal F|}. Also prove that for all a,x\in\{-1,1\}^n, \psi_a(x)=\psi_x(a), \qquad \sum_{a\ne x}\psi_a(x)^2 =\frac{2^n}{|\mathcal F|}-1.

(b) Fix 0<\epsilon<1 and suppose |\mathcal F| \ge\left(1-\frac{\epsilon^2}{6n}\right)2^n. Choose f:\{-1,1\}^n\to\{-1,1\} uniformly at random. For each fixed x\in\{-1,1\}^n, prove that \left|\sum_{a\ne x}f(a)\psi_a(x)\right|<\epsilon except with probability at most 4^{-n}.

(c) Deduce that, for all but a 2^{-n} fraction of Boolean functions f, there is a multilinear polynomial q:\{-1,1\}^n\to\mathbb R supported on \{\chi_S:S\in\mathcal F\} such that \lVert f-q\rVert_\infty<\epsilon.

(d) Deduce that all but a 2^{-n} fraction of Boolean functions on n variables have a polynomial threshold representation of degree at most \frac n2+O(\sqrt{n\log n}).

Lean code for Lemma5.6.1216 declarations
  • defdefined in FABL/Chapter05/PrescribedFourierSupport.lean
    complete
    def FABL.singletonIndicatorFourierProjection {n : }
      (𝓕 : Finset (Finset (Fin n))) (a : FABL.SignCube n) :
      FABL.SignCube n  
    def FABL.singletonIndicatorFourierProjection
      {n : } (𝓕 : Finset (Finset (Fin n)))
      (a : FABL.SignCube n) :
      FABL.SignCube n  
    The projection of a point indicator onto a prescribed family of Fourier characters. 
  • defdefined in FABL/Chapter05/PrescribedFourierSupport.lean
    complete
    def FABL.prescribedFourierKernel {n : } (𝓕 : Finset (Finset (Fin n)))
      (a : FABL.SignCube n) : FABL.SignCube n  
    def FABL.prescribedFourierKernel {n : }
      (𝓕 : Finset (Finset (Fin n)))
      (a : FABL.SignCube n) :
      FABL.SignCube n  
    The normalized point kernel `ψₐ` from Exercise 5.15. 
  • theoremdefined in FABL/Chapter05/PrescribedFourierSupport.lean
    complete
    theorem FABL.prescribedFourierKernel_apply_self {n : }
      (𝓕 : Finset (Finset (Fin n))) (h𝓕 : 𝓕.Nonempty)
      (a : FABL.SignCube n) : FABL.prescribedFourierKernel 𝓕 a a = 1
    theorem FABL.prescribedFourierKernel_apply_self
      {n : } (𝓕 : Finset (Finset (Fin n)))
      (h𝓕 : 𝓕.Nonempty)
      (a : FABL.SignCube n) :
      FABL.prescribedFourierKernel 𝓕 a a = 1
    Exercise 5.15(a): the normalized prescribed-support kernel equals one at its center. 
  • theoremdefined in FABL/Chapter05/PrescribedFourierSupport.lean
    complete
    theorem FABL.expect_sq_prescribedFourierKernel {n : }
      (𝓕 : Finset (Finset (Fin n))) (h𝓕 : 𝓕.Nonempty)
      (a : FABL.SignCube n) :
      (Finset.univ.expect fun x => FABL.prescribedFourierKernel 𝓕 a x ^ 2) =
        1 / 𝓕.card
    theorem FABL.expect_sq_prescribedFourierKernel
      {n : } (𝓕 : Finset (Finset (Fin n)))
      (h𝓕 : 𝓕.Nonempty)
      (a : FABL.SignCube n) :
      (Finset.univ.expect fun x =>
          FABL.prescribedFourierKernel 𝓕 a x ^
            2) =
        1 / 𝓕.card
    Exercise 5.15(a): the kernel has uniform second moment `1 / |𝓕|`. 
  • theoremdefined in FABL/Chapter05/PrescribedFourierSupport.lean
    complete
    theorem FABL.prescribedFourierKernel_comm {n : } (𝓕 : Finset (Finset (Fin n)))
      (h𝓕 : 𝓕.Nonempty) (a x : FABL.SignCube n) :
      FABL.prescribedFourierKernel 𝓕 a x =
        FABL.prescribedFourierKernel 𝓕 x a
    theorem FABL.prescribedFourierKernel_comm {n : }
      (𝓕 : Finset (Finset (Fin n)))
      (h𝓕 : 𝓕.Nonempty)
      (a x : FABL.SignCube n) :
      FABL.prescribedFourierKernel 𝓕 a x =
        FABL.prescribedFourierKernel 𝓕 x a
    Exercise 5.15(a): the prescribed-support kernel is symmetric in its two points. 
  • theoremdefined in FABL/Chapter05/PrescribedFourierSupport.lean
    complete
    theorem FABL.sum_ne_sq_prescribedFourierKernel {n : }
      (𝓕 : Finset (Finset (Fin n))) (h𝓕 : 𝓕.Nonempty)
      (x : FABL.SignCube n) :
       a with a  x, FABL.prescribedFourierKernel 𝓕 a x ^ 2 =
        (Fintype.card (FABL.SignCube n)) / 𝓕.card - 1
    theorem FABL.sum_ne_sq_prescribedFourierKernel
      {n : } (𝓕 : Finset (Finset (Fin n)))
      (h𝓕 : 𝓕.Nonempty)
      (x : FABL.SignCube n) :
       a with a  x,
          FABL.prescribedFourierKernel 𝓕 a x ^
            2 =
        (Fintype.card (FABL.SignCube n)) /
            𝓕.card -
          1
    Exercise 5.15(a): the squared off-center kernel mass has the stated exact value. 
  • defdefined in FABL/Chapter05/PrescribedFourierSupport.lean
    complete
    def FABL.prescribedFourierOffCenterSum {n : } (𝓕 : Finset (Finset (Fin n)))
      (x : FABL.SignCube n) (f : FABL.BooleanFunction n) : 
    def FABL.prescribedFourierOffCenterSum {n : }
      (𝓕 : Finset (Finset (Fin n)))
      (x : FABL.SignCube n)
      (f : FABL.BooleanFunction n) : 
    The off-center random sum in Exercise 5.15(b). 
  • theoremdefined in FABL/Chapter05/PrescribedFourierSupport.lean
    complete
    theorem FABL.measure_prescribedFourierOffCenterSum_abs_ge_le {n : }
      (𝓕 : Finset (Finset (Fin n))) (h𝓕 : 𝓕.Nonempty) {ε : }
      ( : 0 < ε  ε < 1)
      (hcard :
        (1 - ε ^ 2 / (6 * n)) * (Fintype.card (FABL.SignCube n)) 
          𝓕.card)
      (x : FABL.SignCube n) :
      (FABL.uniformPMF (FABL.BooleanFunction n)).toMeasure.real
          {f | ε  |FABL.prescribedFourierOffCenterSum 𝓕 x f|} 
        1 / 4 ^ n
    theorem FABL.measure_prescribedFourierOffCenterSum_abs_ge_le
      {n : } (𝓕 : Finset (Finset (Fin n)))
      (h𝓕 : 𝓕.Nonempty) {ε : }
      ( : 0 < ε  ε < 1)
      (hcard :
        (1 - ε ^ 2 / (6 * n)) *
            (Fintype.card
                (FABL.SignCube n)) 
          𝓕.card)
      (x : FABL.SignCube n) :
      (FABL.uniformPMF
                (FABL.BooleanFunction
                  n)).toMeasure.real
          {f |
            ε 
              |FABL.prescribedFourierOffCenterSum
                  𝓕 x f|} 
        1 / 4 ^ n
    Exercise 5.15(b): the prescribed off-center sum fails the `ε` bound at a fixed point
    with probability at most `4⁻ⁿ`. 
  • defdefined in FABL/Chapter05/PrescribedFourierSupport.lean
    complete
    def FABL.prescribedFourierApproximation {n : }
      (𝓕 : Finset (Finset (Fin n))) (f : FABL.BooleanFunction n) :
      FABL.SignCube n  
    def FABL.prescribedFourierApproximation
      {n : } (𝓕 : Finset (Finset (Fin n)))
      (f : FABL.BooleanFunction n) :
      FABL.SignCube n  
    The prescribed-support polynomial used in Exercise 5.15(c). 
  • theoremdefined in FABL/Chapter05/PrescribedFourierSupport.lean
    complete
    theorem FABL.fourierCoeff_prescribedFourierApproximation_eq_zero {n : }
      (𝓕 : Finset (Finset (Fin n))) (h𝓕 : 𝓕.Nonempty)
      (f : FABL.BooleanFunction n) (T : Finset (Fin n)) (hT : T  𝓕) :
      FABL.fourierCoeff (FABL.prescribedFourierApproximation 𝓕 f) T = 0
    theorem FABL.fourierCoeff_prescribedFourierApproximation_eq_zero
      {n : } (𝓕 : Finset (Finset (Fin n)))
      (h𝓕 : 𝓕.Nonempty)
      (f : FABL.BooleanFunction n)
      (T : Finset (Fin n)) (hT : T  𝓕) :
      FABL.fourierCoeff
          (FABL.prescribedFourierApproximation
            𝓕 f)
          T =
        0
    The explicit approximation has no Fourier coefficient outside the prescribed family. 
  • defdefined in FABL/Chapter05/PrescribedFourierSupport.lean
    complete
    def FABL.HasPrescribedFourierUniformApproximation {n : }
      (𝓕 : Finset (Finset (Fin n))) (ε : ) (f : FABL.BooleanFunction n) :
      Prop
    def FABL.HasPrescribedFourierUniformApproximation
      {n : } (𝓕 : Finset (Finset (Fin n)))
      (ε : ) (f : FABL.BooleanFunction n) :
      Prop
    A Boolean function has the prescribed-support uniform approximation required in
    Exercise 5.15(c). 
  • theoremdefined in FABL/Chapter05/PrescribedFourierSupport.lean
    complete
    theorem FABL.measure_not_hasPrescribedFourierUniformApproximation_le {n : }
      (𝓕 : Finset (Finset (Fin n))) (h𝓕 : 𝓕.Nonempty) {ε : }
      ( : 0 < ε  ε < 1)
      (hcard :
        (1 - ε ^ 2 / (6 * n)) * (Fintype.card (FABL.SignCube n)) 
          𝓕.card) :
      (FABL.uniformPMF (FABL.BooleanFunction n)).toMeasure.real
          {f | ¬FABL.HasPrescribedFourierUniformApproximation 𝓕 ε f} 
        1 / 2 ^ n
    theorem FABL.measure_not_hasPrescribedFourierUniformApproximation_le
      {n : } (𝓕 : Finset (Finset (Fin n)))
      (h𝓕 : 𝓕.Nonempty) {ε : }
      ( : 0 < ε  ε < 1)
      (hcard :
        (1 - ε ^ 2 / (6 * n)) *
            (Fintype.card
                (FABL.SignCube n)) 
          𝓕.card) :
      (FABL.uniformPMF
                (FABL.BooleanFunction
                  n)).toMeasure.real
          {f |
            ¬FABL.HasPrescribedFourierUniformApproximation
                𝓕 ε f} 
        1 / 2 ^ n
    Exercise 5.15(c): all but a `2⁻ⁿ` fraction of Boolean functions have a uniformly
    `ε`-close multilinear polynomial whose Fourier support lies in `𝓕`. 
  • defdefined in FABL/Chapter05/PrescribedFourierSupport.lean
    complete
    def FABL.typicalPolynomialThresholdCutoff (n : ) : 
    def FABL.typicalPolynomialThresholdCutoff
      (n : ) : 
    The explicit Fourier-degree cutoff used for Exercise 5.15(d). 
  • theoremdefined in FABL/Chapter05/PrescribedFourierSupport.lean
    complete
    theorem FABL.typicalPolynomialThresholdCutoff_le {n : } (hn : 2  n) :
      (FABL.typicalPolynomialThresholdCutoff n) 
        n / 2 + 2 * (n * Real.log n)
    theorem FABL.typicalPolynomialThresholdCutoff_le
      {n : } (hn : 2  n) :
      (FABL.typicalPolynomialThresholdCutoff
            n) 
        n / 2 + 2 * (n * Real.log n)
    The explicit cutoff is at most `n / 2 + 2 * √(n log n)` for every `n ≥ 2`,
    which realizes the `n / 2 + O(√(n log n))` bound in Exercise 5.15(d). 
  • theoremdefined in FABL/Chapter05/PrescribedFourierSupport.lean
    complete
    theorem FABL.card_lowDegreeFourierFamily_typicalPolynomialThresholdCutoff
      (n : ) :
      (1 - (1 / 2) ^ 2 / (6 * n)) * (Fintype.card (FABL.SignCube n)) 
        (FABL.lowDegreeFourierFamily n
              (FABL.typicalPolynomialThresholdCutoff n)).card
    theorem FABL.card_lowDegreeFourierFamily_typicalPolynomialThresholdCutoff
      (n : ) :
      (1 - (1 / 2) ^ 2 / (6 * n)) *
          (Fintype.card (FABL.SignCube n)) 
        (FABL.lowDegreeFourierFamily n
              (FABL.typicalPolynomialThresholdCutoff
                n)).card
    The low-degree family at the explicit cutoff meets the cardinality premise of
    Exercise 5.15(c) with `ε = 1 / 2`. 
  • theoremdefined in FABL/Chapter05/PrescribedFourierSupport.lean
    complete
    theorem FABL.measure_not_isPolynomialThreshold_typicalPolynomialThresholdCutoff_le
      (n : ) :
      (FABL.uniformPMF (FABL.BooleanFunction n)).toMeasure.real
          {f |
            ¬FABL.IsPolynomialThreshold f
                (FABL.typicalPolynomialThresholdCutoff n)} 
        1 / 2 ^ n
    theorem FABL.measure_not_isPolynomialThreshold_typicalPolynomialThresholdCutoff_le
      (n : ) :
      (FABL.uniformPMF
                (FABL.BooleanFunction
                  n)).toMeasure.real
          {f |
            ¬FABL.IsPolynomialThreshold f
                (FABL.typicalPolynomialThresholdCutoff
                  n)} 
        1 / 2 ^ n
    Exercise 5.15(d): except for a `2⁻ⁿ` fraction, Boolean functions have a polynomial
    threshold representation at the explicit `n / 2 + O(√(n log n))` cutoff. 
Lemma5.6.13
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Lemma 2.3.8
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
Used by 4
Reverse dependency previews
Preview
Lemma 5.6.23
Loading preview
Reverse dependency preview content is loaded from the rendered-fragment cache.
L∃∀N

Exercise 5.21 (the largest Fourier coefficient of Majority). Fix an odd n. Using Theorem 5.19, prove that |\widehat{\operatorname{Maj}_n}(S)| is a decreasing function of |S| for odd integers 1\le |S|\le\frac{n-1}{2}. Then use Corollary 5.20 to deduce \lVert\widehat{\operatorname{Maj}_n}\rVert_\infty =\widehat{\operatorname{Maj}_n}(\{1\}) \sim\sqrt{\frac{2}{\pi n}}.

Lean code for Lemma5.6.138 theorems
  • theoremdefined in FABL/Chapter05/MajorityLargestFourierCoefficient.lean
    complete
    theorem FABL.fourierCoeff_majority_singleton_eq_oddMajorityInfluence (m : )
      (i : Fin (2 * m + 1)) :
      FABL.fourierCoeff (FABL.majority (2 * m + 1)).toReal {i} =
        FABL.oddMajorityInfluence m
    theorem FABL.fourierCoeff_majority_singleton_eq_oddMajorityInfluence
      (m : ) (i : Fin (2 * m + 1)) :
      FABL.fourierCoeff
          (FABL.majority (2 * m + 1)).toReal
          {i} =
        FABL.oddMajorityInfluence m
    Every singleton Fourier coefficient of odd majority is its common coordinate influence. 
  • theoremdefined in FABL/Chapter05/MajorityLargestFourierCoefficient.lean
    complete
    theorem FABL.abs_fourierCoeff_majority_two_mul_add_one (m j : )
      (S : Finset (Fin (2 * m + 1))) (hS : S.card = 2 * j + 1) :
      |FABL.fourierCoeff (FABL.majority (2 * m + 1)).toReal S| =
        (m.choose j) / ((2 * m).choose (2 * j)) *
          FABL.oddMajorityInfluence m
    theorem FABL.abs_fourierCoeff_majority_two_mul_add_one
      (m j : ) (S : Finset (Fin (2 * m + 1)))
      (hS : S.card = 2 * j + 1) :
      |FABL.fourierCoeff
            (FABL.majority (2 * m + 1)).toReal
            S| =
        (m.choose j) /
            ((2 * m).choose (2 * j)) *
          FABL.oddMajorityInfluence m
    The absolute value form of Theorem 5.19 for a positive odd Fourier level. 
  • theoremdefined in FABL/Chapter05/MajorityLargestFourierCoefficient.lean
    complete
    theorem FABL.abs_fourierCoeff_majority_next_odd_eq (m j : ) (hj : j < m)
      (S : Finset (Fin (2 * m + 1))) (hS : S.card = 2 * j + 1)
      (T : Finset (Fin (2 * m + 1))) (hT : T.card = 2 * (j + 1) + 1) :
      |FABL.fourierCoeff (FABL.majority (2 * m + 1)).toReal T| =
        (2 * j + 1) / (2 * m - 2 * j - 1) *
          |FABL.fourierCoeff (FABL.majority (2 * m + 1)).toReal S|
    theorem FABL.abs_fourierCoeff_majority_next_odd_eq
      (m j : ) (hj : j < m)
      (S : Finset (Fin (2 * m + 1)))
      (hS : S.card = 2 * j + 1)
      (T : Finset (Fin (2 * m + 1)))
      (hT : T.card = 2 * (j + 1) + 1) :
      |FABL.fourierCoeff
            (FABL.majority (2 * m + 1)).toReal
            T| =
        (2 * j + 1) / (2 * m - 2 * j - 1) *
          |FABL.fourierCoeff
              (FABL.majority
                  (2 * m + 1)).toReal
              S|
    Adjacent odd Fourier levels of majority have the exact coefficient ratio
    used in Exercise 5.21. 
  • theoremdefined in FABL/Chapter05/MajorityLargestFourierCoefficient.lean
    complete
    theorem FABL.abs_fourierCoeff_majority_next_odd_lt (m j : )
      (hj : 2 * j + 3  m) (S : Finset (Fin (2 * m + 1)))
      (hS : S.card = 2 * j + 1) (T : Finset (Fin (2 * m + 1)))
      (hT : T.card = 2 * (j + 1) + 1) :
      |FABL.fourierCoeff (FABL.majority (2 * m + 1)).toReal T| <
        |FABL.fourierCoeff (FABL.majority (2 * m + 1)).toReal S|
    theorem FABL.abs_fourierCoeff_majority_next_odd_lt
      (m j : ) (hj : 2 * j + 3  m)
      (S : Finset (Fin (2 * m + 1)))
      (hS : S.card = 2 * j + 1)
      (T : Finset (Fin (2 * m + 1)))
      (hT : T.card = 2 * (j + 1) + 1) :
      |FABL.fourierCoeff
            (FABL.majority (2 * m + 1)).toReal
            T| <
        |FABL.fourierCoeff
            (FABL.majority (2 * m + 1)).toReal
            S|
    On the lower half of the spectrum, consecutive positive odd levels have
    strictly decreasing coefficient magnitude. 
  • theoremdefined in FABL/Chapter05/MajorityLargestFourierCoefficient.lean
    complete
    theorem FABL.abs_fourierCoeff_majority_le_singleton (m : )
      (S : Finset (Fin (2 * m + 1))) (i : Fin (2 * m + 1)) :
      |FABL.fourierCoeff (FABL.majority (2 * m + 1)).toReal S| 
        FABL.fourierCoeff (FABL.majority (2 * m + 1)).toReal {i}
    theorem FABL.abs_fourierCoeff_majority_le_singleton
      (m : ) (S : Finset (Fin (2 * m + 1)))
      (i : Fin (2 * m + 1)) :
      |FABL.fourierCoeff
            (FABL.majority (2 * m + 1)).toReal
            S| 
        FABL.fourierCoeff
          (FABL.majority (2 * m + 1)).toReal
          {i}
    Exercise 5.21: every Fourier coefficient of odd majority has magnitude at
    most the positive coefficient of any singleton. 
  • theoremdefined in FABL/Chapter05/MajorityLargestFourierCoefficient.lean
    complete
    theorem FABL.fourierCoeff_majority_singleton_isGreatest (m : )
      (i : Fin (2 * m + 1)) :
      IsGreatest
        (Set.range fun S =>
          |FABL.fourierCoeff (FABL.majority (2 * m + 1)).toReal S|)
        (FABL.fourierCoeff (FABL.majority (2 * m + 1)).toReal {i})
    theorem FABL.fourierCoeff_majority_singleton_isGreatest
      (m : ) (i : Fin (2 * m + 1)) :
      IsGreatest
        (Set.range fun S =>
          |FABL.fourierCoeff
              (FABL.majority
                  (2 * m + 1)).toReal
              S|)
        (FABL.fourierCoeff
          (FABL.majority (2 * m + 1)).toReal
          {i})
    Exercise 5.21 in canonical maximum form: every singleton coefficient
    attains the greatest absolute Fourier coefficient of odd majority. 
  • theoremdefined in FABL/Chapter05/MajorityLargestFourierCoefficient.lean
    complete
    theorem FABL.tendsto_oddMajorityInfluence_div_main :
      Filter.Tendsto
        (fun m =>
          FABL.oddMajorityInfluence m / FABL.oddMajorityInfluenceMain m)
        Filter.atTop (nhds 1)
    theorem FABL.tendsto_oddMajorityInfluence_div_main :
      Filter.Tendsto
        (fun m =>
          FABL.oddMajorityInfluence m /
            FABL.oddMajorityInfluenceMain m)
        Filter.atTop (nhds 1)
    The sharp Chapter 2 remainder implies that the common singleton coefficient,
    divided by its Gaussian main term, tends to one. 
  • theoremdefined in FABL/Chapter05/MajorityLargestFourierCoefficient.lean
    complete
    theorem FABL.tendsto_fourierCoeff_majority_singleton_div_sqrt
      (i : (m : )  Fin (2 * m + 1)) :
      Filter.Tendsto
        (fun m =>
          FABL.fourierCoeff (FABL.majority (2 * m + 1)).toReal {i m} /
            (2 / (Real.pi * (2 * m + 1))))
        Filter.atTop (nhds 1)
    theorem FABL.tendsto_fourierCoeff_majority_singleton_div_sqrt
      (i : (m : )  Fin (2 * m + 1)) :
      Filter.Tendsto
        (fun m =>
          FABL.fourierCoeff
              (FABL.majority
                  (2 * m + 1)).toReal
              {i m} /
            (2 / (Real.pi * (2 * m + 1))))
        Filter.atTop (nhds 1)
    Exercise 5.21, exact ratio form of
    `hat Maj_n({i}) ~ sqrt(2 / (π n))` along odd arities. 
Lemma5.6.14
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.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.6
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.25 (recovering limiting Fourier weights from stability). Assume only that \operatorname{Stab}_\rho[\operatorname{Maj}_n] \longrightarrow\frac2\pi\arcsin\rho \qquad(\rho\in[-1,1]) and that \operatorname{Stab}_\rho[\operatorname{Maj}_n] =\sum_{k\ge0}\mathbf W^k[\operatorname{Maj}_n]\rho^k. Prove, by induction on k and by taking |\rho| sufficiently small at each step, that for every k\in\mathbb N, \lim_{n\to\infty}\mathbf W^k[\operatorname{Maj}_n] = [\rho^k]\left(\frac2\pi\arcsin\rho\right). Here n tends to infinity through the positive odd integers.

Lean code for Lemma5.6.141 theorem
  • theoremdefined in FABL/Chapter05/MajorityFourierWeightRecovery.lean
    complete
    theorem FABL.fourierWeightAtLevel_majority_oddArity_tendsto (k : ) :
      Filter.Tendsto
        (fun m =>
          FABL.fourierWeightAtLevel k (FABL.majority (2 * m + 1)).toReal)
        Filter.atTop (nhds (FABL.limitingMajorityFourierWeight k))
    theorem FABL.fourierWeightAtLevel_majority_oddArity_tendsto
      (k : ) :
      Filter.Tendsto
        (fun m =>
          FABL.fourierWeightAtLevel k
            (FABL.majority
                (2 * m + 1)).toReal)
        Filter.atTop
        (nhds
          (FABL.limitingMajorityFourierWeight
            k))
    Exercise 5.25: for every fixed level, the Fourier weight of majority on
    `2m + 1` variables tends to the corresponding limiting majority Fourier weight. 
Lemma5.6.15
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Lemma 2.3.8
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.26 (the Fourier 1-norm of Majority). Let m\in\mathbb N.

(a) For every integer 0\le j\le m, prove \left\lVert \widehat{\operatorname{Maj}_{2m+1}}^{\,=2j+1} \right\rVert_1 = \binom mj\frac1{2j+1} \frac{2m+1}{2^{2m}}\binom{2m}{m}.

(b) If X\sim\operatorname{Binomial}(m,1/2), deduce \left\lVert\widehat{\operatorname{Maj}_{2m+1}}\right\rVert_1 = \mathbb E\!\left[\frac1{2X+1}\right] \frac{2m+1}{2^m}\binom{2m}{m}.

(c) Deduce, as odd n tends to infinity, \left\lVert\widehat{\operatorname{Maj}_n}\right\rVert_1 \sim \frac2{\sqrt\pi}\frac1{\sqrt n}\,2^{n/2}.

Lean code for Lemma5.6.154 declarations
  • theoremdefined in FABL/Chapter05/MajorityFourierOneNorm.lean
    complete
    theorem FABL.fourierOneNorm_degreePart_majority_odd (m j : ) (hj : j  m) :
      FABL.fourierOneNorm
          (FABL.degreePart (2 * j + 1) (FABL.majority (2 * m + 1)).toReal) =
        (m.choose j) * (1 / (2 * j + 1)) * ((2 * m + 1) / 2 ^ (2 * m)) *
          ((2 * m).choose m)
    theorem FABL.fourierOneNorm_degreePart_majority_odd
      (m j : ) (hj : j  m) :
      FABL.fourierOneNorm
          (FABL.degreePart (2 * j + 1)
            (FABL.majority
                (2 * m + 1)).toReal) =
        (m.choose j) * (1 / (2 * j + 1)) *
            ((2 * m + 1) / 2 ^ (2 * m)) *
          ((2 * m).choose m)
    Exercise 5.26(a): the Fourier one-norm of the level-`2j+1` part of
    majority on `2m+1` variables. 
  • defdefined in FABL/Chapter05/MajorityFourierOneNorm.lean
    complete
    def FABL.binomialHalfOddReciprocalExpectation (m : ) : 
    def FABL.binomialHalfOddReciprocalExpectation
      (m : ) : 
    The expectation of `(2X+1)⁻¹` for `X ∼ Binomial(m, 1/2)`. 
  • theoremdefined in FABL/Chapter05/MajorityFourierOneNorm.lean
    complete
    theorem FABL.fourierOneNorm_majority_odd_eq_binomialExpectation (m : ) :
      FABL.fourierOneNorm (FABL.majority (2 * m + 1)).toReal =
        FABL.binomialHalfOddReciprocalExpectation m *
            ((2 * m + 1) / 2 ^ m) *
          ((2 * m).choose m)
    theorem FABL.fourierOneNorm_majority_odd_eq_binomialExpectation
      (m : ) :
      FABL.fourierOneNorm
          (FABL.majority (2 * m + 1)).toReal =
        FABL.binomialHalfOddReciprocalExpectation
              m *
            ((2 * m + 1) / 2 ^ m) *
          ((2 * m).choose m)
    Exercise 5.26(b): the complete Fourier one-norm of odd majority, expressed
    using `X ∼ Binomial(m, 1/2)`. 
  • theoremdefined in FABL/Chapter05/MajorityFourierOneNorm.lean
    complete
    theorem FABL.fourierOneNorm_majority_odd_isEquivalent :
      Asymptotics.IsEquivalent Filter.atTop
        (fun m => FABL.fourierOneNorm (FABL.majority (2 * m + 1)).toReal)
        fun m => 2 / Real.pi * (1 / (2 * m + 1)) * 2 ^ ((2 * m + 1) / 2)
    theorem FABL.fourierOneNorm_majority_odd_isEquivalent :
      Asymptotics.IsEquivalent Filter.atTop
        (fun m =>
          FABL.fourierOneNorm
            (FABL.majority
                (2 * m + 1)).toReal)
        fun m =>
        2 / Real.pi * (1 / (2 * m + 1)) *
          2 ^ ((2 * m + 1) / 2)
    Exercise 5.26(c): as the positive odd arity tends to infinity, the
    Fourier one-norm of majority is asymptotic to
    `(2 / √π) n⁻¹ᐟ² 2^(n/2)`. 
Lemma5.6.16
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Theorem 1.2.3
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.28 (Krawtchouk polynomials). For integers 0\le j\le n, define K_j(x)=\sum_{\substack{S\subseteq[n]\\|S|=j}}x^S, \qquad x\in\{-1,1\}^n. Since K_j is symmetric, its value depends only on the number z of coordinates of x equal to -1; equivalently, \sum_i x_i=n-2z. Write K_j(z) for this common value.

(a) Prove that K_j(z) is represented by a degree-j polynomial in z. This is the Krawtchouk polynomial of degree j.

(b) Prove \sum_{j=0}^nK_j(x) =2^n\,1_{\{(1,\ldots,1)\}}(x).

(c) For \rho\in[-1,1], prove \sum_{j=0}^nK_j(x)\rho^j = 2^n\Pr_{\boldsymbol y\sim N_\rho(x)} [\boldsymbol y=(1,\ldots,1)].

(d) Deduce the generating-function identity K_j(z) = [\rho^j]\bigl((1-\rho)^z(1+\rho)^{n-z}\bigr).

Lean code for Lemma5.6.1614 declarations
  • defdefined in FABL/Chapter05/KrawtchoukPolynomials.lean
    complete
    def FABL.negativeCoordinateCount {n : } (x : FABL.SignCube n) : 
    def FABL.negativeCoordinateCount {n : }
      (x : FABL.SignCube n) : 
    The number of negative coordinates of a sign-cube input. 
  • defdefined in FABL/Chapter05/KrawtchoukPolynomials.lean
    complete
    def FABL.krawtchoukValue {n : } (j : ) (x : FABL.SignCube n) : 
    def FABL.krawtchoukValue {n : } (j : )
      (x : FABL.SignCube n) : 
    The degree-`j` elementary symmetric polynomial in the coordinates of a cube input. 
  • defdefined in FABL/Chapter05/KrawtchoukPolynomials.lean
    complete
    def FABL.krawtchoukGeneratingPolynomial {n : } (x : FABL.SignCube n) :
      Polynomial 
    def FABL.krawtchoukGeneratingPolynomial
      {n : } (x : FABL.SignCube n) :
      Polynomial 
    The generating polynomial whose degree-`j` coefficient is `krawtchoukValue j x`. 
  • theoremdefined in FABL/Chapter05/KrawtchoukPolynomials.lean
    complete
    theorem FABL.coeff_krawtchoukGeneratingPolynomial {n : } (j : )
      (x : FABL.SignCube n) :
      (FABL.krawtchoukGeneratingPolynomial x).coeff j =
        FABL.krawtchoukValue j x
    theorem FABL.coeff_krawtchoukGeneratingPolynomial
      {n : } (j : ) (x : FABL.SignCube n) :
      (FABL.krawtchoukGeneratingPolynomial
              x).coeff
          j =
        FABL.krawtchoukValue j x
    The coefficient definition of the Krawtchouk layer sum. 
  • theoremdefined in FABL/Chapter05/KrawtchoukPolynomials.lean
    complete
    theorem FABL.sum_krawtchoukValue_mul_pow {n : } (x : FABL.SignCube n) (ρ : ) :
       j  Finset.range (n + 1), FABL.krawtchoukValue j x * ρ ^ j =
         S, FABL.monomial S x * ρ ^ S.card
    theorem FABL.sum_krawtchoukValue_mul_pow {n : }
      (x : FABL.SignCube n) (ρ : ) :
       j  Finset.range (n + 1),
          FABL.krawtchoukValue j x * ρ ^ j =
         S, FABL.monomial S x * ρ ^ S.card
    The Krawtchouk layers group the monomial generating function by cardinality. 
  • theoremdefined in FABL/Chapter05/KrawtchoukPolynomials.lean
    complete
    theorem FABL.sum_krawtchoukValue {n : } (x : FABL.SignCube n) :
       j  Finset.range (n + 1), FABL.krawtchoukValue j x =
        2 ^ n * FABL.indicatorPolynomial (fun x => 1) x
    theorem FABL.sum_krawtchoukValue {n : }
      (x : FABL.SignCube n) :
       j  Finset.range (n + 1),
          FABL.krawtchoukValue j x =
        2 ^ n *
          FABL.indicatorPolynomial
            (fun x => 1) x
    Exercise 5.28(b): summing all Krawtchouk layers gives the all-ones point mass. 
  • theoremdefined in FABL/Chapter05/KrawtchoukPolynomials.lean
    complete
    theorem FABL.sum_krawtchoukValue_mul_pow_eq_noiseKernel {n : }
      (x : FABL.SignCube n) (ρ : ) ( : ρ  Set.Icc (-1) 1) :
       j  Finset.range (n + 1), FABL.krawtchoukValue j x * ρ ^ j =
        2 ^ n * ((FABL.noiseKernel ρ  x) fun x => 1).toReal
    theorem FABL.sum_krawtchoukValue_mul_pow_eq_noiseKernel
      {n : } (x : FABL.SignCube n) (ρ : )
      ( : ρ  Set.Icc (-1) 1) :
       j  Finset.range (n + 1),
          FABL.krawtchoukValue j x * ρ ^ j =
        2 ^ n *
          ((FABL.noiseKernel ρ  x) fun x =>
              1).toReal
    Exercise 5.28(c): the Krawtchouk generating function is the all-ones noise-kernel mass. 
  • defdefined in FABL/Chapter05/KrawtchoukPolynomials.lean
    complete
    def FABL.krawtchoukPolynomial (n j : ) : Polynomial 
    def FABL.krawtchoukPolynomial (n j : ) :
      Polynomial 
    The degree-`j` Krawtchouk polynomial in the negative-coordinate count. 
  • theoremdefined in FABL/Chapter05/KrawtchoukPolynomials.lean
    complete
    theorem FABL.krawtchoukPolynomial_natDegree (n j : ) (_hj : j  n) :
      (FABL.krawtchoukPolynomial n j).natDegree = j
    theorem FABL.krawtchoukPolynomial_natDegree
      (n j : ) (_hj : j  n) :
      (FABL.krawtchoukPolynomial n
            j).natDegree =
        j
    Exercise 5.28(a): for `j ≤ n`, the representing Krawtchouk polynomial has degree `j`. 
  • theoremdefined in FABL/Chapter05/KrawtchoukPolynomials.lean
    complete
    theorem FABL.eval_krawtchoukPolynomial_eq_coeff_countGenerating {n z : }
      (hz : z  n) (j : ) :
      Polynomial.eval (↑z) (FABL.krawtchoukPolynomial n j) =
        ((1 - Polynomial.X) ^ z * (1 + Polynomial.X) ^ (n - z)).coeff j
    theorem FABL.eval_krawtchoukPolynomial_eq_coeff_countGenerating
      {n z : } (hz : z  n) (j : ) :
      Polynomial.eval (↑z)
          (FABL.krawtchoukPolynomial n j) =
        ((1 - Polynomial.X) ^ z *
              (1 + Polynomial.X) ^
                (n - z)).coeff
          j
    Exercise 5.28(d): the coefficient formula for the polynomial value at a count `z ≤ n`. 
  • theoremdefined in FABL/Chapter05/KrawtchoukPolynomials.lean
    complete
    theorem FABL.negativeCoordinateCount_le {n : } (x : FABL.SignCube n) :
      FABL.negativeCoordinateCount x  n
    theorem FABL.negativeCoordinateCount_le {n : }
      (x : FABL.SignCube n) :
      FABL.negativeCoordinateCount x  n
    The number of negative coordinates is at most the cube dimension. 
  • theoremdefined in FABL/Chapter05/KrawtchoukPolynomials.lean
    complete
    theorem FABL.krawtchoukGeneratingPolynomial_eq_negativeCount {n : }
      (x : FABL.SignCube n) :
      FABL.krawtchoukGeneratingPolynomial x =
        (1 - Polynomial.X) ^ FABL.negativeCoordinateCount x *
          (1 + Polynomial.X) ^ (n - FABL.negativeCoordinateCount x)
    theorem FABL.krawtchoukGeneratingPolynomial_eq_negativeCount
      {n : } (x : FABL.SignCube n) :
      FABL.krawtchoukGeneratingPolynomial x =
        (1 - Polynomial.X) ^
            FABL.negativeCoordinateCount x *
          (1 + Polynomial.X) ^
            (n -
              FABL.negativeCoordinateCount x)
    Grouping the generating product by the negative and positive coordinates. 
  • theoremdefined in FABL/Chapter05/KrawtchoukPolynomials.lean
    complete
    theorem FABL.krawtchoukValue_eq_coeff_negativeCount {n : } (j : )
      (x : FABL.SignCube n) :
      FABL.krawtchoukValue j x =
        ((1 - Polynomial.X) ^ FABL.negativeCoordinateCount x *
              (1 + Polynomial.X) ^
                (n - FABL.negativeCoordinateCount x)).coeff
          j
    theorem FABL.krawtchoukValue_eq_coeff_negativeCount
      {n : } (j : ) (x : FABL.SignCube n) :
      FABL.krawtchoukValue j x =
        ((1 - Polynomial.X) ^
                FABL.negativeCoordinateCount
                  x *
              (1 + Polynomial.X) ^
                (n -
                  FABL.negativeCoordinateCount
                    x)).coeff
          j
    Exercise 5.28(d): the coefficient generating-function identity at a cube input. 
  • theoremdefined in FABL/Chapter05/KrawtchoukPolynomials.lean
    complete
    theorem FABL.krawtchoukPolynomial_represents {n : } (j : ) (hj : j  n)
      (x : FABL.SignCube n) :
      (FABL.krawtchoukPolynomial n j).natDegree = j 
        Polynomial.eval (↑(FABL.negativeCoordinateCount x))
            (FABL.krawtchoukPolynomial n j) =
          FABL.krawtchoukValue j x
    theorem FABL.krawtchoukPolynomial_represents
      {n : } (j : ) (hj : j  n)
      (x : FABL.SignCube n) :
      (FABL.krawtchoukPolynomial n
              j).natDegree =
          j 
        Polynomial.eval
            (↑(FABL.negativeCoordinateCount
                x))
            (FABL.krawtchoukPolynomial n j) =
          FABL.krawtchoukValue j x
    Exercise 5.28(a): `krawtchoukPolynomial n j` represents the layer sum as a
    degree-`j` polynomial in the number of negative coordinates. 
Lemma5.6.17
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Definition 5.2.1
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 1L∃∀N

Exercise 5.32 (the Gaussian limit for biased Majority). Fix t\in\mathbb R, and let f_n be the sequence of linear threshold functions from Proposition 5.25, f_n(x)=1\left\{\frac1{\sqrt n}\sum_{i=1}^nx_i>t\right\}. For \beta\in(0,1), let t_\beta be determined by \overline\Phi(t_\beta)=\beta. For standard Gaussian variables z_1,z_2 with \mathbb E[z_1z_2]=\rho, define the Gaussian quadrant probability \Lambda_\rho(\beta) =\Pr[z_1>t_\beta,\ z_2>t_\beta]. Set \mu=\overline\Phi(t). Prove \lim_{n\to\infty}\operatorname{Stab}_\rho[f_n] =\Lambda_\rho(\mu). Also verify that, if \alpha=\Phi(t), then \Lambda_\rho(\alpha) =\Pr[z_1\le t,\ z_2\le t].

Lean code for Lemma5.6.175 declarations
  • defdefined in FABL/Chapter05/BiasedMajorityGaussianLimit.lean
    complete
    def FABL.gaussianUpperRightQuadrant (t : ) : Set FABL.CorrelationPlane
    def FABL.gaussianUpperRightQuadrant (t : ) :
      Set FABL.CorrelationPlane
    The strict upper-right quadrant above a common threshold. 
  • theoremdefined in FABL/Chapter05/BiasedMajorityGaussianLimit.lean
    complete
    theorem FABL.isOpen_gaussianUpperRightQuadrant (t : ) :
      IsOpen (FABL.gaussianUpperRightQuadrant t)
    theorem FABL.isOpen_gaussianUpperRightQuadrant
      (t : ) :
      IsOpen
        (FABL.gaussianUpperRightQuadrant t)
    A strict common-threshold upper-right quadrant is open. 
  • defdefined in FABL/Chapter05/BiasedMajorityGaussianLimit.lean
    complete
    def FABL.gaussianQuadrantProbability (ρ : (Set.Ioo (-1) 1))
      (β : (Set.Ioo 0 1)) : 
    def FABL.gaussianQuadrantProbability
      (ρ : (Set.Ioo (-1) 1))
      (β : (Set.Ioo 0 1)) : 
    The Gaussian same-threshold quadrant probability
    `Λ_ρ(β) = Pr[Z₁ > t_β, Z₂ > t_β]`, where
    `\bar Φ(t_β) = β`. 
  • theoremdefined in FABL/Chapter05/BiasedMajorityGaussianLimit.lean
    complete
    theorem FABL.tendsto_noiseStability_hammingUpperTailIndicator (t : )
      (ρ : (Set.Ioo (-1) 1)) :
      Filter.Tendsto
        (fun n =>
          FABL.noiseStability ρ  (FABL.hammingUpperTailIndicator t n))
        Filter.atTop
        (nhds
          (FABL.gaussianQuadrantProbability ρ
            (FABL.standardGaussianUpperTailOpen (OrderDual.toDual t))))
    theorem FABL.tendsto_noiseStability_hammingUpperTailIndicator
      (t : ) (ρ : (Set.Ioo (-1) 1)) :
      Filter.Tendsto
        (fun n =>
          FABL.noiseStability ρ 
            (FABL.hammingUpperTailIndicator t
              n))
        Filter.atTop
        (nhds
          (FABL.gaussianQuadrantProbability ρ
            (FABL.standardGaussianUpperTailOpen
              (OrderDual.toDual t))))
    Exercise 5.32: the noise stability of the strict biased-Majority
    threshold converges to the correlated Gaussian quadrant probability with
    the same Gaussian mass. 
  • theoremdefined in FABL/Chapter05/BiasedMajorityGaussianLimit.lean
    complete
    theorem FABL.gaussianQuadrantProbability_one_sub_upperTail
      (ρ : (Set.Ioo (-1) 1)) (t : ) :
      FABL.gaussianQuadrantProbability ρ
          1 - (FABL.standardGaussianUpperTailOpen (OrderDual.toDual t)),
             =
        (↑(FABL.correlatedGaussianMeasure ρ)).real
          {z |
            FABL.correlationFirstCoordinate z  t 
              FABL.correlationSecondCoordinate z  t}
    theorem FABL.gaussianQuadrantProbability_one_sub_upperTail
      (ρ : (Set.Ioo (-1) 1)) (t : ) :
      FABL.gaussianQuadrantProbability ρ
          1 -
              (FABL.standardGaussianUpperTailOpen
                  (OrderDual.toDual t)),
             =
        (↑(FABL.correlatedGaussianMeasure
                ρ)).real
          {z |
            FABL.correlationFirstCoordinate
                  z 
                t 
              FABL.correlationSecondCoordinate
                  z 
                t}
    If `α = Φ(t) = 1 - \bar Φ(t)`, then the Gaussian quadrant
    probability `Λ_ρ(α)` is the lower-left probability at threshold `t`. 
Lemma5.6.18
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Lemma 2.3.4
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.34 (bounded input length is vacuously stable). Let \mathcal B be a class of Boolean-valued functions, every member of which has input length at most n. Prove that for every f\in\mathcal B and every \delta\in[0,1/2], \operatorname{NS}_\delta[f]\le n\delta. Deduce that \mathcal B is uniformly noise-stable.

Lean code for Lemma5.6.186 declarations
  • theoremdefined in FABL/Chapter05/UniformNoiseStability.lean
    complete
    theorem FABL.noiseSensitivity_le_one {n : } (δ : ) ( : δ  Set.Icc 0 1)
      (f : FABL.BooleanFunction n) : FABL.noiseSensitivity δ  f  1
    theorem FABL.noiseSensitivity_le_one {n : }
      (δ : ) ( : δ  Set.Icc 0 1)
      (f : FABL.BooleanFunction n) :
      FABL.noiseSensitivity δ  f  1
    Boolean noise sensitivity is at most one. 
  • theoremdefined in FABL/Chapter05/UniformNoiseStability.lean
    complete
    theorem FABL.noiseSensitivity_le_dimension_mul_delta {n : } (δ : )
      ( : δ  Set.Icc 0 (1 / 2)) (f : FABL.BooleanFunction n) :
      FABL.noiseSensitivity δ  f  n * δ
    theorem FABL.noiseSensitivity_le_dimension_mul_delta
      {n : } (δ : )
      ( : δ  Set.Icc 0 (1 / 2))
      (f : FABL.BooleanFunction n) :
      FABL.noiseSensitivity δ  f  n * δ
    O'Donnell, Exercise 5.34: every Boolean function on `n` inputs has noise sensitivity
    at most `nδ`. 
  • defdefined in FABL/Chapter05/UniformNoiseStability.lean
    complete
    def FABL.HasInputLengthAtMost (B : FABL.BooleanClass) (N : ) : Prop
    def FABL.HasInputLengthAtMost
      (B : FABL.BooleanClass) (N : ) : Prop
    A class has input length at most `N` when it is empty in every larger dimension. 
  • defdefined in FABL/Chapter05/UniformNoiseStability.lean
    complete
    def FABL.boundedInputLengthNoiseModulus (N : )
      (δ : FABL.HalfNoiseParameter) : FABL.UnitProbability
    def FABL.boundedInputLengthNoiseModulus
      (N : ) (δ : FABL.HalfNoiseParameter) :
      FABL.UnitProbability
    The canonical uniform-stability modulus for Boolean functions of input length at most `N`. 
  • theoremdefined in FABL/Chapter05/UniformNoiseStability.lean
    complete
    theorem FABL.boundedInputLengthNoiseModulus_tendsto_zero (N : ) :
      Filter.Tendsto (fun δ => (FABL.boundedInputLengthNoiseModulus N δ))
        (nhdsWithin 0, FABL.IsUniformlyNoiseStable._proof_1
          (Set.Ioi 0, FABL.IsUniformlyNoiseStable._proof_1))
        (nhds 0)
    theorem FABL.boundedInputLengthNoiseModulus_tendsto_zero
      (N : ) :
      Filter.Tendsto
        (fun δ =>
          (FABL.boundedInputLengthNoiseModulus
              N δ))
        (nhdsWithin
          0,
            FABL.IsUniformlyNoiseStable._proof_1
          (Set.Ioi
            0,
              FABL.IsUniformlyNoiseStable._proof_1))
        (nhds 0)
    The bounded-input-length modulus tends to zero with the noise rate. 
  • theoremdefined in FABL/Chapter05/UniformNoiseStability.lean
    complete
    theorem FABL.uniformlyNoiseStable_of_inputLengthAtMost (B : FABL.BooleanClass)
      (N : ) (hB : FABL.HasInputLengthAtMost B N) :
      FABL.IsUniformlyNoiseStable B
    theorem FABL.uniformlyNoiseStable_of_inputLengthAtMost
      (B : FABL.BooleanClass) (N : )
      (hB : FABL.HasInputLengthAtMost B N) :
      FABL.IsUniformlyNoiseStable B
    O'Donnell, Exercise 5.34: a class whose members all have input length at most `N` is
    uniformly noise-stable. 
Lemma5.6.19
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Theorem 1.4.2
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.35 (robust edge isoperimetry at volume 1/2). Let \delta\ge0, and let f:\{-1,1\}^n\to\{-1,1\} satisfy \mathbb E[f]=0, \qquad \mathbf I[f]\le1+\delta. Give a direct proof that f is O(\delta)-close to \chi_i or -\chi_i for some i\in[n]. More precisely, prove that one may achieve \delta-closeness.

The suggested argument is to lower-bound \sum_i\widehat f(i)^2 and then use \sum_i\widehat f(i)^2 \le \left(\max_i|\widehat f(i)|\right) \sum_i|\widehat f(i)|, together with Proposition 3.2 and |\widehat f(i)|\le\operatorname{Inf}_i[f].

Lean code for Lemma5.6.191 theorem
  • theoremdefined in FABL/Chapter05/RobustEdgeIsoperimetry.lean
    complete
    theorem FABL.exists_signedDictator_relativeHammingDist_le_of_isBalanced_totalInfluence_le
      {n : } (f : FABL.BooleanFunction n) {δ : } ( : 0  δ)
      (hbalanced : FABL.IsBalanced f.toReal)
      (hinfluence : FABL.totalInfluence f.toReal  1 + δ) :
       i negated,
        FABL.relativeHammingDist f (FABL.signedDictator i negated)  δ
    theorem FABL.exists_signedDictator_relativeHammingDist_le_of_isBalanced_totalInfluence_le
      {n : } (f : FABL.BooleanFunction n)
      {δ : } ( : 0  δ)
      (hbalanced : FABL.IsBalanced f.toReal)
      (hinfluence :
        FABL.totalInfluence f.toReal 
          1 + δ) :
       i negated,
        FABL.relativeHammingDist f
            (FABL.signedDictator i negated) 
          δ
    Exercise 5.35: a balanced Boolean function of total influence at most
    `1 + δ` is `δ`-close to a dictator or negated dictator. 
Lemma5.6.20
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Definition 1.4.15
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.36 (optimality of the improved FKN bound). Exhibit a sequence of Boolean functions f:\{-1,1\}^n\to\{-1,1\} and positive parameters \delta\to0 such that \widehat f(\{1\})=1-\frac\delta2 and \mathbf W^1[f] \ge 1-\delta+\Omega\!\left(\delta^2\log(1/\delta)\right). Thus the second-order error term in Theorem 5.33 is essentially optimal.

Lean code for Lemma5.6.2031 declarations
  • defdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    def FABL.fknOptimalityGaussianMass (q : ) : (Set.Ioo 0 1)
    def FABL.fknOptimalityGaussianMass (q : ) :
      (Set.Ioo 0 1)
    The Gaussian masses used to diagonalize Proposition 5.25. 
  • defdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    def FABL.fknOptimalityThreshold (q : ) : 
    def FABL.fknOptimalityThreshold (q : ) : 
    The Gaussian quantile at the `q`-th target mass. 
  • defdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    def FABL.fknOptimalityGaussianBoundary (q : ) : 
    def FABL.fknOptimalityGaussianBoundary
      (q : ) : 
    The Gaussian isoperimetric boundary at the `q`-th target mass. 
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.standardGaussianUpperTail_fknOptimalityThreshold (q : ) :
      FABL.standardGaussianUpperTail (FABL.fknOptimalityThreshold q) =
        (FABL.fknOptimalityGaussianMass q)
    theorem FABL.standardGaussianUpperTail_fknOptimalityThreshold
      (q : ) :
      FABL.standardGaussianUpperTail
          (FABL.fknOptimalityThreshold q) =
        (FABL.fknOptimalityGaussianMass q)
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.fknOptimalityGaussianBoundary_eq_density (q : ) :
      FABL.fknOptimalityGaussianBoundary q =
        ProbabilityTheory.gaussianPDFReal 0 1
          (FABL.fknOptimalityThreshold q)
    theorem FABL.fknOptimalityGaussianBoundary_eq_density
      (q : ) :
      FABL.fknOptimalityGaussianBoundary q =
        ProbabilityTheory.gaussianPDFReal 0 1
          (FABL.fknOptimalityThreshold q)
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.fknOptimalityGaussianBoundary_pos (q : ) :
      0 < FABL.fknOptimalityGaussianBoundary q
    theorem FABL.fknOptimalityGaussianBoundary_pos
      (q : ) :
      0 < FABL.fknOptimalityGaussianBoundary q
  • defdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    def FABL.IsFKNOptimalityApproximation (q r : ) : Prop
    def FABL.IsFKNOptimalityApproximation
      (q r : ) : Prop
    The simultaneous mass and level-one approximation required at stage
    `q` of the diagonal construction. 
  • defdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    def FABL.fknOptimalityDimensionIndex (q : ) : 
    def FABL.fknOptimalityDimensionIndex (q : ) :
      
    A dimension index at which both approximations for stage `q` hold. 
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.fknOptimalityDimensionIndex_spec (q : ) :
      FABL.IsFKNOptimalityApproximation q
        (FABL.fknOptimalityDimensionIndex q)
    theorem FABL.fknOptimalityDimensionIndex_spec
      (q : ) :
      FABL.IsFKNOptimalityApproximation q
        (FABL.fknOptimalityDimensionIndex q)
  • defdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    def FABL.fknOptimalityTailDimension (q : ) : 
    def FABL.fknOptimalityTailDimension (q : ) :
      
    The Hamming-tail dimension selected at stage `q`. 
  • defdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    def FABL.fknOptimalitySmallSet (q : ) :
      FABL.SignCube (FABL.fknOptimalityTailDimension q)  
    def FABL.fknOptimalitySmallSet (q : ) :
      FABL.SignCube
          (FABL.fknOptimalityTailDimension
            q) 
        
    The small Hamming upper-tail set selected at stage `q`. 
  • defdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    def FABL.fknOptimalitySmallSetMass (q : ) : 
    def FABL.fknOptimalitySmallSetMass (q : ) : 
    The uniform mass of the selected Hamming upper-tail set. 
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.fknOptimalitySmallSetMass_approx (q : ) :
      |FABL.fknOptimalitySmallSetMass q -
            (FABL.fknOptimalityGaussianMass q)| <
        (FABL.fknOptimalityGaussianMass q) / 2
    theorem FABL.fknOptimalitySmallSetMass_approx
      (q : ) :
      |FABL.fknOptimalitySmallSetMass q -
            (FABL.fknOptimalityGaussianMass
                q)| <
        (FABL.fknOptimalityGaussianMass q) /
          2
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.fknOptimalitySmallSetWeight_approx (q : ) :
      |FABL.fourierWeightAtLevel 1 (FABL.fknOptimalitySmallSet q) -
            FABL.fknOptimalityGaussianBoundary q ^ 2| <
        FABL.fknOptimalityGaussianBoundary q ^ 2 / 2
    theorem FABL.fknOptimalitySmallSetWeight_approx
      (q : ) :
      |FABL.fourierWeightAtLevel 1
              (FABL.fknOptimalitySmallSet q) -
            FABL.fknOptimalityGaussianBoundary
                q ^
              2| <
        FABL.fknOptimalityGaussianBoundary q ^
            2 /
          2
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.fknOptimalitySmallSetMass_pos (q : ) :
      0 < FABL.fknOptimalitySmallSetMass q
    theorem FABL.fknOptimalitySmallSetMass_pos
      (q : ) :
      0 < FABL.fknOptimalitySmallSetMass q
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.fknOptimalityGaussianMass_lt_two_mul_smallSetMass (q : ) :
      (FABL.fknOptimalityGaussianMass q) <
        2 * FABL.fknOptimalitySmallSetMass q
    theorem FABL.fknOptimalityGaussianMass_lt_two_mul_smallSetMass
      (q : ) :
      (FABL.fknOptimalityGaussianMass q) <
        2 * FABL.fknOptimalitySmallSetMass q
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.two_mul_fknOptimalitySmallSetMass_lt_three_mul_gaussianMass
      (q : ) :
      2 * FABL.fknOptimalitySmallSetMass q <
        3 * (FABL.fknOptimalityGaussianMass q)
    theorem FABL.two_mul_fknOptimalitySmallSetMass_lt_three_mul_gaussianMass
      (q : ) :
      2 * FABL.fknOptimalitySmallSetMass q <
        3 *
          (FABL.fknOptimalityGaussianMass q)
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.fknOptimalitySmallSetWeight_gt_half_boundary_sq (q : ) :
      FABL.fknOptimalityGaussianBoundary q ^ 2 / 2 <
        FABL.fourierWeightAtLevel 1 (FABL.fknOptimalitySmallSet q)
    theorem FABL.fknOptimalitySmallSetWeight_gt_half_boundary_sq
      (q : ) :
      FABL.fknOptimalityGaussianBoundary q ^
            2 /
          2 <
        FABL.fourierWeightAtLevel 1
          (FABL.fknOptimalitySmallSet q)
  • defdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    def FABL.fknOptimalityDelta (q : ) : 
    def FABL.fknOptimalityDelta (q : ) : 
    The closeness parameter forced by the exact distinguished Fourier
    coefficient. 
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.fknOptimalityDelta_pos (q : ) : 0 < FABL.fknOptimalityDelta q
    theorem FABL.fknOptimalityDelta_pos (q : ) :
      0 < FABL.fknOptimalityDelta q
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.fknOptimalityGaussianMass_lt_delta (q : ) :
      (FABL.fknOptimalityGaussianMass q) < FABL.fknOptimalityDelta q
    theorem FABL.fknOptimalityGaussianMass_lt_delta
      (q : ) :
      (FABL.fknOptimalityGaussianMass q) <
        FABL.fknOptimalityDelta q
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.fknOptimalityDelta_lt_three_mul_gaussianMass (q : ) :
      FABL.fknOptimalityDelta q < 3 * (FABL.fknOptimalityGaussianMass q)
    theorem FABL.fknOptimalityDelta_lt_three_mul_gaussianMass
      (q : ) :
      FABL.fknOptimalityDelta q <
        3 *
          (FABL.fknOptimalityGaussianMass q)
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.tendsto_fknOptimalityDelta :
      Filter.Tendsto FABL.fknOptimalityDelta Filter.atTop (nhds 0)
    theorem FABL.tendsto_fknOptimalityDelta :
      Filter.Tendsto FABL.fknOptimalityDelta
        Filter.atTop (nhds 0)
  • defdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    def FABL.fknOptimalityFunction (q : ) :
      FABL.BooleanFunction (FABL.fknOptimalityTailDimension q + 1)
    def FABL.fknOptimalityFunction (q : ) :
      FABL.BooleanFunction
        (FABL.fknOptimalityTailDimension q +
          1)
    The Boolean function obtained by changing a dictator only on the
    selected Hamming set in its negative slice. 
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.fourierCoeff_fknOptimalityFunction_zero (q : ) :
      FABL.fourierCoeff (FABL.fknOptimalityFunction q).toReal {0} =
        1 - FABL.fknOptimalityDelta q / 2
    theorem FABL.fourierCoeff_fknOptimalityFunction_zero
      (q : ) :
      FABL.fourierCoeff
          (FABL.fknOptimalityFunction
              q).toReal
          {0} =
        1 - FABL.fknOptimalityDelta q / 2
    The distinguished singleton coefficient is exactly
    `1 - δ / 2` at every stage. 
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.fourierCoeff_fknOptimalityFunction_succ (q : )
      (i : Fin (FABL.fknOptimalityTailDimension q)) :
      FABL.fourierCoeff (FABL.fknOptimalityFunction q).toReal {i.succ} =
        FABL.fourierCoeff (FABL.fknOptimalitySmallSet q) {i}
    theorem FABL.fourierCoeff_fknOptimalityFunction_succ
      (q : )
      (i :
        Fin
          (FABL.fknOptimalityTailDimension
            q)) :
      FABL.fourierCoeff
          (FABL.fknOptimalityFunction
              q).toReal
          {i.succ} =
        FABL.fourierCoeff
          (FABL.fknOptimalitySmallSet q) {i}
    Every tail singleton coefficient of the Boolean construction is the
    corresponding singleton coefficient of its selected Hamming set. 
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.fourierWeightAtLevel_one_fknOptimalityFunction (q : ) :
      FABL.fourierWeightAtLevel 1 (FABL.fknOptimalityFunction q).toReal =
        (1 - FABL.fknOptimalitySmallSetMass q) ^ 2 +
          FABL.fourierWeightAtLevel 1 (FABL.fknOptimalitySmallSet q)
    theorem FABL.fourierWeightAtLevel_one_fknOptimalityFunction
      (q : ) :
      FABL.fourierWeightAtLevel 1
          (FABL.fknOptimalityFunction
              q).toReal =
        (1 -
              FABL.fknOptimalitySmallSetMass
                q) ^
            2 +
          FABL.fourierWeightAtLevel 1
            (FABL.fknOptimalitySmallSet q)
    The level-one weight splits into the squared distinguished
    coefficient and the level-one weight of the selected Hamming set. 
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.fourierWeightAtLevel_one_fknOptimalityFunction_eq_delta (q : ) :
      FABL.fourierWeightAtLevel 1 (FABL.fknOptimalityFunction q).toReal =
        1 - FABL.fknOptimalityDelta q + FABL.fknOptimalityDelta q ^ 2 / 4 +
          FABL.fourierWeightAtLevel 1 (FABL.fknOptimalitySmallSet q)
    theorem FABL.fourierWeightAtLevel_one_fknOptimalityFunction_eq_delta
      (q : ) :
      FABL.fourierWeightAtLevel 1
          (FABL.fknOptimalityFunction
              q).toReal =
        1 - FABL.fknOptimalityDelta q +
            FABL.fknOptimalityDelta q ^ 2 /
              4 +
          FABL.fourierWeightAtLevel 1
            (FABL.fknOptimalitySmallSet q)
    The exact level-one identity in terms of the closeness parameter. 
  • defdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    def FABL.fknOptimalityGaussianMain (q : ) : 
    def FABL.fknOptimalityGaussianMain (q : ) : 
    The principal asymptotic scale in Proposition 5.27 along the chosen
    Gaussian masses. 
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.eventually_fourierWeightAtLevel_one_fknOptimalityFunction_lower :
      ∀ᶠ (q : ) in Filter.atTop,
        1 - FABL.fknOptimalityDelta q +
            1 / 36 * FABL.fknOptimalityDelta q ^ 2 *
              Real.log (1 / FABL.fknOptimalityDelta q) 
          FABL.fourierWeightAtLevel 1 (FABL.fknOptimalityFunction q).toReal
    theorem FABL.eventually_fourierWeightAtLevel_one_fknOptimalityFunction_lower :
      ∀ᶠ (q : ) in Filter.atTop,
        1 - FABL.fknOptimalityDelta q +
            1 / 36 *
                FABL.fknOptimalityDelta q ^
                  2 *
              Real.log
                (1 /
                  FABL.fknOptimalityDelta q) 
          FABL.fourierWeightAtLevel 1
            (FABL.fknOptimalityFunction
                q).toReal
    Exercise 5.36's quantitative lower bound, with the universal
    Omega constant `1 / 36`. 
  • theoremdefined in FABL/Chapter05/FKNOptimality.lean
    complete
    theorem FABL.exercise5_36 :
       dimensions functions delta,
        (∀ (q : ), 0 < delta q) 
          Filter.Tendsto delta Filter.atTop (nhds 0) 
            (∀ (q : ),
                FABL.fourierCoeff (functions q).toReal {0} =
                  1 - delta q / 2) 
               c,
                0 < c 
                  ∀ᶠ (q : ) in Filter.atTop,
                    1 - delta q + c * delta q ^ 2 * Real.log (1 / delta q) 
                      FABL.fourierWeightAtLevel 1 (functions q).toReal
    theorem FABL.exercise5_36 :
       dimensions functions delta,
        (∀ (q : ), 0 < delta q) 
          Filter.Tendsto delta Filter.atTop
              (nhds 0) 
            (∀ (q : ),
                FABL.fourierCoeff
                    (functions q).toReal {0} =
                  1 - delta q / 2) 
               c,
                0 < c 
                  ∀ᶠ (q : ) in Filter.atTop,
                    1 - delta q +
                        c * delta q ^ 2 *
                          Real.log
                            (1 / delta q) 
                      FABL.fourierWeightAtLevel
                        1 (functions q).toReal
    Exercise 5.36: a full sequence of Boolean functions and positive
    parameters tending to zero with exact distinguished coefficient and the
    optimal second-order lower bound. 
Lemma5.6.21
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.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 0L∃∀N

Exercise 5.39 (the derivative of LTF noise sensitivity). Prove that every linear threshold function f:\{-1,1\}^n\to\{-1,1\} satisfies \frac{d}{d\delta}\operatorname{NS}_\delta[f] \le O\!\left(\frac1{\sqrt\delta}\right) \qquad(0<\delta\le1/2), with a universal implied constant. It is enough to use the consequence of Peres's Theorem that \mathbf W^{\ge k}[f]\le O(k^{-1/2}) for every k\ge1.

Lean code for Lemma5.6.212 theorems
  • theoremdefined in FABL/Chapter05/LTFNoiseSensitivityDerivative.lean
    complete
    theorem FABL.fourierWeightAbove_pred_le_four_div_sqrt_of_isLinearThreshold
      {n : } (f : FABL.BooleanFunction n) (hf : FABL.IsLinearThreshold f)
      (k : ) (hk : 0 < k) :
      FABL.fourierWeightAbove (k - 1) f.toReal  4 / k
    theorem FABL.fourierWeightAbove_pred_le_four_div_sqrt_of_isLinearThreshold
      {n : } (f : FABL.BooleanFunction n)
      (hf : FABL.IsLinearThreshold f) (k : )
      (hk : 0 < k) :
      FABL.fourierWeightAbove (k - 1)
          f.toReal 
        4 / k
    The Fourier-weight consequence of Peres's theorem used in Exercise 5.39:
    `W^{≥ k}[f] ≤ 4 / √k` for every positive integer `k`. 
  • theoremdefined in FABL/Chapter05/LTFNoiseSensitivityDerivative.lean
    complete
    theorem FABL.deriv_noiseSensitivityCurve_le_sqrt_three_halves_div_sqrt_of_isLinearThreshold
      {n : } (f : FABL.BooleanFunction n) (hf : FABL.IsLinearThreshold f)
      (δ : FABL.PositiveHalfNoiseParameter) :
      deriv (FABL.noiseSensitivityCurve f.toReal) δ  (3 / 2) / δ
    theorem FABL.deriv_noiseSensitivityCurve_le_sqrt_three_halves_div_sqrt_of_isLinearThreshold
      {n : } (f : FABL.BooleanFunction n)
      (hf : FABL.IsLinearThreshold f)
      (δ : FABL.PositiveHalfNoiseParameter) :
      deriv
          (FABL.noiseSensitivityCurve
            f.toReal)
          δ 
        (3 / 2) / δ
    O'Donnell, Exercise 5.39: the derivative of the noise sensitivity of every linear
    threshold function is at most a universal constant times `1 / √δ`. 
Lemma5.6.22
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 3
Statement dependency previews
Preview
Lemma 5.5.4
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.40 (influence bounds are necessary for uniform noise stability). Let \mathcal P_{n,k} be the degree-at-most-k polynomial threshold functions on n variables, and let \mathcal P_k=\bigcup_n\mathcal P_{n,k}. Suppose \operatorname{NS}_\delta[f]\le\epsilon(\delta) for every f\in\mathcal P_k. Prove that every f\in\mathcal P_{n,k} satisfies \mathbf I[f]\le O\!\left(n\,\epsilon(1/n)\right). Deduce both equivalences:

(a) \mathcal P_k is uniformly noise-stable if and only if \mathbf I[f]=o(n) uniformly for f\in\mathcal P_{n,k}.

(b) The bound \operatorname{NS}_\delta[f]\le O(k\sqrt\delta) \qquad(f\in\mathcal P_k) holds if and only if \mathbf I[f]\le O(k\sqrt n) \qquad(f\in\mathcal P_{n,k}).

Lean code for Lemma5.6.229 declarations
  • defdefined in FABL/Chapter05/PolynomialThresholdUniformStability.lean
    complete
    def FABL.polynomialThresholdClass (k : ) : FABL.BooleanClass
    def FABL.polynomialThresholdClass (k : ) :
      FABL.BooleanClass
    The class of degree-at-most-`k` polynomial threshold functions in every dimension. 
  • theoremdefined in FABL/Chapter05/PolynomialThresholdUniformStability.lean
    complete
    theorem FABL.polynomialThresholdClass_closedUnderNegatingInputVariables
      (k : ) :
      FABL.IsClosedUnderNegatingInputVariables
        (FABL.polynomialThresholdClass k)
    theorem FABL.polynomialThresholdClass_closedUnderNegatingInputVariables
      (k : ) :
      FABL.IsClosedUnderNegatingInputVariables
        (FABL.polynomialThresholdClass k)
    Degree-at-most-`k` polynomial threshold functions are closed under negating input
    variables. 
  • theoremdefined in FABL/Chapter05/PolynomialThresholdUniformStability.lean
    complete
    theorem FABL.polynomialThresholdClass_closedUnderIdentifyingInputVariables
      (k : ) :
      FABL.IsClosedUnderIdentifyingInputVariables
        (FABL.polynomialThresholdClass k)
    theorem FABL.polynomialThresholdClass_closedUnderIdentifyingInputVariables
      (k : ) :
      FABL.IsClosedUnderIdentifyingInputVariables
        (FABL.polynomialThresholdClass k)
    Degree-at-most-`k` polynomial threshold functions are closed under identifying input
    variables. 
  • defdefined in FABL/Chapter05/PolynomialThresholdUniformStability.lean
    complete
    def FABL.HasUniformlySublinearTotalInfluence (B : FABL.BooleanClass) : Prop
    def FABL.HasUniformlySublinearTotalInfluence
      (B : FABL.BooleanClass) : Prop
    A single dimension-indexed modulus tending to zero bounds the total influence of every
    member of the class at that dimension. This is the uniform meaning of `I[f] = o(n)`. 
  • defdefined in FABL/Chapter05/PolynomialThresholdUniformStability.lean
    complete
    def FABL.HasUniformPolynomialThresholdNoiseSensitivitySqrtBound : Prop
    def FABL.HasUniformPolynomialThresholdNoiseSensitivitySqrtBound :
      Prop
    The `O(k√δ)` noise-sensitivity bound with one constant uniform in the degree, dimension,
    function, and positive noise parameter. 
  • defdefined in FABL/Chapter05/PolynomialThresholdUniformStability.lean
    complete
    def FABL.HasUniformPolynomialThresholdTotalInfluenceSqrtBound : Prop
    def FABL.HasUniformPolynomialThresholdTotalInfluenceSqrtBound :
      Prop
    The `O(k√n)` total-influence bound with one constant uniform in the degree, dimension,
    and function. 
  • theoremdefined in FABL/Chapter05/PolynomialThresholdUniformStability.lean
    complete
    theorem FABL.totalInfluence_le_two_div_one_sub_exp_neg_two_mul_dimension_mul_noiseModulus
      {n k : } (ε : FABL.HalfNoiseParameter  FABL.UnitProbability)
      ( :
         {r : } (g : FABL.BooleanFunction r),
          FABL.IsPolynomialThreshold g k 
             (δ : FABL.HalfNoiseParameter),
              FABL.noiseSensitivity δ  g  (ε δ))
      (f : FABL.BooleanFunction n) (hf : FABL.IsPolynomialThreshold f k)
      (hn : 2  n) :
      FABL.totalInfluence f.toReal 
        2 / (1 - Real.exp (-2)) * n * (ε 1 / n, )
    theorem FABL.totalInfluence_le_two_div_one_sub_exp_neg_two_mul_dimension_mul_noiseModulus
      {n k : }
      (ε :
        FABL.HalfNoiseParameter 
          FABL.UnitProbability)
      ( :
         {r : }
          (g : FABL.BooleanFunction r),
          FABL.IsPolynomialThreshold g k 
             (δ : FABL.HalfNoiseParameter),
              FABL.noiseSensitivity δ  g 
                (ε δ))
      (f : FABL.BooleanFunction n)
      (hf : FABL.IsPolynomialThreshold f k)
      (hn : 2  n) :
      FABL.totalInfluence f.toReal 
        2 / (1 - Real.exp (-2)) * n *
          (ε 1 / n, )
    Exercise 5.40's quantitative necessity estimate. A uniform noise modulus at the inverse
    dimension forces `I[f] ≤ (2 / (1 - exp (-2))) n ε(1/n)`. 
  • theoremdefined in FABL/Chapter05/PolynomialThresholdUniformStability.lean
    complete
    theorem FABL.polynomialThresholdClass_uniformlyNoiseStable_iff_uniformlySublinearTotalInfluence
      (k : ) :
      FABL.IsUniformlyNoiseStable (FABL.polynomialThresholdClass k) 
        FABL.HasUniformlySublinearTotalInfluence
          (FABL.polynomialThresholdClass k)
    theorem FABL.polynomialThresholdClass_uniformlyNoiseStable_iff_uniformlySublinearTotalInfluence
      (k : ) :
      FABL.IsUniformlyNoiseStable
          (FABL.polynomialThresholdClass k) 
        FABL.HasUniformlySublinearTotalInfluence
          (FABL.polynomialThresholdClass k)
    Exercise 5.40(a): for every degree cutoff `k`, uniform noise stability of the entire
    degree-at-most-`k` PTF class is equivalent to a uniform `o(n)` total-influence bound. 
  • theoremdefined in FABL/Chapter05/PolynomialThresholdUniformStability.lean
    complete
    theorem FABL.uniformPolynomialThreshold_noiseSensitivitySqrtBound_iff_totalInfluenceSqrtBound :
      FABL.HasUniformPolynomialThresholdNoiseSensitivitySqrtBound 
        FABL.HasUniformPolynomialThresholdTotalInfluenceSqrtBound
    theorem FABL.uniformPolynomialThreshold_noiseSensitivitySqrtBound_iff_totalInfluenceSqrtBound :
      FABL.HasUniformPolynomialThresholdNoiseSensitivitySqrtBound 
        FABL.HasUniformPolynomialThresholdTotalInfluenceSqrtBound
    Exercise 5.40(b): the uniform `O(k√δ)` noise-sensitivity bound for polynomial threshold
    functions is equivalent to the uniform `O(k√n)` total-influence bound. 
Lemma5.6.23
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 5
Statement dependency previews
Preview
Definition 2.1.9
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.41 (the proposed Gotsman--Linial extremizer). Estimate carefully the asymptotics of \mathbf I[f], where f\in\mathcal P_{n,k} is the symmetric polynomial threshold function from the strongest form of the Gotsman--Linial Conjecture: f(x)=\operatorname{sgn}\bigl(p(x_1+\cdots+x_n)\bigr), with p a degree-k univariate polynomial alternating sign on the k+1 attainable values of x_1+\cdots+x_n nearest to 0.

For n\ge1 and 0\le k\le n, put a_{n,k}=\left\lfloor\frac{n-k}{2}\right\rfloor,\qquad p_{n,k}(t)=\prod_{j=0}^{k-1} \left(t-\bigl(2(a_{n,k}+j)-n+1\bigr)\right), and let f_{n,k}(x)=\operatorname{sgn}(p_{n,k}(\sum_i x_i)). This is the lower-tie choice when the two central blocks are equidistant. It is a symmetric degree-k polynomial threshold function, its displayed roots are not attained on the cube, and it alternates on the selected central layers. Its total influence is exactly \mathbf I[f_{n,k}] =\frac{n}{2^{n-1}} \sum_{j=0}^{k-1}\binom{n-1}{a_{n,k}+j}. Consequently, for each fixed k, \lim_{r\to\infty} \frac{\mathbf I[f_{k+r,k}]}{\sqrt{k+r}} =k\sqrt{\frac{2}{\pi}}, equivalently \mathbf I[f_{n,k}]\sim k\sqrt{2/\pi}\,\sqrt n as n\to\infty with k fixed.

The exact binomial formula also holds for n<k. In the degenerate case (n,k)=(0,0), the candidate is constant and has total influence 0; there is then no block of k+1 attainable central values.

Lean code for Lemma5.6.2313 declarations
  • defdefined in FABL/Chapter05/GotsmanLinialExtremizer.lean
    complete
    def FABL.gotsmanLinialStart (n k : ) : 
    def FABL.gotsmanLinialStart (n k : ) : 
    The lower endpoint of the `k` central sign changes. 
  • defdefined in FABL/Chapter05/GotsmanLinialExtremizer.lean
    complete
    def FABL.gotsmanLinialRoot (n k j : ) : 
    def FABL.gotsmanLinialRoot (n k j : ) : 
    The `j`th lower-tie root, lying strictly between Hamming layers
    `gotsmanLinialStart n k + j` and `gotsmanLinialStart n k + j + 1`. 
  • defdefined in FABL/Chapter05/GotsmanLinialExtremizer.lean
    complete
    def FABL.gotsmanLinialPolynomial (n k : ) : Polynomial 
    def FABL.gotsmanLinialPolynomial (n k : ) :
      Polynomial 
    O'Donnell's univariate degree-`k` Gotsman--Linial polynomial. 
  • defdefined in FABL/Chapter05/GotsmanLinialExtremizer.lean
    complete
    def FABL.gotsmanLinialCubePolynomial (n k : ) (x : FABL.SignCube n) : 
    def FABL.gotsmanLinialCubePolynomial (n k : )
      (x : FABL.SignCube n) : 
    The polynomial evaluated at the sum of the Boolean coordinates. 
  • defdefined in FABL/Chapter05/GotsmanLinialExtremizer.lean
    complete
    def FABL.gotsmanLinialExtremizer (n k : ) : FABL.BooleanFunction n
    def FABL.gotsmanLinialExtremizer (n k : ) :
      FABL.BooleanFunction n
    The canonical lower-tie Gotsman--Linial candidate. 
  • theoremdefined in FABL/Chapter05/GotsmanLinialExtremizer.lean
    complete
    theorem FABL.gotsmanLinialExtremizer_isSymmetric (n k : ) :
      FABL.IsSymmetric (FABL.gotsmanLinialExtremizer n k)
    theorem FABL.gotsmanLinialExtremizer_isSymmetric
      (n k : ) :
      FABL.IsSymmetric
        (FABL.gotsmanLinialExtremizer n k)
    The Gotsman--Linial candidate is invariant under coordinate permutations. 
  • theoremdefined in FABL/Chapter05/GotsmanLinialExtremizer.lean
    complete
    theorem FABL.natDegree_gotsmanLinialPolynomial (n k : ) :
      (FABL.gotsmanLinialPolynomial n k).natDegree = k
    theorem FABL.natDegree_gotsmanLinialPolynomial
      (n k : ) :
      (FABL.gotsmanLinialPolynomial n
            k).natDegree =
        k
    The univariate Gotsman--Linial polynomial has degree exactly `k`, including `k = 0`. 
  • theoremdefined in FABL/Chapter05/GotsmanLinialExtremizer.lean
    complete
    theorem FABL.gotsmanLinialExtremizer_isPolynomialThreshold (n k : ) :
      FABL.IsPolynomialThreshold (FABL.gotsmanLinialExtremizer n k) k
    theorem FABL.gotsmanLinialExtremizer_isPolynomialThreshold
      (n k : ) :
      FABL.IsPolynomialThreshold
        (FABL.gotsmanLinialExtremizer n k) k
    The canonical candidate is a polynomial threshold function of degree at most `k`. 
  • theoremdefined in FABL/Chapter05/GotsmanLinialExtremizer.lean
    complete
    theorem FABL.gotsmanLinialCubePolynomial_ne_zero (n k : )
      (x : FABL.SignCube n) : FABL.gotsmanLinialCubePolynomial n k x  0
    theorem FABL.gotsmanLinialCubePolynomial_ne_zero
      (n k : ) (x : FABL.SignCube n) :
      FABL.gotsmanLinialCubePolynomial n k x 
        0
    The lower-tie roots, which are midpoints in Hamming-weight coordinates and
    integers of parity opposite to the attainable coordinate sums, are not attained
    on the Boolean cube. 
  • theoremdefined in FABL/Chapter05/GotsmanLinialExtremizer.lean
    complete
    theorem FABL.gotsmanLinialExtremizer_centralLayer (n k j : ) (hkn : k  n)
      (hj : j  k) :
      FABL.gotsmanLinialExtremizer n k
          (FABL.canonicalCountInput n (FABL.gotsmanLinialStart n k + j)) =
        if Even (k - j) then 1 else -1
    theorem FABL.gotsmanLinialExtremizer_centralLayer
      (n k j : ) (hkn : k  n) (hj : j  k) :
      FABL.gotsmanLinialExtremizer n k
          (FABL.canonicalCountInput n
            (FABL.gotsmanLinialStart n k +
              j)) =
        if Even (k - j) then 1 else -1
    On the `k+1` central attainable Hamming layers the candidate alternates sign, ending in
    `+1` on the upper layer. 
  • theoremdefined in FABL/Chapter05/GotsmanLinialExtremizer.lean
    complete
    theorem FABL.totalInfluence_gotsmanLinialExtremizer (n k : ) :
      FABL.totalInfluence (FABL.gotsmanLinialExtremizer n k).toReal =
        n / 2 ^ (n - 1) *
           j  Finset.range k,
            ((n - 1).choose (FABL.gotsmanLinialStart n k + j))
    theorem FABL.totalInfluence_gotsmanLinialExtremizer
      (n k : ) :
      FABL.totalInfluence
          (FABL.gotsmanLinialExtremizer n
              k).toReal =
        n / 2 ^ (n - 1) *
           j  Finset.range k,
            ((n - 1).choose
                (FABL.gotsmanLinialStart n k +
                  j))
    Exercise 5.41: the exact total-influence formula for the lower-tie
    degree-`k` candidate. When `k ≤ n`, the sum consists of its `k` central
    Hamming-layer boundaries; outside that regime the binomial coefficients give
    the canonical zero extension. 
  • defdefined in FABL/Chapter05/GotsmanLinialExtremizer.lean
    complete
    def FABL.normalizedGotsmanLinialTotalInfluence (k r : ) : 
    def FABL.normalizedGotsmanLinialTotalInfluence
      (k r : ) : 
    Total influence of the degree-`k` candidate on `k+r` variables, normalized by
    the square root of the dimension. 
  • theoremdefined in FABL/Chapter05/GotsmanLinialExtremizer.lean
    complete
    theorem FABL.tendsto_normalizedGotsmanLinialTotalInfluence (k : ) :
      Filter.Tendsto (FABL.normalizedGotsmanLinialTotalInfluence k)
        Filter.atTop (nhds (k * (2 / Real.pi)))
    theorem FABL.tendsto_normalizedGotsmanLinialTotalInfluence
      (k : ) :
      Filter.Tendsto
        (FABL.normalizedGotsmanLinialTotalInfluence
          k)
        Filter.atTop
        (nhds (k * (2 / Real.pi)))
    Exercise 5.41: for every fixed degree `k`, the normalized total influence of the
    lower-tie Gotsman--Linial candidate tends to `k * sqrt(2 / π)`. 
Lemma5.6.24
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Theorem 1.2.3
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.42 (the center of mass of a small subset of the cube). Let A\subseteq\{-1,1\}^n have cardinality \alpha2^n, where 0<\alpha\le1/2. Regard the discrete cube as a subset of \mathbb R^n, and let \mu_A=\frac1{|A|}\sum_{x\in A}x be its center of mass. Prove \lVert\mu_A\rVert_2 \le O\!\left(\sqrt{\log(1/\alpha)}\right), with a universal implied constant.

Lean code for Lemma5.6.245 declarations
  • defdefined in FABL/Chapter05/SmallSetCenterOfMass.lean
    complete
    def FABL.smallSetCenterOfMass {n : } (f : FABL.SignCube n  ) (α : ) :
      EuclideanSpace  (Fin n)
    def FABL.smallSetCenterOfMass {n : }
      (f : FABL.SignCube n  ) (α : ) :
      EuclideanSpace  (Fin n)
    The center of mass of the subset represented by the real indicator `f`,
    whose uniform density is `α`. 
  • theoremdefined in FABL/Chapter05/SmallSetCenterOfMass.lean
    complete
    theorem FABL.smallSetCenterOfMass_apply {n : } (f : FABL.SignCube n  )
      (α : ) (i : Fin n) :
      (FABL.smallSetCenterOfMass f α).ofLp i = FABL.fourierCoeff f {i} / α
    theorem FABL.smallSetCenterOfMass_apply {n : }
      (f : FABL.SignCube n  ) (α : )
      (i : Fin n) :
      (FABL.smallSetCenterOfMass f α).ofLp i =
        FABL.fourierCoeff f {i} / α
    Each center-of-mass coordinate is the corresponding singleton Fourier
    coefficient divided by the density. 
  • theoremdefined in FABL/Chapter05/SmallSetCenterOfMass.lean
    complete
    theorem FABL.sum_sq_smallSetCenterOfMass {n : } (f : FABL.SignCube n  )
      (α : ) :
       i, (FABL.smallSetCenterOfMass f α).ofLp i ^ 2 =
        FABL.fourierWeightAtLevel 1 f / α ^ 2
    theorem FABL.sum_sq_smallSetCenterOfMass {n : }
      (f : FABL.SignCube n  ) (α : ) :
       i,
          (FABL.smallSetCenterOfMass f α).ofLp
              i ^
            2 =
        FABL.fourierWeightAtLevel 1 f / α ^ 2
    The squared Euclidean norm of the center of mass is normalized level-one
    Fourier weight. 
  • theoremdefined in FABL/Chapter05/SmallSetCenterOfMass.lean
    complete
    theorem FABL.exists_smallSetCenterOfMass_sqNorm_constant :
       C,
        0 < C 
           {n : } (f : FABL.SignCube n  ) {α : },
            (∀ (x : FABL.SignCube n), f x = 0  f x = 1) 
              FABL.mean f = α 
                0 < α 
                  α  1 / 2 
                     i, (FABL.smallSetCenterOfMass f α).ofLp i ^ 2 
                      C * Real.logb 2 (1 / α)
    theorem FABL.exists_smallSetCenterOfMass_sqNorm_constant :
       C,
        0 < C 
           {n : } (f : FABL.SignCube n  )
            {α : },
            (∀ (x : FABL.SignCube n),
                f x = 0  f x = 1) 
              FABL.mean f = α 
                0 < α 
                  α  1 / 2 
                     i,
                        (FABL.smallSetCenterOfMass
                                f α).ofLp
                            i ^
                          2 
                      C * Real.logb 2 (1 / α)
    Exercise 5.42 in squared-norm form: a universal constant bounds the
    squared Euclidean norm of the center of mass by `log₂(1/α)`. 
  • theoremdefined in FABL/Chapter05/SmallSetCenterOfMass.lean
    complete
    theorem FABL.exists_smallSetCenterOfMass_norm_constant :
       C,
        0 < C 
           {n : } (f : FABL.SignCube n  ) {α : },
            (∀ (x : FABL.SignCube n), f x = 0  f x = 1) 
              FABL.mean f = α 
                0 < α 
                  α  1 / 2 
                    FABL.smallSetCenterOfMass f α 
                      C * (Real.logb 2 (1 / α))
    theorem FABL.exists_smallSetCenterOfMass_norm_constant :
       C,
        0 < C 
           {n : } (f : FABL.SignCube n  )
            {α : },
            (∀ (x : FABL.SignCube n),
                f x = 0  f x = 1) 
              FABL.mean f = α 
                0 < α 
                  α  1 / 2 
                    FABL.smallSetCenterOfMass
                          f α 
                      C *
                        (Real.logb 2 (1 / α))
    Exercise 5.42 in the book's canonical Euclidean-norm form:
    `‖μ_A‖₂ = O(√log₂(1/α))` with a universal implied constant. 
Lemma5.6.25
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 1used by 1L∃∀N

Exercise 5.43 (concavity of the Gaussian isoperimetric function). Prove that the Gaussian isoperimetric function U satisfies U''(\alpha)=-\frac1{U(\alpha)} \qquad(0<\alpha<1). Deduce that U is concave on [0,1].

Lean code for Lemma5.6.259 declarations
  • theoremdefined in FABL/Chapter05/GaussianIsoperimetricConcavity.lean
    complete
    theorem FABL.hasDerivAt_standardGaussianUpperTail (t : ) :
      HasDerivAt FABL.standardGaussianUpperTail
        (-ProbabilityTheory.gaussianPDFReal 0 1 t) t
    theorem FABL.hasDerivAt_standardGaussianUpperTail
      (t : ) :
      HasDerivAt
        FABL.standardGaussianUpperTail
        (-ProbabilityTheory.gaussianPDFReal 0
            1 t)
        t
    The derivative of the standard Gaussian upper tail is minus its density. 
  • defdefined in FABL/Chapter05/GaussianIsoperimetricConcavity.lean
    complete
    def FABL.gaussianIsoperimetricReal (α : ) : 
    def FABL.gaussianIsoperimetricReal (α : ) : 
    The ambient-real realization of the Gaussian isoperimetric function,
    obtained by continuously extending its interior formula to `[0,1]`. 
  • theoremdefined in FABL/Chapter05/GaussianIsoperimetricConcavity.lean
    complete
    theorem FABL.gaussianIsoperimetricReal_apply_of_mem_Ioo {α : }
      ( : α  Set.Ioo 0 1) :
      FABL.gaussianIsoperimetricReal α =
        ProbabilityTheory.gaussianPDFReal 0 1
          (FABL.standardGaussianUpperQuantile α, )
    theorem FABL.gaussianIsoperimetricReal_apply_of_mem_Ioo
      {α : } ( : α  Set.Ioo 0 1) :
      FABL.gaussianIsoperimetricReal α =
        ProbabilityTheory.gaussianPDFReal 0 1
          (FABL.standardGaussianUpperQuantile
            α, )
    On the open unit interval, the ambient-real function is the Gaussian
    density at the upper-tail quantile. 
  • theoremdefined in FABL/Chapter05/GaussianIsoperimetricConcavity.lean
    complete
    theorem FABL.gaussianIsoperimetricReal_eq_gaussianIsoperimetric
      (α : unitInterval) :
      FABL.gaussianIsoperimetricReal α = FABL.gaussianIsoperimetric α
    theorem FABL.gaussianIsoperimetricReal_eq_gaussianIsoperimetric
      (α : unitInterval) :
      FABL.gaussianIsoperimetricReal α =
        FABL.gaussianIsoperimetric α
    The ambient-real realization agrees with Definition 5.26 throughout
    the closed unit interval. 
  • theoremdefined in FABL/Chapter05/GaussianIsoperimetricConcavity.lean
    complete
    theorem FABL.continuousOn_gaussianIsoperimetricReal :
      ContinuousOn FABL.gaussianIsoperimetricReal (Set.Icc 0 1)
    theorem FABL.continuousOn_gaussianIsoperimetricReal :
      ContinuousOn
        FABL.gaussianIsoperimetricReal
        (Set.Icc 0 1)
    The ambient-real Gaussian isoperimetric function is continuous on
    the closed unit interval. 
  • theoremdefined in FABL/Chapter05/GaussianIsoperimetricConcavity.lean
    complete
    theorem FABL.gaussianIsoperimetricReal_pos {α : } ( : α  Set.Ioo 0 1) :
      0 < FABL.gaussianIsoperimetricReal α
    theorem FABL.gaussianIsoperimetricReal_pos {α : }
      ( : α  Set.Ioo 0 1) :
      0 < FABL.gaussianIsoperimetricReal α
    The Gaussian isoperimetric function is positive in the open unit
    interval. 
  • theoremdefined in FABL/Chapter05/GaussianIsoperimetricConcavity.lean
    complete
    theorem FABL.hasDerivAt_gaussianIsoperimetricReal {α : }
      ( : α  Set.Ioo 0 1) :
      HasDerivAt FABL.gaussianIsoperimetricReal
        (FABL.standardGaussianUpperQuantile α, ) α
    theorem FABL.hasDerivAt_gaussianIsoperimetricReal
      {α : } ( : α  Set.Ioo 0 1) :
      HasDerivAt
        FABL.gaussianIsoperimetricReal
        (FABL.standardGaussianUpperQuantile
          α, )
        α
    In the open unit interval, the first derivative of the Gaussian
    isoperimetric function is its upper-tail quantile. 
  • theoremdefined in FABL/Chapter05/GaussianIsoperimetricConcavity.lean
    complete
    theorem FABL.gaussianIsoperimetric_second_derivative {α : }
      ( : α  Set.Ioo 0 1) :
      deriv^[2] FABL.gaussianIsoperimetricReal α =
        -1 / FABL.gaussianIsoperimetricReal α
    theorem FABL.gaussianIsoperimetric_second_derivative
      {α : } ( : α  Set.Ioo 0 1) :
      deriv^[2] FABL.gaussianIsoperimetricReal
          α =
        -1 / FABL.gaussianIsoperimetricReal α
    Exercise 5.43: on `0 < α < 1`, the Gaussian isoperimetric function
    satisfies `U''(α) = -1 / U(α)`. 
  • theoremdefined in FABL/Chapter05/GaussianIsoperimetricConcavity.lean
    complete
    theorem FABL.concaveOn_gaussianIsoperimetricReal :
      ConcaveOn  (Set.Icc 0 1) FABL.gaussianIsoperimetricReal
    theorem FABL.concaveOn_gaussianIsoperimetricReal :
      ConcaveOn  (Set.Icc 0 1)
        FABL.gaussianIsoperimetricReal
    Exercise 5.43: the Gaussian isoperimetric function, with its zero
    endpoint extension, is concave on `[0,1]`. 
Lemma5.6.26
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 5
Statement dependency previews
Preview
Definition 1.4.15
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.44 (a Gaussian-sharp Level-1 bound, corrected). Fix \alpha\in(0,1/2) and \epsilon\ge0. Let f:\{-1,1\}^n\to[0,1] satisfy \mathbb E[f]\le\alpha, \qquad |\widehat f(\{i\})|\le\epsilon \quad\text{for every }i\in[n]. Prove \mathbf W^1[f] \le U(\alpha)^2+C_\alpha\epsilon, where U is the Gaussian isoperimetric function and the constant C_\alpha may depend on \alpha but not on n, f, or \epsilon. The proof uses the nonuniform Berry--Esseen estimate from Exercise 5.31.

The May 2021 edition instead permits the codomain [-1,1] and assumes \mathbb E[|f|]\le\alpha. That version is false: signed functions can place positive and negative mass on opposite Gaussian tails while keeping the same absolute mean budget, exceeding the one-sided U(\alpha) bound. Indeed, for one fixed \alpha\in(0,1/2), every proposed C_\alpha is defeated by functions whose singleton coefficients tend to zero.

Lean code for Lemma5.6.2613 declarations
  • theoremdefined in FABL/Chapter05/RademacherFirstMoment.lean
    complete
    theorem FABL.exists_stopLoss_linearForm_sub_standardGaussian_le_of_regular :
       C,
        0 < C 
           {n : } (a : Fin n  ) {ε t : },
             i, a i ^ 2 = 1 
              (∀ (i : Fin n), |a i|  ε) 
                0  t 
                  |(Finset.univ.expect fun x =>
                          (FABL.linearForm a x - t)) -
                         (z : ),
                          (z - t) ProbabilityTheory.gaussianReal 0 1| 
                    C * ε
    theorem FABL.exists_stopLoss_linearForm_sub_standardGaussian_le_of_regular :
       C,
        0 < C 
           {n : } (a : Fin n  ) {ε t : },
             i, a i ^ 2 = 1 
              (∀ (i : Fin n), |a i|  ε) 
                0  t 
                  |(Finset.univ.expect
                          fun x =>
                          (FABL.linearForm a
                                x -
                              t)) -
                         (z : ),
                          (z -
                              t) ProbabilityTheory.gaussianReal
                            0 1| 
                    C * ε
    The nonuniform Berry--Esseen theorem specialized to the stop-loss transform
    of a normalized regular Rademacher linear form. The comparison is uniform over
    nonnegative thresholds. 
  • theoremdefined in FABL/Chapter05/GaussianSharpLevelOne.lean
    complete
    theorem FABL.exercise5_44 (α : ) (hαpos : 0 < α) (hαhalf : α < 1 / 2) :
       ,
        0 <  
           {n : } (f : FABL.SignCube n  ) {ε : },
            (∀ (x : FABL.SignCube n), 0  f x) 
              (∀ (x : FABL.SignCube n), f x  1) 
                (Finset.univ.expect fun x => f x)  α 
                  (∀ (i : Fin n), |FABL.fourierCoeff f {i}|  ε) 
                    0  ε 
                      FABL.fourierWeightAtLevel 1 f 
                        FABL.gaussianIsoperimetric α,  ^ 2 +  * ε
    theorem FABL.exercise5_44 (α : ) (hαpos : 0 < α)
      (hαhalf : α < 1 / 2) :
       ,
        0 <  
           {n : } (f : FABL.SignCube n  )
            {ε : },
            (∀ (x : FABL.SignCube n),
                0  f x) 
              (∀ (x : FABL.SignCube n),
                  f x  1) 
                (Finset.univ.expect fun x =>
                      f x) 
                    α 
                  (∀ (i : Fin n),
                      |FABL.fourierCoeff f
                            {i}| 
                        ε) 
                    0  ε 
                      FABL.fourierWeightAtLevel
                          1 f 
                        FABL.gaussianIsoperimetric
                              α,  ^
                            2 +
                           * ε
    O'Donnell, Exercise 5.44, with the printed codomain corrected from
    `[-1,1]` to `[0,1]`: bounded nonnegative functions with small singleton
    coefficients have Gaussian-sharp Level-1 Fourier weight. 
  • defdefined in FABL/Chapter05/GaussianSharpLevelOneCounterexample.lean
    complete
    def FABL.signedHammingTwoTail (t : ) (n : ) (x : FABL.SignCube n) : 
    def FABL.signedHammingTwoTail (t : ) (n : )
      (x : FABL.SignCube n) : 
    The difference of the two opposite strict Hamming tails at threshold `t`. 
  • theoremdefined in FABL/Chapter05/GaussianSharpLevelOneCounterexample.lean
    complete
    theorem FABL.fourierCoeff_signedHammingTwoTail_singleton (t : ) (n : )
      (i : Fin n) :
      FABL.fourierCoeff (FABL.signedHammingTwoTail t n) {i} =
        2 * FABL.fourierCoeff (FABL.hammingUpperTailIndicator t n) {i}
    theorem FABL.fourierCoeff_signedHammingTwoTail_singleton
      (t : ) (n : ) (i : Fin n) :
      FABL.fourierCoeff
          (FABL.signedHammingTwoTail t n)
          {i} =
        2 *
          FABL.fourierCoeff
            (FABL.hammingUpperTailIndicator t
              n)
            {i}
    Every singleton coefficient of the signed two-tail function is twice
    the corresponding coefficient of its upper tail. 
  • theoremdefined in FABL/Chapter05/GaussianSharpLevelOneCounterexample.lean
    complete
    theorem FABL.signedHammingTwoTail_mem_Icc (t : ) (n : )
      (x : FABL.SignCube n) :
      FABL.signedHammingTwoTail t n x  Set.Icc (-1) 1
    theorem FABL.signedHammingTwoTail_mem_Icc (t : )
      (n : ) (x : FABL.SignCube n) :
      FABL.signedHammingTwoTail t n x 
        Set.Icc (-1) 1
    Every signed two-tail function takes values in `[-1,1]`. 
  • theoremdefined in FABL/Chapter05/GaussianSharpLevelOneCounterexample.lean
    complete
    theorem FABL.expect_abs_signedHammingTwoTail (t : ) (ht : 0  t) (n : ) :
      (Finset.univ.expect fun x => |FABL.signedHammingTwoTail t n x|) =
        2 * Finset.univ.expect fun x => FABL.hammingUpperTailIndicator t n x
    theorem FABL.expect_abs_signedHammingTwoTail
      (t : ) (ht : 0  t) (n : ) :
      (Finset.univ.expect fun x =>
          |FABL.signedHammingTwoTail t n x|) =
        2 *
          Finset.univ.expect fun x =>
            FABL.hammingUpperTailIndicator t n
              x
    The absolute mean of a signed two-tail function is twice the mass of
    one tail. 
  • theoremdefined in FABL/Chapter05/GaussianSharpLevelOneCounterexample.lean
    complete
    theorem FABL.fourierWeightAtLevel_one_signedHammingTwoTail (t : ) (n : ) :
      FABL.fourierWeightAtLevel 1 (FABL.signedHammingTwoTail t n) =
        4 * FABL.fourierWeightAtLevel 1 (FABL.hammingUpperTailIndicator t n)
    theorem FABL.fourierWeightAtLevel_one_signedHammingTwoTail
      (t : ) (n : ) :
      FABL.fourierWeightAtLevel 1
          (FABL.signedHammingTwoTail t n) =
        4 *
          FABL.fourierWeightAtLevel 1
            (FABL.hammingUpperTailIndicator t
              n)
    The level-one weight of the signed two-tail function is four times
    the level-one weight of one tail. 
  • defdefined in FABL/Chapter05/GaussianSharpLevelOneCounterexample.lean
    complete
    def FABL.signedHammingTwoTailEpsilon (t : ) (m : ) : 
    def FABL.signedHammingTwoTailEpsilon (t : )
      (m : ) : 
    The common singleton-coefficient bound used by the signed two-tail
    sequence. 
  • theoremdefined in FABL/Chapter05/GaussianSharpLevelOneCounterexample.lean
    complete
    theorem FABL.abs_fourierCoeff_signedHammingTwoTail_eq_epsilon (t : ) (m : )
      (i : Fin (m + 1)) :
      |FABL.fourierCoeff (FABL.signedHammingTwoTail t (m + 1)) {i}| =
        FABL.signedHammingTwoTailEpsilon t m
    theorem FABL.abs_fourierCoeff_signedHammingTwoTail_eq_epsilon
      (t : ) (m : ) (i : Fin (m + 1)) :
      |FABL.fourierCoeff
            (FABL.signedHammingTwoTail t
              (m + 1))
            {i}| =
        FABL.signedHammingTwoTailEpsilon t m
    Every singleton coefficient of the signed two-tail sequence has
    magnitude exactly its chosen regularity parameter. 
  • theoremdefined in FABL/Chapter05/GaussianSharpLevelOneCounterexample.lean
    complete
    theorem FABL.tendsto_signedHammingTwoTailEpsilon (t : ) :
      Filter.Tendsto (FABL.signedHammingTwoTailEpsilon t) Filter.atTop
        (nhds 0)
    theorem FABL.tendsto_signedHammingTwoTailEpsilon
      (t : ) :
      Filter.Tendsto
        (FABL.signedHammingTwoTailEpsilon t)
        Filter.atTop (nhds 0)
    The singleton-coefficient parameter of the signed two-tail sequence
    converges to zero. 
  • theoremdefined in FABL/Chapter05/GaussianSharpLevelOneCounterexample.lean
    complete
    theorem FABL.tendsto_expect_abs_signedHammingTwoTail (t : ) (ht : 0  t) :
      Filter.Tendsto
        (fun m =>
          Finset.univ.expect fun x =>
            |FABL.signedHammingTwoTail t (m + 1) x|)
        Filter.atTop (nhds (2 * FABL.standardGaussianUpperTail t))
    theorem FABL.tendsto_expect_abs_signedHammingTwoTail
      (t : ) (ht : 0  t) :
      Filter.Tendsto
        (fun m =>
          Finset.univ.expect fun x =>
            |FABL.signedHammingTwoTail t
                (m + 1) x|)
        Filter.atTop
        (nhds
          (2 *
            FABL.standardGaussianUpperTail t))
    The absolute means of the signed two-tail sequence converge to twice
    the corresponding Gaussian upper-tail probability. 
  • theoremdefined in FABL/Chapter05/GaussianSharpLevelOneCounterexample.lean
    complete
    theorem FABL.tendsto_fourierWeightAtLevel_one_signedHammingTwoTail (t : ) :
      Filter.Tendsto
        (fun m =>
          FABL.fourierWeightAtLevel 1 (FABL.signedHammingTwoTail t (m + 1)))
        Filter.atTop
        (nhds (4 * ProbabilityTheory.gaussianPDFReal 0 1 t ^ 2))
    theorem FABL.tendsto_fourierWeightAtLevel_one_signedHammingTwoTail
      (t : ) :
      Filter.Tendsto
        (fun m =>
          FABL.fourierWeightAtLevel 1
            (FABL.signedHammingTwoTail t
              (m + 1)))
        Filter.atTop
        (nhds
          (4 *
            ProbabilityTheory.gaussianPDFReal
                0 1 t ^
              2))
    The level-one weights of the signed two-tail sequence converge to four
    times the squared Gaussian density at the threshold. 
  • theoremdefined in FABL/Chapter05/GaussianSharpLevelOneCounterexample.lean
    complete
    theorem FABL.exercise5_44_printed_false :
       α,
        0 < α 
          α < 1 / 2 
             ( : ),
               n f ε,
                (∀ (x : FABL.SignCube n), -1  f x) 
                  (∀ (x : FABL.SignCube n), f x  1) 
                    (Finset.univ.expect fun x => |f x|)  α 
                      (∀ (i : Fin n), |FABL.fourierCoeff f {i}|  ε) 
                        0  ε 
                          FABL.gaussianIsoperimetric α ^ 2 +  * ε <
                            FABL.fourierWeightAtLevel 1 f
    theorem FABL.exercise5_44_printed_false :
       α,
        0 < α 
          α < 1 / 2 
             ( : ),
               n f ε,
                (∀ (x : FABL.SignCube n),
                    -1  f x) 
                  (∀ (x : FABL.SignCube n),
                      f x  1) 
                    (Finset.univ.expect
                          fun x => |f x|) 
                        α 
                      (∀ (i : Fin n),
                          |FABL.fourierCoeff f
                                {i}| 
                            ε) 
                        0  ε 
                          FABL.gaussianIsoperimetric
                                  α ^
                                2 +
                               * ε <
                            FABL.fourierWeightAtLevel
                              1 f
    The printed `[-1,1]` version of Exercise 5.44 is false. There is one
    fixed `α ∈ (0,1/2)` for which every proposed error constant is defeated by
    a signed two-tail function with arbitrarily small singleton coefficients. 
Lemma5.6.27
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 4
Statement dependency previews
Preview
Proposition 2.2.14
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0L∃∀N

Exercise 5.45 (an elementary influence bound for PTFs). Prove by induction on k that every degree-k polynomial threshold function f:\{-1,1\}^n\to\{-1,1\} satisfies \mathbf I[f]\le2\,n^{\,1-2^{-k}}. The case k=0 is immediate. For k>0, write f=\operatorname{sgn}(p), where p:\{-1,1\}^n\to\mathbb R is a degree-k polynomial which is nonzero at every point of the cube.

(a) For every i\in[n], prove \mathbb E\!\left[ f(x)x_i\operatorname{sgn}(D_ip(x)) \right] =\operatorname{Inf}_i[f]. First use f=x_iD_if+E_if, and prove that D_if=\operatorname{sgn}(D_ip) whenever D_if\ne0.

(b) Deduce \mathbf I[f] \le \mathbb E\!\left[ \left|\sum_i x_i\operatorname{sgn}(D_ip(x))\right| \right].

(c) Apply Cauchy--Schwarz to deduce \mathbf I[f] \le \sqrt{ n+ \sum_{i\ne j} \mathbb E\!\left[ x_ix_j \operatorname{sgn}(D_ip(x)) \operatorname{sgn}(D_jp(x)) \right] }.

(d) Bound the cross terms and apply the arithmetic--geometric mean inequality to obtain \mathbf I[f] \le \sqrt{ n+\sum_i\mathbf I[\operatorname{sgn}(D_ip)] }.

(e) Use the induction hypothesis for the degree-at-most-k-1 threshold functions \operatorname{sgn}(D_ip) to prove \mathbf I[f]\le2\,n^{1-2^{-k}}.

(f) Deduce that degree-k polynomial threshold functions form a uniformly noise-stable class. More precisely, for every \delta\in(0,1/2], \operatorname{NS}_\delta[f] \le3\delta^{\,2^{-k}}.

Lean code for Lemma5.6.2721 declarations
  • defdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    def FABL.polynomialDerivativeThreshold {n : } (p : FABL.SignCube n  )
      (i : Fin n) : FABL.BooleanFunction n
    def FABL.polynomialDerivativeThreshold {n : }
      (p : FABL.SignCube n  ) (i : Fin n) :
      FABL.BooleanFunction n
    The Boolean threshold of the `i`th discrete derivative of a representing polynomial. 
  • theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    theorem FABL.discreteDerivative_toReal_eq_polynomialDerivativeThreshold_of_ne_zero
      {n : } (f : FABL.BooleanFunction n) (p : FABL.SignCube n  )
      (hrep : FABL.IsPolynomialThresholdRepresentation f p)
      (hp :  (x : FABL.SignCube n), p x  0) (i : Fin n)
      (x : FABL.SignCube n)
      (hderivative : (FABL.discreteDerivative i) f.toReal x  0) :
      (FABL.discreteDerivative i) f.toReal x =
        (FABL.polynomialDerivativeThreshold p i).toReal x
    theorem FABL.discreteDerivative_toReal_eq_polynomialDerivativeThreshold_of_ne_zero
      {n : } (f : FABL.BooleanFunction n)
      (p : FABL.SignCube n  )
      (hrep :
        FABL.IsPolynomialThresholdRepresentation
          f p)
      (hp :  (x : FABL.SignCube n), p x  0)
      (i : Fin n) (x : FABL.SignCube n)
      (hderivative :
        (FABL.discreteDerivative i) f.toReal
            x 
          0) :
      (FABL.discreteDerivative i) f.toReal x =
        (FABL.polynomialDerivativeThreshold p
              i).toReal
          x
    Exercise 5.45(a), pointwise step: at a pivotal edge, the Boolean derivative agrees with
    the thresholded derivative of a strict representing polynomial. 
  • theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    theorem FABL.expect_toReal_mul_coordinateSign_mul_polynomialDerivativeThreshold_eq_influence
      {n : } (f : FABL.BooleanFunction n) (p : FABL.SignCube n  )
      (hrep : FABL.IsPolynomialThresholdRepresentation f p)
      (hp :  (x : FABL.SignCube n), p x  0) (i : Fin n) :
      (Finset.univ.expect fun x =>
          f.toReal x * FABL.signValue (x i) *
            (FABL.polynomialDerivativeThreshold p i).toReal x) =
        FABL.influence f.toReal i
    theorem FABL.expect_toReal_mul_coordinateSign_mul_polynomialDerivativeThreshold_eq_influence
      {n : } (f : FABL.BooleanFunction n)
      (p : FABL.SignCube n  )
      (hrep :
        FABL.IsPolynomialThresholdRepresentation
          f p)
      (hp :  (x : FABL.SignCube n), p x  0)
      (i : Fin n) :
      (Finset.univ.expect fun x =>
          f.toReal x * FABL.signValue (x i) *
            (FABL.polynomialDerivativeThreshold
                  p i).toReal
              x) =
        FABL.influence f.toReal i
    Exercise 5.45(a): the signed derivative-threshold correlation is the coordinate influence. 
  • theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    theorem FABL.totalInfluence_le_expect_abs_derivativeThresholdSum {n : }
      (f : FABL.BooleanFunction n) (p : FABL.SignCube n  )
      (hrep : FABL.IsPolynomialThresholdRepresentation f p)
      (hp :  (x : FABL.SignCube n), p x  0) :
      FABL.totalInfluence f.toReal 
        Finset.univ.expect fun x =>
          | i,
              FABL.signValue (x i) *
                (FABL.polynomialDerivativeThreshold p i).toReal x|
    theorem FABL.totalInfluence_le_expect_abs_derivativeThresholdSum
      {n : } (f : FABL.BooleanFunction n)
      (p : FABL.SignCube n  )
      (hrep :
        FABL.IsPolynomialThresholdRepresentation
          f p)
      (hp :
         (x : FABL.SignCube n), p x  0) :
      FABL.totalInfluence f.toReal 
        Finset.univ.expect fun x =>
          | i,
              FABL.signValue (x i) *
                (FABL.polynomialDerivativeThreshold
                      p i).toReal
                  x|
    Exercise 5.45(b): summing the coordinate identities bounds total influence by the first
    absolute moment of the derivative-threshold Rademacher sum. 
  • theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    theorem FABL.totalInfluence_le_sqrt_dimension_add_derivativeThresholdCrossMoments
      {n : } (f : FABL.BooleanFunction n) (p : FABL.SignCube n  )
      (hrep : FABL.IsPolynomialThresholdRepresentation f p)
      (hp :  (x : FABL.SignCube n), p x  0) :
      FABL.totalInfluence f.toReal 
        (n +
             i,
               j  Finset.univ.erase i,
                Finset.univ.expect fun x =>
                  FABL.signValue (x i) * FABL.signValue (x j) *
                      (FABL.polynomialDerivativeThreshold p i).toReal x *
                    (FABL.polynomialDerivativeThreshold p j).toReal x)
    theorem FABL.totalInfluence_le_sqrt_dimension_add_derivativeThresholdCrossMoments
      {n : } (f : FABL.BooleanFunction n)
      (p : FABL.SignCube n  )
      (hrep :
        FABL.IsPolynomialThresholdRepresentation
          f p)
      (hp :
         (x : FABL.SignCube n), p x  0) :
      FABL.totalInfluence f.toReal 
        (n +
             i,
               j  Finset.univ.erase i,
                Finset.univ.expect fun x =>
                  FABL.signValue (x i) *
                        FABL.signValue (x j) *
                      (FABL.polynomialDerivativeThreshold
                            p i).toReal
                        x *
                    (FABL.polynomialDerivativeThreshold
                          p j).toReal
                      x)
    Exercise 5.45(c): Cauchy--Schwarz and the exact diagonal/off-diagonal expansion of the
    derivative-threshold Rademacher sum. 
  • theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    theorem FABL.polynomialDerivativeThreshold_isPolynomialThreshold {n : }
      (p : FABL.SignCube n  ) (i : Fin n) {k : }
      (hdegree : FABL.fourierDegree p  k) :
      FABL.IsPolynomialThreshold (FABL.polynomialDerivativeThreshold p i)
        (k - 1)
    theorem FABL.polynomialDerivativeThreshold_isPolynomialThreshold
      {n : } (p : FABL.SignCube n  )
      (i : Fin n) {k : }
      (hdegree : FABL.fourierDegree p  k) :
      FABL.IsPolynomialThreshold
        (FABL.polynomialDerivativeThreshold p
          i)
        (k - 1)
    Thresholding a polynomial derivative gives a PTF of degree at most one less. 
  • theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    theorem FABL.totalInfluence_le_sqrt_dimension_add_sum_derivativeThresholdInfluence
      {n : } (f : FABL.BooleanFunction n) (p : FABL.SignCube n  )
      (hrep : FABL.IsPolynomialThresholdRepresentation f p)
      (hp :  (x : FABL.SignCube n), p x  0) :
      FABL.totalInfluence f.toReal 
        (n +
             i,
              FABL.totalInfluence
                (FABL.polynomialDerivativeThreshold p i).toReal)
    theorem FABL.totalInfluence_le_sqrt_dimension_add_sum_derivativeThresholdInfluence
      {n : } (f : FABL.BooleanFunction n)
      (p : FABL.SignCube n  )
      (hrep :
        FABL.IsPolynomialThresholdRepresentation
          f p)
      (hp :
         (x : FABL.SignCube n), p x  0) :
      FABL.totalInfluence f.toReal 
        (n +
             i,
              FABL.totalInfluence
                (FABL.polynomialDerivativeThreshold
                    p i).toReal)
    Exercise 5.45(d): the cross moments are controlled by the total influences of the
    thresholded derivatives. 
  • defdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    def FABL.polynomialThresholdInfluenceExponent (k : ) : 
    def FABL.polynomialThresholdInfluenceExponent
      (k : ) : 
    The exponent `1 - 2⁻ᵏ` in the elementary degree-`k` PTF influence bound. 
  • theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    theorem FABL.polynomialThresholdInfluenceExponent_zero :
      FABL.polynomialThresholdInfluenceExponent 0 = 0
    theorem FABL.polynomialThresholdInfluenceExponent_zero :
      FABL.polynomialThresholdInfluenceExponent
          0 =
        0
  • theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    theorem FABL.polynomialThresholdInfluenceExponent_nonneg (k : ) :
      0  FABL.polynomialThresholdInfluenceExponent k
    theorem FABL.polynomialThresholdInfluenceExponent_nonneg
      (k : ) :
      0 
        FABL.polynomialThresholdInfluenceExponent
          k
  • theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    theorem FABL.two_mul_polynomialThresholdInfluenceExponent_succ (k : ) :
      2 * FABL.polynomialThresholdInfluenceExponent (k + 1) =
        1 + FABL.polynomialThresholdInfluenceExponent k
    theorem FABL.two_mul_polynomialThresholdInfluenceExponent_succ
      (k : ) :
      2 *
          FABL.polynomialThresholdInfluenceExponent
            (k + 1) =
        1 +
          FABL.polynomialThresholdInfluenceExponent
            k
  • theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    theorem FABL.polynomialThresholdInfluenceExponent_succ_pos (k : ) :
      0 < FABL.polynomialThresholdInfluenceExponent (k + 1)
    theorem FABL.polynomialThresholdInfluenceExponent_succ_pos
      (k : ) :
      0 <
        FABL.polynomialThresholdInfluenceExponent
          (k + 1)
  • theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    theorem FABL.totalInfluence_toReal_le_two_mul_rpow_of_isPolynomialThreshold
      {n : } (f : FABL.BooleanFunction n) (k : )
      (hf : FABL.IsPolynomialThreshold f k) :
      FABL.totalInfluence f.toReal 
        2 * n ^ FABL.polynomialThresholdInfluenceExponent k
    theorem FABL.totalInfluence_toReal_le_two_mul_rpow_of_isPolynomialThreshold
      {n : } (f : FABL.BooleanFunction n)
      (k : )
      (hf : FABL.IsPolynomialThreshold f k) :
      FABL.totalInfluence f.toReal 
        2 *
          n ^
            FABL.polynomialThresholdInfluenceExponent
              k
    Exercise 5.45(e): every degree-at-most-`k` PTF has total influence at most
    `2 n^(1 - 2⁻ᵏ)`. 
  • defdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    def FABL.polynomialThresholdNoiseExponent (k : ) : 
    def FABL.polynomialThresholdNoiseExponent
      (k : ) : 
    The exponent `2⁻ᵏ` in the noise-sensitivity consequence of Exercise 5.45. 
  • theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    theorem FABL.polynomialThresholdNoiseExponent_pos (k : ) :
      0 < FABL.polynomialThresholdNoiseExponent k
    theorem FABL.polynomialThresholdNoiseExponent_pos
      (k : ) :
      0 <
        FABL.polynomialThresholdNoiseExponent
          k
  • theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    theorem FABL.polynomialThresholdNoiseExponent_le_one (k : ) :
      FABL.polynomialThresholdNoiseExponent k  1
    theorem FABL.polynomialThresholdNoiseExponent_le_one
      (k : ) :
      FABL.polynomialThresholdNoiseExponent
          k 
        1
  • theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    theorem FABL.polynomialThresholdInfluenceExponent_eq_one_sub_noiseExponent
      (k : ) :
      FABL.polynomialThresholdInfluenceExponent k =
        1 - FABL.polynomialThresholdNoiseExponent k
    theorem FABL.polynomialThresholdInfluenceExponent_eq_one_sub_noiseExponent
      (k : ) :
      FABL.polynomialThresholdInfluenceExponent
          k =
        1 -
          FABL.polynomialThresholdNoiseExponent
            k
  • theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    theorem FABL.noiseSensitivity_le_three_mul_rpow_of_isPolynomialThreshold {n : }
      (f : FABL.BooleanFunction n) (k : )
      (hf : FABL.IsPolynomialThreshold f k)
      (δ : FABL.PositiveHalfNoiseParameter) :
      FABL.noiseSensitivity δ  f 
        3 * δ ^ FABL.polynomialThresholdNoiseExponent k
    theorem FABL.noiseSensitivity_le_three_mul_rpow_of_isPolynomialThreshold
      {n : } (f : FABL.BooleanFunction n)
      (k : )
      (hf : FABL.IsPolynomialThreshold f k)
      (δ : FABL.PositiveHalfNoiseParameter) :
      FABL.noiseSensitivity δ  f 
        3 *
          δ ^
            FABL.polynomialThresholdNoiseExponent
              k
    Exercise 5.45(f), quantitative form: every degree-at-most-`k` PTF has noise sensitivity
    at most `3 δ^(2⁻ᵏ)` for `0 < δ ≤ 1/2`. 
  • defdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    def FABL.polynomialThresholdNoiseModulus (k : )
      (δ : FABL.HalfNoiseParameter) : FABL.UnitProbability
    def FABL.polynomialThresholdNoiseModulus
      (k : ) (δ : FABL.HalfNoiseParameter) :
      FABL.UnitProbability
    The explicit modulus `min(1, 3 δ^(2⁻ᵏ))` for degree-at-most-`k` PTFs. 
  • theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    theorem FABL.polynomialThresholdNoiseModulus_tendsto_zero (k : ) :
      Filter.Tendsto (fun δ => (FABL.polynomialThresholdNoiseModulus k δ))
        (nhdsWithin
          0, FABL.polynomialThresholdNoiseModulus_tendsto_zero._proof_1
          (Set.Ioi
            0,
              FABL.polynomialThresholdNoiseModulus_tendsto_zero._proof_1))
        (nhds 0)
    theorem FABL.polynomialThresholdNoiseModulus_tendsto_zero
      (k : ) :
      Filter.Tendsto
        (fun δ =>
          (FABL.polynomialThresholdNoiseModulus
              k δ))
        (nhdsWithin
          0,
            FABL.polynomialThresholdNoiseModulus_tendsto_zero._proof_1
          (Set.Ioi
            0,
              FABL.polynomialThresholdNoiseModulus_tendsto_zero._proof_1))
        (nhds 0)
  • theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.lean
    complete
    theorem FABL.polynomialThresholdClass_uniformlyNoiseStable_of_influenceBound
      (k : ) :
      FABL.IsUniformlyNoiseStable (FABL.polynomialThresholdClass k)
    theorem FABL.polynomialThresholdClass_uniformlyNoiseStable_of_influenceBound
      (k : ) :
      FABL.IsUniformlyNoiseStable
        (FABL.polynomialThresholdClass k)
    Exercise 5.45(f): for each fixed degree, polynomial threshold functions are uniformly
    noise-stable. 
Theorem5.6.28
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
Statement uses 2
Statement dependency previews
Preview
Definition 2.1.5
Loading preview
Statement dependency preview content is loaded from the rendered-fragment cache.
used by 0XL∃∀N

Open conjecture in Exercise 5.45(b). There should be a universal constant C such that whenever p:\{-1,1\}^n\to\mathbb R is a degree-2 polynomial which is nonzero on the cube, \mathbb E\!\left[ \left|\sum_i x_i\operatorname{sgn}(D_ip(x))\right| \right] \le C\sqrt n. Each \operatorname{sgn}(D_ip) is a linear threshold function. This conjecture remains open.

Lemma5.6.29
Group: Chapter 5: Majority and threshold functions (107)
Group member previews
Preview
Lemma 5.1.1
Loading preview
Group member preview content is loaded from the rendered-fragment cache.
uses 0used by 0XL∃∀N

Notes on sources and provenance.

Chow's Theorem was proved independently by Chow and Tannenbaum in 1961; Elgot gave related work. Bruck proved the PTF generalization, Theorem 5.10, and the threshold-circuit result of Exercise 5.12. Theorems 5.2 and 5.9, the Gotsman--Linial Conjecture, and Exercise 5.11 come from Gotsman and Linial. Conjecture 5.3 is folklore. Bruck and Smolensky established Corollary 5.13 and essentially Theorem 5.12. Exercise 5.13 is credited to Krause and Pudlak, the counting bound in Exercise 5.4 is asymptotically sharp by Zuev, and Exercise 5.15 is due to O'Donnell and Servedio.

Titsworth's work on interplanetary ranging systems contains the ideas behind Theorem 2.33, Proposition 2.58, and the correlation-distillation problem in Exercise 5.7. Titsworth also first computed the Fourier expansion of Majority. Later approaches used binomial identities and Krawtchouk polynomials; the limiting majority-weight asymptotics are attributed to Kalai and O'Donnell, and Krawtchouk introduced the polynomials bearing his name.

The central limit theorem used here is due independently to Berry and Esseen. Shevtsova obtained the constant quoted in the chapter. Bikelis proved the nonuniform version used in Exercise 5.31, and Bentkus proved the multidimensional theorem stated as Theorem 5.38. Sheppard's formula dates to 1899; the results collected in Theorem 5.18 appeared in work of O'Donnell.

The Level-1 Inequality is folklore and was published by Talagrand. The two halves of the 2/\pi Theorem are due respectively to Khot et al. and Matulef et al. The improved FKN estimate and the optimality construction in Exercise 5.36 are due to Jendrej, Oleszkiewicz, and Wojtaszczyk. Earlier FKN constants come from Friedgut, Kalai, and Naor and from Kindler and Safra. Exercise 5.35 was communicated by Eric Blais, Exercise 5.44 is due to Khot et al., and Exercise 5.42 was suggested by Rocco Servedio.

Peres proved the linear-threshold noise-sensitivity theorem; the earlier work of Benjamini, Kalai, and Schramm introduced uniform noise stability for LTFs. The proof in this chapter incorporates simplifications of Gopalan and ideas of Diakonikolas et al. Kane proved the later total-influence bound for polynomial threshold functions, and Exercise 5.39 was suggested by Nitin Saurabh.