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.
-
FABL.homogeneousLinearThreshold_isOdd_and_isBalanced[complete] -
FABL.zero_homogeneousLinearThreshold_counterexample[complete] -
FABL.mean_nonneg_of_nonnegative_linearThresholdBias[complete] -
FABL.nonnegative_mean_negative_bias_counterexample[complete] -
FABL.exists_homogeneousLinearThresholdRepresentation_of_isBalanced[complete]
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.1●5 theorems
Associated Lean declarations
-
FABL.homogeneousLinearThreshold_isOdd_and_isBalanced[complete]
-
FABL.zero_homogeneousLinearThreshold_counterexample[complete]
-
FABL.mean_nonneg_of_nonnegative_linearThresholdBias[complete]
-
FABL.nonnegative_mean_negative_bias_counterexample[complete]
-
FABL.exists_homogeneousLinearThresholdRepresentation_of_isBalanced[complete]
-
FABL.homogeneousLinearThreshold_isOdd_and_isBalanced[complete] -
FABL.zero_homogeneousLinearThreshold_counterexample[complete] -
FABL.mean_nonneg_of_nonnegative_linearThresholdBias[complete] -
FABL.nonnegative_mean_negative_bias_counterexample[complete] -
FABL.exists_homogeneousLinearThresholdRepresentation_of_isBalanced[complete]
-
theoremdefined in FABL/Chapter05/LinearThresholdBias.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.
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.2●1 theorem
Associated Lean declarations
-
theoremdefined in FABL/Chapter05/LinearThresholdInfluence.leancomplete
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.
-
FABL.PolynomialThresholdFunction[complete] -
FABL.LinearThresholdFunction[complete] -
FABL.natCard_polynomialThresholdFunction_le_profileCount[complete] -
FABL.natCard_linearThresholdFunction_le_profileCount[complete] -
FABL.natCard_linearThresholdFunction_le_two_pow_sq[complete] -
FABL.card_lowDegreeFourierFamily_le_leadingTerm[complete] -
FABL.natCard_polynomialThresholdFunction_le_two_pow_bookBound[complete]
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.3●7 declarations
Associated Lean declarations
-
FABL.PolynomialThresholdFunction[complete]
-
FABL.LinearThresholdFunction[complete]
-
FABL.natCard_polynomialThresholdFunction_le_profileCount[complete]
-
FABL.natCard_linearThresholdFunction_le_profileCount[complete]
-
FABL.natCard_linearThresholdFunction_le_two_pow_sq[complete]
-
FABL.card_lowDegreeFourierFamily_le_leadingTerm[complete]
-
FABL.natCard_polynomialThresholdFunction_le_two_pow_bookBound[complete]
-
FABL.PolynomialThresholdFunction[complete] -
FABL.LinearThresholdFunction[complete] -
FABL.natCard_polynomialThresholdFunction_le_profileCount[complete] -
FABL.natCard_linearThresholdFunction_le_profileCount[complete] -
FABL.natCard_linearThresholdFunction_le_two_pow_sq[complete] -
FABL.card_lowDegreeFourierFamily_le_leadingTerm[complete] -
FABL.natCard_polynomialThresholdFunction_le_two_pow_bookBound[complete]
-
abbrevdefined in FABL/Chapter05/ThresholdFunctionCounting.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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))`.
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.4●1 theorem
Associated Lean declarations
-
theoremdefined in FABL/Chapter05/LinearThresholdInfluence.leancomplete
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)`.
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.5●5 declarations
Associated Lean declarations
-
defdefined in FABL/Chapter05/CorrelationDistillation.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.
-
FABL.fourierInfinityNorm[complete] -
FABL.randomBooleanFourierThreshold[complete] -
FABL.measure_randomBooleanFunction_fourierInfinityNorm_gt_le[complete]
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.6●3 declarations
Associated Lean declarations
-
FABL.fourierInfinityNorm[complete]
-
FABL.randomBooleanFourierThreshold[complete]
-
FABL.measure_randomBooleanFunction_fourierInfinityNorm_gt_le[complete]
-
FABL.fourierInfinityNorm[complete] -
FABL.randomBooleanFourierThreshold[complete] -
FABL.measure_randomBooleanFunction_fourierInfinityNorm_gt_le[complete]
-
defdefined in FABL/Chapter05/RandomBooleanFourierMaximum.leancomplete
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.leancomplete
def FABL.randomBooleanFourierThreshold (n : ℕ) : ℝ
def FABL.randomBooleanFourierThreshold (n : ℕ) : ℝ
The threshold in Exercise 5.8.
-
theoremdefined in FABL/Chapter05/RandomBooleanFourierMaximum.leancomplete
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⁻ⁿᐟ²`.
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.7●2 theorems
Associated Lean declarations
-
theoremdefined in FABL/Chapter05/ParityThresholdDegree.leancomplete
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.leancomplete
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`.
-
FABL.allOneSignCube[complete] -
FABL.onePointFlippedParity[complete] -
FABL.onePointFlippedParity_isPolynomialThreshold[complete] -
FABL.fourierCoeff_onePointFlippedParity[complete] -
FABL.fourierWeightAtMost_onePointFlippedParity[complete] -
FABL.exists_polynomialThreshold_fourierWeightAtMost_lt_two_mul_invPow[complete]
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.8●6 declarations
Associated Lean declarations
-
FABL.allOneSignCube[complete]
-
FABL.onePointFlippedParity[complete]
-
FABL.onePointFlippedParity_isPolynomialThreshold[complete]
-
FABL.fourierCoeff_onePointFlippedParity[complete]
-
FABL.fourierWeightAtMost_onePointFlippedParity[complete]
-
FABL.exists_polynomialThreshold_fourierWeightAtMost_lt_two_mul_invPow[complete]
-
FABL.allOneSignCube[complete] -
FABL.onePointFlippedParity[complete] -
FABL.onePointFlippedParity_isPolynomialThreshold[complete] -
FABL.fourierCoeff_onePointFlippedParity[complete] -
FABL.fourierWeightAtMost_onePointFlippedParity[complete] -
FABL.exists_polynomialThreshold_fourierWeightAtMost_lt_two_mul_invPow[complete]
-
defdefined in FABL/Chapter05/SmallLowDegreeWeightPTF.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.
-
FABL.IsRealSumOfLinearThresholds[complete] -
FABL.HasRealSumOfLinearThresholdsSizeAtMost[complete] -
FABL.IsThresholdOfThresholds[complete] -
FABL.HasThresholdOfThresholdsSizeAtMost[complete] -
FABL.IsThresholdOfParities[complete] -
FABL.symmetric_hasRealSumOfLinearThresholdsSizeAtMost_two_mul[complete] -
FABL.parityFunction_isRealSumOfLinearThresholds[complete] -
FABL.polynomialThresholdRepresentation_hasThresholdOfThresholdsSizeAtMost[complete] -
FABL.thresholdOfParities_hasThresholdOfThresholdsSizeAtMost[complete] -
FABL.completeQuadraticBit[complete] -
FABL.completeQuadratic[complete] -
FABL.completeQuadraticBoolean[complete] -
FABL.completeQuadratic_apply[complete] -
FABL.completeQuadraticBoolean_binaryCubeSignEquiv[complete] -
FABL.completeQuadraticBoolean_isSymmetric[complete] -
FABL.completeQuadraticBoolean_hasThresholdOfThresholdsSizeAtMost_two_mul[complete] -
FABL.abs_vectorFourierCoeff_completeQuadratic[complete] -
FABL.completeQuadraticBoolean_toReal[complete] -
FABL.abs_fourierCoeff_completeQuadraticBoolean[complete] -
FABL.pow_two_half_le_polynomialSparsity_completeQuadraticBoolean_of_pos[complete] -
FABL.pow_two_half_le_thresholdOfParitiesSize_completeQuadraticBoolean[complete]
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.9●21 declarations
Associated Lean declarations
-
FABL.IsRealSumOfLinearThresholds[complete]
-
FABL.HasRealSumOfLinearThresholdsSizeAtMost[complete]
-
FABL.IsThresholdOfThresholds[complete]
-
FABL.HasThresholdOfThresholdsSizeAtMost[complete]
-
FABL.IsThresholdOfParities[complete]
-
FABL.symmetric_hasRealSumOfLinearThresholdsSizeAtMost_two_mul[complete]
-
FABL.parityFunction_isRealSumOfLinearThresholds[complete]
-
FABL.polynomialThresholdRepresentation_hasThresholdOfThresholdsSizeAtMost[complete]
-
FABL.thresholdOfParities_hasThresholdOfThresholdsSizeAtMost[complete]
-
FABL.completeQuadraticBit[complete]
-
FABL.completeQuadratic[complete]
-
FABL.completeQuadraticBoolean[complete]
-
FABL.completeQuadratic_apply[complete]
-
FABL.completeQuadraticBoolean_binaryCubeSignEquiv[complete]
-
FABL.completeQuadraticBoolean_isSymmetric[complete]
-
FABL.completeQuadraticBoolean_hasThresholdOfThresholdsSizeAtMost_two_mul[complete]
-
FABL.abs_vectorFourierCoeff_completeQuadratic[complete]
-
FABL.completeQuadraticBoolean_toReal[complete]
-
FABL.abs_fourierCoeff_completeQuadraticBoolean[complete]
-
FABL.pow_two_half_le_polynomialSparsity_completeQuadraticBoolean_of_pos[complete]
-
FABL.pow_two_half_le_thresholdOfParitiesSize_completeQuadraticBoolean[complete]
-
FABL.IsRealSumOfLinearThresholds[complete] -
FABL.HasRealSumOfLinearThresholdsSizeAtMost[complete] -
FABL.IsThresholdOfThresholds[complete] -
FABL.HasThresholdOfThresholdsSizeAtMost[complete] -
FABL.IsThresholdOfParities[complete] -
FABL.symmetric_hasRealSumOfLinearThresholdsSizeAtMost_two_mul[complete] -
FABL.parityFunction_isRealSumOfLinearThresholds[complete] -
FABL.polynomialThresholdRepresentation_hasThresholdOfThresholdsSizeAtMost[complete] -
FABL.thresholdOfParities_hasThresholdOfThresholdsSizeAtMost[complete] -
FABL.completeQuadraticBit[complete] -
FABL.completeQuadratic[complete] -
FABL.completeQuadraticBoolean[complete] -
FABL.completeQuadratic_apply[complete] -
FABL.completeQuadraticBoolean_binaryCubeSignEquiv[complete] -
FABL.completeQuadraticBoolean_isSymmetric[complete] -
FABL.completeQuadraticBoolean_hasThresholdOfThresholdsSizeAtMost_two_mul[complete] -
FABL.abs_vectorFourierCoeff_completeQuadratic[complete] -
FABL.completeQuadraticBoolean_toReal[complete] -
FABL.abs_fourierCoeff_completeQuadraticBoolean[complete] -
FABL.pow_two_half_le_polynomialSparsity_completeQuadraticBoolean_of_pos[complete] -
FABL.pow_two_half_le_thresholdOfParitiesSize_completeQuadraticBoolean[complete]
-
defdefined in FABL/Chapter05/ThresholdCircuits.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.
-
FABL.DNFTerm.trueIndicator[complete] -
FABL.DNFTerm.trueIndicator_eq_one_iff[complete] -
FABL.DNFTerm.trueIndicator_nonneg[complete] -
FABL.DNFTerm.binaryBasePoint[complete] -
FABL.DNFTerm.fourierOneNorm_trueIndicator[complete] -
FABL.DNFFormula.satisfiedTermCount[complete] -
FABL.DNFFormula.satisfiedTermCount_eq_zero_of_no_satisfied_term[complete] -
FABL.DNFFormula.one_le_satisfiedTermCount_of_satisfied_term[complete] -
FABL.DNFFormula.fourierOneNorm_satisfiedTermCount_le[complete] -
FABL.DNFFormula.toBooleanFunction_eq_thresholdSign_satisfiedTermCount[complete] -
FABL.DNFFormula.exists_polynomialThresholdRepresentation_sparsity_le_quadratic[complete] -
FABL.exists_polynomialThresholdRepresentation_of_hasDNFSizeLE_sparsity_le_quadratic[complete] -
FABL.exists_polynomialThresholdRepresentation_of_hasDNFSizeLE_sparsity_le_cubic[complete]
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.10●13 declarations
Associated Lean declarations
-
FABL.DNFTerm.trueIndicator[complete]
-
FABL.DNFTerm.trueIndicator_eq_one_iff[complete]
-
FABL.DNFTerm.trueIndicator_nonneg[complete]
-
FABL.DNFTerm.binaryBasePoint[complete]
-
FABL.DNFTerm.fourierOneNorm_trueIndicator[complete]
-
FABL.DNFFormula.satisfiedTermCount[complete]
-
FABL.DNFFormula.satisfiedTermCount_eq_zero_of_no_satisfied_term[complete]
-
FABL.DNFFormula.one_le_satisfiedTermCount_of_satisfied_term[complete]
-
FABL.DNFFormula.fourierOneNorm_satisfiedTermCount_le[complete]
-
FABL.DNFFormula.toBooleanFunction_eq_thresholdSign_satisfiedTermCount[complete]
-
FABL.DNFFormula.exists_polynomialThresholdRepresentation_sparsity_le_quadratic[complete]
-
FABL.exists_polynomialThresholdRepresentation_of_hasDNFSizeLE_sparsity_le_quadratic[complete]
-
FABL.exists_polynomialThresholdRepresentation_of_hasDNFSizeLE_sparsity_le_cubic[complete]
-
FABL.DNFTerm.trueIndicator[complete] -
FABL.DNFTerm.trueIndicator_eq_one_iff[complete] -
FABL.DNFTerm.trueIndicator_nonneg[complete] -
FABL.DNFTerm.binaryBasePoint[complete] -
FABL.DNFTerm.fourierOneNorm_trueIndicator[complete] -
FABL.DNFFormula.satisfiedTermCount[complete] -
FABL.DNFFormula.satisfiedTermCount_eq_zero_of_no_satisfied_term[complete] -
FABL.DNFFormula.one_le_satisfiedTermCount_of_satisfied_term[complete] -
FABL.DNFFormula.fourierOneNorm_satisfiedTermCount_le[complete] -
FABL.DNFFormula.toBooleanFunction_eq_thresholdSign_satisfiedTermCount[complete] -
FABL.DNFFormula.exists_polynomialThresholdRepresentation_sparsity_le_quadratic[complete] -
FABL.exists_polynomialThresholdRepresentation_of_hasDNFSizeLE_sparsity_le_quadratic[complete] -
FABL.exists_polynomialThresholdRepresentation_of_hasDNFSizeLE_sparsity_le_cubic[complete]
-
defdefined in FABL/Chapter05/DNFSparsePolynomialThreshold.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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³`.
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.11●4 declarations
Associated Lean declarations
-
defdefined in FABL/Chapter05/AC0ThresholdParitySeparation.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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)`.
-
FABL.singletonIndicatorFourierProjection[complete] -
FABL.prescribedFourierKernel[complete] -
FABL.prescribedFourierKernel_apply_self[complete] -
FABL.expect_sq_prescribedFourierKernel[complete] -
FABL.prescribedFourierKernel_comm[complete] -
FABL.sum_ne_sq_prescribedFourierKernel[complete] -
FABL.prescribedFourierOffCenterSum[complete] -
FABL.measure_prescribedFourierOffCenterSum_abs_ge_le[complete] -
FABL.prescribedFourierApproximation[complete] -
FABL.fourierCoeff_prescribedFourierApproximation_eq_zero[complete] -
FABL.HasPrescribedFourierUniformApproximation[complete] -
FABL.measure_not_hasPrescribedFourierUniformApproximation_le[complete] -
FABL.typicalPolynomialThresholdCutoff[complete] -
FABL.typicalPolynomialThresholdCutoff_le[complete] -
FABL.card_lowDegreeFourierFamily_typicalPolynomialThresholdCutoff[complete] -
FABL.measure_not_isPolynomialThreshold_typicalPolynomialThresholdCutoff_le[complete]
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.12●16 declarations
Associated Lean declarations
-
FABL.singletonIndicatorFourierProjection[complete]
-
FABL.prescribedFourierKernel[complete]
-
FABL.prescribedFourierKernel_apply_self[complete]
-
FABL.expect_sq_prescribedFourierKernel[complete]
-
FABL.prescribedFourierKernel_comm[complete]
-
FABL.sum_ne_sq_prescribedFourierKernel[complete]
-
FABL.prescribedFourierOffCenterSum[complete]
-
FABL.measure_prescribedFourierOffCenterSum_abs_ge_le[complete]
-
FABL.prescribedFourierApproximation[complete]
-
FABL.fourierCoeff_prescribedFourierApproximation_eq_zero[complete]
-
FABL.HasPrescribedFourierUniformApproximation[complete]
-
FABL.measure_not_hasPrescribedFourierUniformApproximation_le[complete]
-
FABL.typicalPolynomialThresholdCutoff[complete]
-
FABL.typicalPolynomialThresholdCutoff_le[complete]
-
FABL.card_lowDegreeFourierFamily_typicalPolynomialThresholdCutoff[complete]
-
FABL.measure_not_isPolynomialThreshold_typicalPolynomialThresholdCutoff_le[complete]
-
FABL.singletonIndicatorFourierProjection[complete] -
FABL.prescribedFourierKernel[complete] -
FABL.prescribedFourierKernel_apply_self[complete] -
FABL.expect_sq_prescribedFourierKernel[complete] -
FABL.prescribedFourierKernel_comm[complete] -
FABL.sum_ne_sq_prescribedFourierKernel[complete] -
FABL.prescribedFourierOffCenterSum[complete] -
FABL.measure_prescribedFourierOffCenterSum_abs_ge_le[complete] -
FABL.prescribedFourierApproximation[complete] -
FABL.fourierCoeff_prescribedFourierApproximation_eq_zero[complete] -
FABL.HasPrescribedFourierUniformApproximation[complete] -
FABL.measure_not_hasPrescribedFourierUniformApproximation_le[complete] -
FABL.typicalPolynomialThresholdCutoff[complete] -
FABL.typicalPolynomialThresholdCutoff_le[complete] -
FABL.card_lowDegreeFourierFamily_typicalPolynomialThresholdCutoff[complete] -
FABL.measure_not_isPolynomialThreshold_typicalPolynomialThresholdCutoff_le[complete]
-
defdefined in FABL/Chapter05/PrescribedFourierSupport.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
theorem FABL.measure_prescribedFourierOffCenterSum_abs_ge_le {n : ℕ} (𝓕 : Finset (Finset (Fin n))) (h𝓕 : 𝓕.Nonempty) {ε : ℝ} (hε : 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) {ε : ℝ} (hε : 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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
theorem FABL.measure_not_hasPrescribedFourierUniformApproximation_le {n : ℕ} (𝓕 : Finset (Finset (Fin n))) (h𝓕 : 𝓕.Nonempty) {ε : ℝ} (hε : 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) {ε : ℝ} (hε : 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.leancomplete
def FABL.typicalPolynomialThresholdCutoff (n : ℕ) : ℕ
def FABL.typicalPolynomialThresholdCutoff (n : ℕ) : ℕ
The explicit Fourier-degree cutoff used for Exercise 5.15(d).
-
theoremdefined in FABL/Chapter05/PrescribedFourierSupport.leancomplete
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.leancomplete
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.leancomplete
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.
-
FABL.fourierCoeff_majority_singleton_eq_oddMajorityInfluence[complete] -
FABL.abs_fourierCoeff_majority_two_mul_add_one[complete] -
FABL.abs_fourierCoeff_majority_next_odd_eq[complete] -
FABL.abs_fourierCoeff_majority_next_odd_lt[complete] -
FABL.abs_fourierCoeff_majority_le_singleton[complete] -
FABL.fourierCoeff_majority_singleton_isGreatest[complete] -
FABL.tendsto_oddMajorityInfluence_div_main[complete] -
FABL.tendsto_fourierCoeff_majority_singleton_div_sqrt[complete]
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.13●8 theorems
Associated Lean declarations
-
FABL.fourierCoeff_majority_singleton_eq_oddMajorityInfluence[complete]
-
FABL.abs_fourierCoeff_majority_two_mul_add_one[complete]
-
FABL.abs_fourierCoeff_majority_next_odd_eq[complete]
-
FABL.abs_fourierCoeff_majority_next_odd_lt[complete]
-
FABL.abs_fourierCoeff_majority_le_singleton[complete]
-
FABL.fourierCoeff_majority_singleton_isGreatest[complete]
-
FABL.tendsto_oddMajorityInfluence_div_main[complete]
-
FABL.tendsto_fourierCoeff_majority_singleton_div_sqrt[complete]
-
FABL.fourierCoeff_majority_singleton_eq_oddMajorityInfluence[complete] -
FABL.abs_fourierCoeff_majority_two_mul_add_one[complete] -
FABL.abs_fourierCoeff_majority_next_odd_eq[complete] -
FABL.abs_fourierCoeff_majority_next_odd_lt[complete] -
FABL.abs_fourierCoeff_majority_le_singleton[complete] -
FABL.fourierCoeff_majority_singleton_isGreatest[complete] -
FABL.tendsto_oddMajorityInfluence_div_main[complete] -
FABL.tendsto_fourierCoeff_majority_singleton_div_sqrt[complete]
-
theoremdefined in FABL/Chapter05/MajorityLargestFourierCoefficient.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.
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.14●1 theorem
Associated Lean declarations
-
theoremdefined in FABL/Chapter05/MajorityFourierWeightRecovery.leancomplete
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.
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.15●4 declarations
Associated Lean declarations
-
theoremdefined in FABL/Chapter05/MajorityFourierOneNorm.leancomplete
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.leancomplete
def FABL.binomialHalfOddReciprocalExpectation (m : ℕ) : ℝ
def FABL.binomialHalfOddReciprocalExpectation (m : ℕ) : ℝ
The expectation of `(2X+1)⁻¹` for `X ∼ Binomial(m, 1/2)`.
-
theoremdefined in FABL/Chapter05/MajorityFourierOneNorm.leancomplete
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.leancomplete
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)`.
-
FABL.negativeCoordinateCount[complete] -
FABL.krawtchoukValue[complete] -
FABL.krawtchoukGeneratingPolynomial[complete] -
FABL.coeff_krawtchoukGeneratingPolynomial[complete] -
FABL.sum_krawtchoukValue_mul_pow[complete] -
FABL.sum_krawtchoukValue[complete] -
FABL.sum_krawtchoukValue_mul_pow_eq_noiseKernel[complete] -
FABL.krawtchoukPolynomial[complete] -
FABL.krawtchoukPolynomial_natDegree[complete] -
FABL.eval_krawtchoukPolynomial_eq_coeff_countGenerating[complete] -
FABL.negativeCoordinateCount_le[complete] -
FABL.krawtchoukGeneratingPolynomial_eq_negativeCount[complete] -
FABL.krawtchoukValue_eq_coeff_negativeCount[complete] -
FABL.krawtchoukPolynomial_represents[complete]
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.16●14 declarations
Associated Lean declarations
-
FABL.negativeCoordinateCount[complete]
-
FABL.krawtchoukValue[complete]
-
FABL.krawtchoukGeneratingPolynomial[complete]
-
FABL.coeff_krawtchoukGeneratingPolynomial[complete]
-
FABL.sum_krawtchoukValue_mul_pow[complete]
-
FABL.sum_krawtchoukValue[complete]
-
FABL.sum_krawtchoukValue_mul_pow_eq_noiseKernel[complete]
-
FABL.krawtchoukPolynomial[complete]
-
FABL.krawtchoukPolynomial_natDegree[complete]
-
FABL.eval_krawtchoukPolynomial_eq_coeff_countGenerating[complete]
-
FABL.negativeCoordinateCount_le[complete]
-
FABL.krawtchoukGeneratingPolynomial_eq_negativeCount[complete]
-
FABL.krawtchoukValue_eq_coeff_negativeCount[complete]
-
FABL.krawtchoukPolynomial_represents[complete]
-
FABL.negativeCoordinateCount[complete] -
FABL.krawtchoukValue[complete] -
FABL.krawtchoukGeneratingPolynomial[complete] -
FABL.coeff_krawtchoukGeneratingPolynomial[complete] -
FABL.sum_krawtchoukValue_mul_pow[complete] -
FABL.sum_krawtchoukValue[complete] -
FABL.sum_krawtchoukValue_mul_pow_eq_noiseKernel[complete] -
FABL.krawtchoukPolynomial[complete] -
FABL.krawtchoukPolynomial_natDegree[complete] -
FABL.eval_krawtchoukPolynomial_eq_coeff_countGenerating[complete] -
FABL.negativeCoordinateCount_le[complete] -
FABL.krawtchoukGeneratingPolynomial_eq_negativeCount[complete] -
FABL.krawtchoukValue_eq_coeff_negativeCount[complete] -
FABL.krawtchoukPolynomial_represents[complete]
-
defdefined in FABL/Chapter05/KrawtchoukPolynomials.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
theorem FABL.sum_krawtchoukValue_mul_pow_eq_noiseKernel {n : ℕ} (x : FABL.SignCube n) (ρ : ℝ) (hρ : ρ ∈ Set.Icc (-1) 1) : ∑ j ∈ Finset.range (n + 1), FABL.krawtchoukValue j x * ρ ^ j = 2 ^ n * ((FABL.noiseKernel ρ hρ x) fun x => 1).toReal
theorem FABL.sum_krawtchoukValue_mul_pow_eq_noiseKernel {n : ℕ} (x : FABL.SignCube n) (ρ : ℝ) (hρ : ρ ∈ Set.Icc (-1) 1) : ∑ j ∈ Finset.range (n + 1), FABL.krawtchoukValue j x * ρ ^ j = 2 ^ n * ((FABL.noiseKernel ρ hρ 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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.
-
FABL.gaussianUpperRightQuadrant[complete] -
FABL.isOpen_gaussianUpperRightQuadrant[complete] -
FABL.gaussianQuadrantProbability[complete] -
FABL.tendsto_noiseStability_hammingUpperTailIndicator[complete] -
FABL.gaussianQuadrantProbability_one_sub_upperTail[complete]
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.17●5 declarations
Associated Lean declarations
-
FABL.gaussianUpperRightQuadrant[complete]
-
FABL.isOpen_gaussianUpperRightQuadrant[complete]
-
FABL.gaussianQuadrantProbability[complete]
-
FABL.tendsto_noiseStability_hammingUpperTailIndicator[complete]
-
FABL.gaussianQuadrantProbability_one_sub_upperTail[complete]
-
FABL.gaussianUpperRightQuadrant[complete] -
FABL.isOpen_gaussianUpperRightQuadrant[complete] -
FABL.gaussianQuadrantProbability[complete] -
FABL.tendsto_noiseStability_hammingUpperTailIndicator[complete] -
FABL.gaussianQuadrantProbability_one_sub_upperTail[complete]
-
defdefined in FABL/Chapter05/BiasedMajorityGaussianLimit.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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`.
-
FABL.noiseSensitivity_le_one[complete] -
FABL.noiseSensitivity_le_dimension_mul_delta[complete] -
FABL.HasInputLengthAtMost[complete] -
FABL.boundedInputLengthNoiseModulus[complete] -
FABL.boundedInputLengthNoiseModulus_tendsto_zero[complete] -
FABL.uniformlyNoiseStable_of_inputLengthAtMost[complete]
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.18●6 declarations
Associated Lean declarations
-
FABL.noiseSensitivity_le_one[complete]
-
FABL.noiseSensitivity_le_dimension_mul_delta[complete]
-
FABL.HasInputLengthAtMost[complete]
-
FABL.boundedInputLengthNoiseModulus[complete]
-
FABL.boundedInputLengthNoiseModulus_tendsto_zero[complete]
-
FABL.uniformlyNoiseStable_of_inputLengthAtMost[complete]
-
FABL.noiseSensitivity_le_one[complete] -
FABL.noiseSensitivity_le_dimension_mul_delta[complete] -
FABL.HasInputLengthAtMost[complete] -
FABL.boundedInputLengthNoiseModulus[complete] -
FABL.boundedInputLengthNoiseModulus_tendsto_zero[complete] -
FABL.uniformlyNoiseStable_of_inputLengthAtMost[complete]
-
theoremdefined in FABL/Chapter05/UniformNoiseStability.leancomplete
theorem FABL.noiseSensitivity_le_one {n : ℕ} (δ : ℝ) (hδ : δ ∈ Set.Icc 0 1) (f : FABL.BooleanFunction n) : FABL.noiseSensitivity δ hδ f ≤ 1
theorem FABL.noiseSensitivity_le_one {n : ℕ} (δ : ℝ) (hδ : δ ∈ Set.Icc 0 1) (f : FABL.BooleanFunction n) : FABL.noiseSensitivity δ hδ f ≤ 1
Boolean noise sensitivity is at most one.
-
theoremdefined in FABL/Chapter05/UniformNoiseStability.leancomplete
theorem FABL.noiseSensitivity_le_dimension_mul_delta {n : ℕ} (δ : ℝ) (hδ : δ ∈ Set.Icc 0 (1 / 2)) (f : FABL.BooleanFunction n) : FABL.noiseSensitivity δ ⋯ f ≤ ↑n * δ
theorem FABL.noiseSensitivity_le_dimension_mul_delta {n : ℕ} (δ : ℝ) (hδ : δ ∈ 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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.
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.19●1 theorem
Associated Lean declarations
-
theoremdefined in FABL/Chapter05/RobustEdgeIsoperimetry.leancomplete
theorem FABL.exists_signedDictator_relativeHammingDist_le_of_isBalanced_totalInfluence_le {n : ℕ} (f : FABL.BooleanFunction n) {δ : ℝ} (hδ : 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) {δ : ℝ} (hδ : 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.
-
FABL.fknOptimalityGaussianMass[complete] -
FABL.fknOptimalityThreshold[complete] -
FABL.fknOptimalityGaussianBoundary[complete] -
FABL.standardGaussianUpperTail_fknOptimalityThreshold[complete] -
FABL.fknOptimalityGaussianBoundary_eq_density[complete] -
FABL.fknOptimalityGaussianBoundary_pos[complete] -
FABL.IsFKNOptimalityApproximation[complete] -
FABL.fknOptimalityDimensionIndex[complete] -
FABL.fknOptimalityDimensionIndex_spec[complete] -
FABL.fknOptimalityTailDimension[complete] -
FABL.fknOptimalitySmallSet[complete] -
FABL.fknOptimalitySmallSetMass[complete] -
FABL.fknOptimalitySmallSetMass_approx[complete] -
FABL.fknOptimalitySmallSetWeight_approx[complete] -
FABL.fknOptimalitySmallSetMass_pos[complete] -
FABL.fknOptimalityGaussianMass_lt_two_mul_smallSetMass[complete] -
FABL.two_mul_fknOptimalitySmallSetMass_lt_three_mul_gaussianMass[complete] -
FABL.fknOptimalitySmallSetWeight_gt_half_boundary_sq[complete] -
FABL.fknOptimalityDelta[complete] -
FABL.fknOptimalityDelta_pos[complete] -
FABL.fknOptimalityGaussianMass_lt_delta[complete] -
FABL.fknOptimalityDelta_lt_three_mul_gaussianMass[complete] -
FABL.tendsto_fknOptimalityDelta[complete] -
FABL.fknOptimalityFunction[complete] -
FABL.fourierCoeff_fknOptimalityFunction_zero[complete] -
FABL.fourierCoeff_fknOptimalityFunction_succ[complete] -
FABL.fourierWeightAtLevel_one_fknOptimalityFunction[complete] -
FABL.fourierWeightAtLevel_one_fknOptimalityFunction_eq_delta[complete] -
FABL.fknOptimalityGaussianMain[complete] -
FABL.eventually_fourierWeightAtLevel_one_fknOptimalityFunction_lower[complete] -
FABL.exercise5_36[complete]
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.20●31 declarations
Associated Lean declarations
-
FABL.fknOptimalityGaussianMass[complete]
-
FABL.fknOptimalityThreshold[complete]
-
FABL.fknOptimalityGaussianBoundary[complete]
-
FABL.standardGaussianUpperTail_fknOptimalityThreshold[complete]
-
FABL.fknOptimalityGaussianBoundary_eq_density[complete]
-
FABL.fknOptimalityGaussianBoundary_pos[complete]
-
FABL.IsFKNOptimalityApproximation[complete]
-
FABL.fknOptimalityDimensionIndex[complete]
-
FABL.fknOptimalityDimensionIndex_spec[complete]
-
FABL.fknOptimalityTailDimension[complete]
-
FABL.fknOptimalitySmallSet[complete]
-
FABL.fknOptimalitySmallSetMass[complete]
-
FABL.fknOptimalitySmallSetMass_approx[complete]
-
FABL.fknOptimalitySmallSetWeight_approx[complete]
-
FABL.fknOptimalitySmallSetMass_pos[complete]
-
FABL.fknOptimalityGaussianMass_lt_two_mul_smallSetMass[complete]
-
FABL.two_mul_fknOptimalitySmallSetMass_lt_three_mul_gaussianMass[complete]
-
FABL.fknOptimalitySmallSetWeight_gt_half_boundary_sq[complete]
-
FABL.fknOptimalityDelta[complete]
-
FABL.fknOptimalityDelta_pos[complete]
-
FABL.fknOptimalityGaussianMass_lt_delta[complete]
-
FABL.fknOptimalityDelta_lt_three_mul_gaussianMass[complete]
-
FABL.tendsto_fknOptimalityDelta[complete]
-
FABL.fknOptimalityFunction[complete]
-
FABL.fourierCoeff_fknOptimalityFunction_zero[complete]
-
FABL.fourierCoeff_fknOptimalityFunction_succ[complete]
-
FABL.fourierWeightAtLevel_one_fknOptimalityFunction[complete]
-
FABL.fourierWeightAtLevel_one_fknOptimalityFunction_eq_delta[complete]
-
FABL.fknOptimalityGaussianMain[complete]
-
FABL.eventually_fourierWeightAtLevel_one_fknOptimalityFunction_lower[complete]
-
FABL.exercise5_36[complete]
-
FABL.fknOptimalityGaussianMass[complete] -
FABL.fknOptimalityThreshold[complete] -
FABL.fknOptimalityGaussianBoundary[complete] -
FABL.standardGaussianUpperTail_fknOptimalityThreshold[complete] -
FABL.fknOptimalityGaussianBoundary_eq_density[complete] -
FABL.fknOptimalityGaussianBoundary_pos[complete] -
FABL.IsFKNOptimalityApproximation[complete] -
FABL.fknOptimalityDimensionIndex[complete] -
FABL.fknOptimalityDimensionIndex_spec[complete] -
FABL.fknOptimalityTailDimension[complete] -
FABL.fknOptimalitySmallSet[complete] -
FABL.fknOptimalitySmallSetMass[complete] -
FABL.fknOptimalitySmallSetMass_approx[complete] -
FABL.fknOptimalitySmallSetWeight_approx[complete] -
FABL.fknOptimalitySmallSetMass_pos[complete] -
FABL.fknOptimalityGaussianMass_lt_two_mul_smallSetMass[complete] -
FABL.two_mul_fknOptimalitySmallSetMass_lt_three_mul_gaussianMass[complete] -
FABL.fknOptimalitySmallSetWeight_gt_half_boundary_sq[complete] -
FABL.fknOptimalityDelta[complete] -
FABL.fknOptimalityDelta_pos[complete] -
FABL.fknOptimalityGaussianMass_lt_delta[complete] -
FABL.fknOptimalityDelta_lt_three_mul_gaussianMass[complete] -
FABL.tendsto_fknOptimalityDelta[complete] -
FABL.fknOptimalityFunction[complete] -
FABL.fourierCoeff_fknOptimalityFunction_zero[complete] -
FABL.fourierCoeff_fknOptimalityFunction_succ[complete] -
FABL.fourierWeightAtLevel_one_fknOptimalityFunction[complete] -
FABL.fourierWeightAtLevel_one_fknOptimalityFunction_eq_delta[complete] -
FABL.fknOptimalityGaussianMain[complete] -
FABL.eventually_fourierWeightAtLevel_one_fknOptimalityFunction_lower[complete] -
FABL.exercise5_36[complete]
-
defdefined in FABL/Chapter05/FKNOptimality.leancomplete
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.leancomplete
def FABL.fknOptimalityThreshold (q : ℕ) : ℝ
def FABL.fknOptimalityThreshold (q : ℕ) : ℝ
The Gaussian quantile at the `q`-th target mass.
-
defdefined in FABL/Chapter05/FKNOptimality.leancomplete
def FABL.fknOptimalityGaussianBoundary (q : ℕ) : ℝ
def FABL.fknOptimalityGaussianBoundary (q : ℕ) : ℝ
The Gaussian isoperimetric boundary at the `q`-th target mass.
-
theoremdefined in FABL/Chapter05/FKNOptimality.leancomplete
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.leancomplete
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.leancomplete
theorem FABL.fknOptimalityGaussianBoundary_pos (q : ℕ) : 0 < FABL.fknOptimalityGaussianBoundary q
theorem FABL.fknOptimalityGaussianBoundary_pos (q : ℕ) : 0 < FABL.fknOptimalityGaussianBoundary q
-
defdefined in FABL/Chapter05/FKNOptimality.leancomplete
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.leancomplete
def FABL.fknOptimalityDimensionIndex (q : ℕ) : ℕ
def FABL.fknOptimalityDimensionIndex (q : ℕ) : ℕ
A dimension index at which both approximations for stage `q` hold.
-
theoremdefined in FABL/Chapter05/FKNOptimality.leancomplete
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.leancomplete
def FABL.fknOptimalityTailDimension (q : ℕ) : ℕ
def FABL.fknOptimalityTailDimension (q : ℕ) : ℕ
The Hamming-tail dimension selected at stage `q`.
-
defdefined in FABL/Chapter05/FKNOptimality.leancomplete
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.leancomplete
def FABL.fknOptimalitySmallSetMass (q : ℕ) : ℝ
def FABL.fknOptimalitySmallSetMass (q : ℕ) : ℝ
The uniform mass of the selected Hamming upper-tail set.
-
theoremdefined in FABL/Chapter05/FKNOptimality.leancomplete
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.leancomplete
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.leancomplete
theorem FABL.fknOptimalitySmallSetMass_pos (q : ℕ) : 0 < FABL.fknOptimalitySmallSetMass q
theorem FABL.fknOptimalitySmallSetMass_pos (q : ℕ) : 0 < FABL.fknOptimalitySmallSetMass q
-
theoremdefined in FABL/Chapter05/FKNOptimality.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
def FABL.fknOptimalityDelta (q : ℕ) : ℝ
def FABL.fknOptimalityDelta (q : ℕ) : ℝ
The closeness parameter forced by the exact distinguished Fourier coefficient.
-
theoremdefined in FABL/Chapter05/FKNOptimality.leancomplete
theorem FABL.fknOptimalityDelta_pos (q : ℕ) : 0 < FABL.fknOptimalityDelta q
theorem FABL.fknOptimalityDelta_pos (q : ℕ) : 0 < FABL.fknOptimalityDelta q
-
theoremdefined in FABL/Chapter05/FKNOptimality.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.
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.21●2 theorems
Associated Lean declarations
-
theoremdefined in FABL/Chapter05/LTFNoiseSensitivityDerivative.leancomplete
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.leancomplete
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 / √δ`.
-
FABL.polynomialThresholdClass[complete] -
FABL.polynomialThresholdClass_closedUnderNegatingInputVariables[complete] -
FABL.polynomialThresholdClass_closedUnderIdentifyingInputVariables[complete] -
FABL.HasUniformlySublinearTotalInfluence[complete] -
FABL.HasUniformPolynomialThresholdNoiseSensitivitySqrtBound[complete] -
FABL.HasUniformPolynomialThresholdTotalInfluenceSqrtBound[complete] -
FABL.totalInfluence_le_two_div_one_sub_exp_neg_two_mul_dimension_mul_noiseModulus[complete] -
FABL.polynomialThresholdClass_uniformlyNoiseStable_iff_uniformlySublinearTotalInfluence[complete] -
FABL.uniformPolynomialThreshold_noiseSensitivitySqrtBound_iff_totalInfluenceSqrtBound[complete]
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.22●9 declarations
Associated Lean declarations
-
FABL.polynomialThresholdClass[complete]
-
FABL.polynomialThresholdClass_closedUnderNegatingInputVariables[complete]
-
FABL.polynomialThresholdClass_closedUnderIdentifyingInputVariables[complete]
-
FABL.HasUniformlySublinearTotalInfluence[complete]
-
FABL.HasUniformPolynomialThresholdNoiseSensitivitySqrtBound[complete]
-
FABL.HasUniformPolynomialThresholdTotalInfluenceSqrtBound[complete]
-
FABL.totalInfluence_le_two_div_one_sub_exp_neg_two_mul_dimension_mul_noiseModulus[complete]
-
FABL.polynomialThresholdClass_uniformlyNoiseStable_iff_uniformlySublinearTotalInfluence[complete]
-
FABL.uniformPolynomialThreshold_noiseSensitivitySqrtBound_iff_totalInfluenceSqrtBound[complete]
-
FABL.polynomialThresholdClass[complete] -
FABL.polynomialThresholdClass_closedUnderNegatingInputVariables[complete] -
FABL.polynomialThresholdClass_closedUnderIdentifyingInputVariables[complete] -
FABL.HasUniformlySublinearTotalInfluence[complete] -
FABL.HasUniformPolynomialThresholdNoiseSensitivitySqrtBound[complete] -
FABL.HasUniformPolynomialThresholdTotalInfluenceSqrtBound[complete] -
FABL.totalInfluence_le_two_div_one_sub_exp_neg_two_mul_dimension_mul_noiseModulus[complete] -
FABL.polynomialThresholdClass_uniformlyNoiseStable_iff_uniformlySublinearTotalInfluence[complete] -
FABL.uniformPolynomialThreshold_noiseSensitivitySqrtBound_iff_totalInfluenceSqrtBound[complete]
-
defdefined in FABL/Chapter05/PolynomialThresholdUniformStability.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
theorem FABL.totalInfluence_le_two_div_one_sub_exp_neg_two_mul_dimension_mul_noiseModulus {n k : ℕ} (ε : ↑FABL.HalfNoiseParameter → ↑FABL.UnitProbability) (hε : ∀ {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) (hε : ∀ {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.leancomplete
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.leancomplete
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.
-
FABL.gotsmanLinialStart[complete] -
FABL.gotsmanLinialRoot[complete] -
FABL.gotsmanLinialPolynomial[complete] -
FABL.gotsmanLinialCubePolynomial[complete] -
FABL.gotsmanLinialExtremizer[complete] -
FABL.gotsmanLinialExtremizer_isSymmetric[complete] -
FABL.natDegree_gotsmanLinialPolynomial[complete] -
FABL.gotsmanLinialExtremizer_isPolynomialThreshold[complete] -
FABL.gotsmanLinialCubePolynomial_ne_zero[complete] -
FABL.gotsmanLinialExtremizer_centralLayer[complete] -
FABL.totalInfluence_gotsmanLinialExtremizer[complete] -
FABL.normalizedGotsmanLinialTotalInfluence[complete] -
FABL.tendsto_normalizedGotsmanLinialTotalInfluence[complete]
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.23●13 declarations
Associated Lean declarations
-
FABL.gotsmanLinialStart[complete]
-
FABL.gotsmanLinialRoot[complete]
-
FABL.gotsmanLinialPolynomial[complete]
-
FABL.gotsmanLinialCubePolynomial[complete]
-
FABL.gotsmanLinialExtremizer[complete]
-
FABL.gotsmanLinialExtremizer_isSymmetric[complete]
-
FABL.natDegree_gotsmanLinialPolynomial[complete]
-
FABL.gotsmanLinialExtremizer_isPolynomialThreshold[complete]
-
FABL.gotsmanLinialCubePolynomial_ne_zero[complete]
-
FABL.gotsmanLinialExtremizer_centralLayer[complete]
-
FABL.totalInfluence_gotsmanLinialExtremizer[complete]
-
FABL.normalizedGotsmanLinialTotalInfluence[complete]
-
FABL.tendsto_normalizedGotsmanLinialTotalInfluence[complete]
-
FABL.gotsmanLinialStart[complete] -
FABL.gotsmanLinialRoot[complete] -
FABL.gotsmanLinialPolynomial[complete] -
FABL.gotsmanLinialCubePolynomial[complete] -
FABL.gotsmanLinialExtremizer[complete] -
FABL.gotsmanLinialExtremizer_isSymmetric[complete] -
FABL.natDegree_gotsmanLinialPolynomial[complete] -
FABL.gotsmanLinialExtremizer_isPolynomialThreshold[complete] -
FABL.gotsmanLinialCubePolynomial_ne_zero[complete] -
FABL.gotsmanLinialExtremizer_centralLayer[complete] -
FABL.totalInfluence_gotsmanLinialExtremizer[complete] -
FABL.normalizedGotsmanLinialTotalInfluence[complete] -
FABL.tendsto_normalizedGotsmanLinialTotalInfluence[complete]
-
defdefined in FABL/Chapter05/GotsmanLinialExtremizer.leancomplete
def FABL.gotsmanLinialStart (n k : ℕ) : ℕ
def FABL.gotsmanLinialStart (n k : ℕ) : ℕ
The lower endpoint of the `k` central sign changes.
-
defdefined in FABL/Chapter05/GotsmanLinialExtremizer.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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 / π)`.
-
FABL.smallSetCenterOfMass[complete] -
FABL.smallSetCenterOfMass_apply[complete] -
FABL.sum_sq_smallSetCenterOfMass[complete] -
FABL.exists_smallSetCenterOfMass_sqNorm_constant[complete] -
FABL.exists_smallSetCenterOfMass_norm_constant[complete]
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.24●5 declarations
Associated Lean declarations
-
FABL.smallSetCenterOfMass[complete]
-
FABL.smallSetCenterOfMass_apply[complete]
-
FABL.sum_sq_smallSetCenterOfMass[complete]
-
FABL.exists_smallSetCenterOfMass_sqNorm_constant[complete]
-
FABL.exists_smallSetCenterOfMass_norm_constant[complete]
-
FABL.smallSetCenterOfMass[complete] -
FABL.smallSetCenterOfMass_apply[complete] -
FABL.sum_sq_smallSetCenterOfMass[complete] -
FABL.exists_smallSetCenterOfMass_sqNorm_constant[complete] -
FABL.exists_smallSetCenterOfMass_norm_constant[complete]
-
defdefined in FABL/Chapter05/SmallSetCenterOfMass.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.
-
FABL.hasDerivAt_standardGaussianUpperTail[complete] -
FABL.gaussianIsoperimetricReal[complete] -
FABL.gaussianIsoperimetricReal_apply_of_mem_Ioo[complete] -
FABL.gaussianIsoperimetricReal_eq_gaussianIsoperimetric[complete] -
FABL.continuousOn_gaussianIsoperimetricReal[complete] -
FABL.gaussianIsoperimetricReal_pos[complete] -
FABL.hasDerivAt_gaussianIsoperimetricReal[complete] -
FABL.gaussianIsoperimetric_second_derivative[complete] -
FABL.concaveOn_gaussianIsoperimetricReal[complete]
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.25●9 declarations
Associated Lean declarations
-
FABL.hasDerivAt_standardGaussianUpperTail[complete]
-
FABL.gaussianIsoperimetricReal[complete]
-
FABL.gaussianIsoperimetricReal_apply_of_mem_Ioo[complete]
-
FABL.gaussianIsoperimetricReal_eq_gaussianIsoperimetric[complete]
-
FABL.continuousOn_gaussianIsoperimetricReal[complete]
-
FABL.gaussianIsoperimetricReal_pos[complete]
-
FABL.hasDerivAt_gaussianIsoperimetricReal[complete]
-
FABL.gaussianIsoperimetric_second_derivative[complete]
-
FABL.concaveOn_gaussianIsoperimetricReal[complete]
-
FABL.hasDerivAt_standardGaussianUpperTail[complete] -
FABL.gaussianIsoperimetricReal[complete] -
FABL.gaussianIsoperimetricReal_apply_of_mem_Ioo[complete] -
FABL.gaussianIsoperimetricReal_eq_gaussianIsoperimetric[complete] -
FABL.continuousOn_gaussianIsoperimetricReal[complete] -
FABL.gaussianIsoperimetricReal_pos[complete] -
FABL.hasDerivAt_gaussianIsoperimetricReal[complete] -
FABL.gaussianIsoperimetric_second_derivative[complete] -
FABL.concaveOn_gaussianIsoperimetricReal[complete]
-
theoremdefined in FABL/Chapter05/GaussianIsoperimetricConcavity.leancomplete
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.leancomplete
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.leancomplete
theorem FABL.gaussianIsoperimetricReal_apply_of_mem_Ioo {α : ℝ} (hα : α ∈ Set.Ioo 0 1) : FABL.gaussianIsoperimetricReal α = ProbabilityTheory.gaussianPDFReal 0 1 (FABL.standardGaussianUpperQuantile ⟨α, hα⟩)
theorem FABL.gaussianIsoperimetricReal_apply_of_mem_Ioo {α : ℝ} (hα : α ∈ Set.Ioo 0 1) : FABL.gaussianIsoperimetricReal α = ProbabilityTheory.gaussianPDFReal 0 1 (FABL.standardGaussianUpperQuantile ⟨α, hα⟩)
On the open unit interval, the ambient-real function is the Gaussian density at the upper-tail quantile.
-
theoremdefined in FABL/Chapter05/GaussianIsoperimetricConcavity.leancomplete
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.leancomplete
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.leancomplete
theorem FABL.gaussianIsoperimetricReal_pos {α : ℝ} (hα : α ∈ Set.Ioo 0 1) : 0 < FABL.gaussianIsoperimetricReal α
theorem FABL.gaussianIsoperimetricReal_pos {α : ℝ} (hα : α ∈ Set.Ioo 0 1) : 0 < FABL.gaussianIsoperimetricReal α
The Gaussian isoperimetric function is positive in the open unit interval.
-
theoremdefined in FABL/Chapter05/GaussianIsoperimetricConcavity.leancomplete
theorem FABL.hasDerivAt_gaussianIsoperimetricReal {α : ℝ} (hα : α ∈ Set.Ioo 0 1) : HasDerivAt FABL.gaussianIsoperimetricReal (FABL.standardGaussianUpperQuantile ⟨α, hα⟩) α
theorem FABL.hasDerivAt_gaussianIsoperimetricReal {α : ℝ} (hα : α ∈ Set.Ioo 0 1) : HasDerivAt FABL.gaussianIsoperimetricReal (FABL.standardGaussianUpperQuantile ⟨α, hα⟩) α
In the open unit interval, the first derivative of the Gaussian isoperimetric function is its upper-tail quantile.
-
theoremdefined in FABL/Chapter05/GaussianIsoperimetricConcavity.leancomplete
theorem FABL.gaussianIsoperimetric_second_derivative {α : ℝ} (hα : α ∈ Set.Ioo 0 1) : deriv^[2] FABL.gaussianIsoperimetricReal α = -1 / FABL.gaussianIsoperimetricReal α
theorem FABL.gaussianIsoperimetric_second_derivative {α : ℝ} (hα : α ∈ 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.leancomplete
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]`.
-
FABL.exists_stopLoss_linearForm_sub_standardGaussian_le_of_regular[complete] -
FABL.exercise5_44[complete] -
FABL.signedHammingTwoTail[complete] -
FABL.fourierCoeff_signedHammingTwoTail_singleton[complete] -
FABL.signedHammingTwoTail_mem_Icc[complete] -
FABL.expect_abs_signedHammingTwoTail[complete] -
FABL.fourierWeightAtLevel_one_signedHammingTwoTail[complete] -
FABL.signedHammingTwoTailEpsilon[complete] -
FABL.abs_fourierCoeff_signedHammingTwoTail_eq_epsilon[complete] -
FABL.tendsto_signedHammingTwoTailEpsilon[complete] -
FABL.tendsto_expect_abs_signedHammingTwoTail[complete] -
FABL.tendsto_fourierWeightAtLevel_one_signedHammingTwoTail[complete] -
FABL.exercise5_44_printed_false[complete]
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.26●13 declarations
Associated Lean declarations
-
FABL.exists_stopLoss_linearForm_sub_standardGaussian_le_of_regular[complete]
-
FABL.exercise5_44[complete]
-
FABL.signedHammingTwoTail[complete]
-
FABL.fourierCoeff_signedHammingTwoTail_singleton[complete]
-
FABL.signedHammingTwoTail_mem_Icc[complete]
-
FABL.expect_abs_signedHammingTwoTail[complete]
-
FABL.fourierWeightAtLevel_one_signedHammingTwoTail[complete]
-
FABL.signedHammingTwoTailEpsilon[complete]
-
FABL.abs_fourierCoeff_signedHammingTwoTail_eq_epsilon[complete]
-
FABL.tendsto_signedHammingTwoTailEpsilon[complete]
-
FABL.tendsto_expect_abs_signedHammingTwoTail[complete]
-
FABL.tendsto_fourierWeightAtLevel_one_signedHammingTwoTail[complete]
-
FABL.exercise5_44_printed_false[complete]
-
FABL.exists_stopLoss_linearForm_sub_standardGaussian_le_of_regular[complete] -
FABL.exercise5_44[complete] -
FABL.signedHammingTwoTail[complete] -
FABL.fourierCoeff_signedHammingTwoTail_singleton[complete] -
FABL.signedHammingTwoTail_mem_Icc[complete] -
FABL.expect_abs_signedHammingTwoTail[complete] -
FABL.fourierWeightAtLevel_one_signedHammingTwoTail[complete] -
FABL.signedHammingTwoTailEpsilon[complete] -
FABL.abs_fourierCoeff_signedHammingTwoTail_eq_epsilon[complete] -
FABL.tendsto_signedHammingTwoTailEpsilon[complete] -
FABL.tendsto_expect_abs_signedHammingTwoTail[complete] -
FABL.tendsto_fourierWeightAtLevel_one_signedHammingTwoTail[complete] -
FABL.exercise5_44_printed_false[complete]
-
theoremdefined in FABL/Chapter05/RademacherFirstMoment.leancomplete
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.leancomplete
theorem FABL.exercise5_44 (α : ℝ) (hαpos : 0 < α) (hαhalf : α < 1 / 2) : ∃ Cα, 0 < Cα ∧ ∀ {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 + Cα * ε
theorem FABL.exercise5_44 (α : ℝ) (hαpos : 0 < α) (hαhalf : α < 1 / 2) : ∃ Cα, 0 < Cα ∧ ∀ {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 + Cα * ε
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
theorem FABL.exercise5_44_printed_false : ∃ α, 0 < ↑α ∧ ↑α < 1 / 2 ∧ ∀ (Cα : ℝ), ∃ 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 + Cα * ε < FABL.fourierWeightAtLevel 1 f
theorem FABL.exercise5_44_printed_false : ∃ α, 0 < ↑α ∧ ↑α < 1 / 2 ∧ ∀ (Cα : ℝ), ∃ 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 + Cα * ε < 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.
-
FABL.polynomialDerivativeThreshold[complete] -
FABL.discreteDerivative_toReal_eq_polynomialDerivativeThreshold_of_ne_zero[complete] -
FABL.expect_toReal_mul_coordinateSign_mul_polynomialDerivativeThreshold_eq_influence[complete] -
FABL.totalInfluence_le_expect_abs_derivativeThresholdSum[complete] -
FABL.totalInfluence_le_sqrt_dimension_add_derivativeThresholdCrossMoments[complete] -
FABL.polynomialDerivativeThreshold_isPolynomialThreshold[complete] -
FABL.totalInfluence_le_sqrt_dimension_add_sum_derivativeThresholdInfluence[complete] -
FABL.polynomialThresholdInfluenceExponent[complete] -
FABL.polynomialThresholdInfluenceExponent_zero[complete] -
FABL.polynomialThresholdInfluenceExponent_nonneg[complete] -
FABL.two_mul_polynomialThresholdInfluenceExponent_succ[complete] -
FABL.polynomialThresholdInfluenceExponent_succ_pos[complete] -
FABL.totalInfluence_toReal_le_two_mul_rpow_of_isPolynomialThreshold[complete] -
FABL.polynomialThresholdNoiseExponent[complete] -
FABL.polynomialThresholdNoiseExponent_pos[complete] -
FABL.polynomialThresholdNoiseExponent_le_one[complete] -
FABL.polynomialThresholdInfluenceExponent_eq_one_sub_noiseExponent[complete] -
FABL.noiseSensitivity_le_three_mul_rpow_of_isPolynomialThreshold[complete] -
FABL.polynomialThresholdNoiseModulus[complete] -
FABL.polynomialThresholdNoiseModulus_tendsto_zero[complete] -
FABL.polynomialThresholdClass_uniformlyNoiseStable_of_influenceBound[complete]
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.27●21 declarations
Associated Lean declarations
-
FABL.polynomialDerivativeThreshold[complete]
-
FABL.discreteDerivative_toReal_eq_polynomialDerivativeThreshold_of_ne_zero[complete]
-
FABL.expect_toReal_mul_coordinateSign_mul_polynomialDerivativeThreshold_eq_influence[complete]
-
FABL.totalInfluence_le_expect_abs_derivativeThresholdSum[complete]
-
FABL.totalInfluence_le_sqrt_dimension_add_derivativeThresholdCrossMoments[complete]
-
FABL.polynomialDerivativeThreshold_isPolynomialThreshold[complete]
-
FABL.totalInfluence_le_sqrt_dimension_add_sum_derivativeThresholdInfluence[complete]
-
FABL.polynomialThresholdInfluenceExponent[complete]
-
FABL.polynomialThresholdInfluenceExponent_zero[complete]
-
FABL.polynomialThresholdInfluenceExponent_nonneg[complete]
-
FABL.two_mul_polynomialThresholdInfluenceExponent_succ[complete]
-
FABL.polynomialThresholdInfluenceExponent_succ_pos[complete]
-
FABL.totalInfluence_toReal_le_two_mul_rpow_of_isPolynomialThreshold[complete]
-
FABL.polynomialThresholdNoiseExponent[complete]
-
FABL.polynomialThresholdNoiseExponent_pos[complete]
-
FABL.polynomialThresholdNoiseExponent_le_one[complete]
-
FABL.polynomialThresholdInfluenceExponent_eq_one_sub_noiseExponent[complete]
-
FABL.noiseSensitivity_le_three_mul_rpow_of_isPolynomialThreshold[complete]
-
FABL.polynomialThresholdNoiseModulus[complete]
-
FABL.polynomialThresholdNoiseModulus_tendsto_zero[complete]
-
FABL.polynomialThresholdClass_uniformlyNoiseStable_of_influenceBound[complete]
-
FABL.polynomialDerivativeThreshold[complete] -
FABL.discreteDerivative_toReal_eq_polynomialDerivativeThreshold_of_ne_zero[complete] -
FABL.expect_toReal_mul_coordinateSign_mul_polynomialDerivativeThreshold_eq_influence[complete] -
FABL.totalInfluence_le_expect_abs_derivativeThresholdSum[complete] -
FABL.totalInfluence_le_sqrt_dimension_add_derivativeThresholdCrossMoments[complete] -
FABL.polynomialDerivativeThreshold_isPolynomialThreshold[complete] -
FABL.totalInfluence_le_sqrt_dimension_add_sum_derivativeThresholdInfluence[complete] -
FABL.polynomialThresholdInfluenceExponent[complete] -
FABL.polynomialThresholdInfluenceExponent_zero[complete] -
FABL.polynomialThresholdInfluenceExponent_nonneg[complete] -
FABL.two_mul_polynomialThresholdInfluenceExponent_succ[complete] -
FABL.polynomialThresholdInfluenceExponent_succ_pos[complete] -
FABL.totalInfluence_toReal_le_two_mul_rpow_of_isPolynomialThreshold[complete] -
FABL.polynomialThresholdNoiseExponent[complete] -
FABL.polynomialThresholdNoiseExponent_pos[complete] -
FABL.polynomialThresholdNoiseExponent_le_one[complete] -
FABL.polynomialThresholdInfluenceExponent_eq_one_sub_noiseExponent[complete] -
FABL.noiseSensitivity_le_three_mul_rpow_of_isPolynomialThreshold[complete] -
FABL.polynomialThresholdNoiseModulus[complete] -
FABL.polynomialThresholdNoiseModulus_tendsto_zero[complete] -
FABL.polynomialThresholdClass_uniformlyNoiseStable_of_influenceBound[complete]
-
defdefined in FABL/Chapter05/PolynomialThresholdInfluence.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
theorem FABL.polynomialThresholdInfluenceExponent_zero : FABL.polynomialThresholdInfluenceExponent 0 = 0
theorem FABL.polynomialThresholdInfluenceExponent_zero : FABL.polynomialThresholdInfluenceExponent 0 = 0
-
theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.leancomplete
theorem FABL.polynomialThresholdInfluenceExponent_nonneg (k : ℕ) : 0 ≤ FABL.polynomialThresholdInfluenceExponent k
theorem FABL.polynomialThresholdInfluenceExponent_nonneg (k : ℕ) : 0 ≤ FABL.polynomialThresholdInfluenceExponent k
-
theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
theorem FABL.polynomialThresholdNoiseExponent_pos (k : ℕ) : 0 < FABL.polynomialThresholdNoiseExponent k
theorem FABL.polynomialThresholdNoiseExponent_pos (k : ℕ) : 0 < FABL.polynomialThresholdNoiseExponent k
-
theoremdefined in FABL/Chapter05/PolynomialThresholdInfluence.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.leancomplete
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.
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.
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.