2.2. Influences and derivatives
-
FABL.setCoordinate[complete] -
FABL.flipCoordinate[complete] -
FABL.IsPivotal[complete] -
FABL.isPivotal_iff_setCoordinate_ne[complete]
Definition 2.12. A coordinate i\in[n] is pivotal for
f:\{-1,1\}^n\to\{-1,1\} on input x if
f(x)\ne f(x^{\oplus i}),
where
x^{\oplus i}=(x_1,\ldots,x_{i-1},-x_i,x_{i+1},\ldots,x_n).
Lean code for Definition2.2.1●4 declarations
Associated Lean declarations
-
FABL.setCoordinate[complete]
-
FABL.flipCoordinate[complete]
-
FABL.IsPivotal[complete]
-
FABL.isPivotal_iff_setCoordinate_ne[complete]
-
FABL.setCoordinate[complete] -
FABL.flipCoordinate[complete] -
FABL.IsPivotal[complete] -
FABL.isPivotal_iff_setCoordinate_ne[complete]
-
defdefined in FABL/Chapter02/InfluencesAndDerivatives/BooleanInfluence.leancomplete
def FABL.setCoordinate {n : ℕ} (x : FABL.SignCube n) (i : Fin n) (b : FABL.Sign) : FABL.SignCube n
def FABL.setCoordinate {n : ℕ} (x : FABL.SignCube n) (i : Fin n) (b : FABL.Sign) : FABL.SignCube n
Set coordinate `i` of a sign-cube input to `b`, using Mathlib's `Function.update`.
-
defdefined in FABL/Chapter02/InfluencesAndDerivatives/BooleanInfluence.leancomplete
def FABL.flipCoordinate {n : ℕ} (x : FABL.SignCube n) (i : Fin n) : FABL.SignCube n
def FABL.flipCoordinate {n : ℕ} (x : FABL.SignCube n) (i : Fin n) : FABL.SignCube n
O'Donnell, Definition 2.12: flip coordinate `i` of a sign-cube input.
-
defdefined in FABL/Chapter02/InfluencesAndDerivatives/BooleanInfluence.leancomplete
def FABL.IsPivotal.{u_1} {n : ℕ} {β : Type u_1} (f : FABL.SignCube n → β) (i : Fin n) (x : FABL.SignCube n) : Prop
def FABL.IsPivotal.{u_1} {n : ℕ} {β : Type u_1} (f : FABL.SignCube n → β) (i : Fin n) (x : FABL.SignCube n) : Prop
O'Donnell, Definition 2.12: coordinate `i` is pivotal for `f` at `x`.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/BooleanInfluence.leancomplete
theorem FABL.isPivotal_iff_setCoordinate_ne.{u_1} {n : ℕ} {β : Type u_1} (f : FABL.SignCube n → β) (i : Fin n) (x : FABL.SignCube n) : FABL.IsPivotal f i x ↔ f (FABL.setCoordinate x i 1) ≠ f (FABL.setCoordinate x i (-1))
theorem FABL.isPivotal_iff_setCoordinate_ne.{u_1} {n : ℕ} {β : Type u_1} (f : FABL.SignCube n → β) (i : Fin n) (x : FABL.SignCube n) : FABL.IsPivotal f i x ↔ f (FABL.setCoordinate x i 1) ≠ f (FABL.setCoordinate x i (-1))
Pivotality is equivalently disagreement between the two restrictions of one coordinate.
Definition 2.13. The influence of coordinate i on
f:\{-1,1\}^n\to\{-1,1\} is the probability that i is pivotal for a
uniformly random input:
\operatorname{Inf}_i[f]
=\Pr_{\boldsymbol{x}\sim\{-1,1\}^n}
[f(\boldsymbol{x})\ne f(\boldsymbol{x}^{\oplus i})].
Lean code for Definition2.2.2●1 definition
Associated Lean declarations
-
FABL.booleanInfluence[complete]
-
FABL.booleanInfluence[complete]
-
defdefined in FABL/Chapter02/InfluencesAndDerivatives/BooleanInfluence.leancomplete
def FABL.booleanInfluence {n : ℕ} (f : FABL.BooleanFunction n) (i : Fin n) : ℝ
def FABL.booleanInfluence {n : ℕ} (f : FABL.BooleanFunction n) (i : Fin n) : ℝ
O'Donnell, Definition 2.13: pivotal probability for a Boolean-valued function.
-
FABL.DimensionEdge[complete] -
FABL.IsBoundaryDimensionEdge[complete] -
FABL.dimensionEdgeBoundaryFraction[complete] -
FABL.booleanInfluence_eq_dimensionEdgeBoundaryFraction[complete]
Fact 2.14. For f:\{-1,1\}^n\to\{-1,1\},
\operatorname{Inf}_i[f] equals the fraction of dimension-i edges of the
Hamming cube that are boundary edges. An edge (x,y) has dimension i
when y=x^{\oplus i}, and it is a boundary edge when f(x)\ne f(y).
Lean code for Lemma2.2.3●4 declarations
Associated Lean declarations
-
FABL.DimensionEdge[complete]
-
FABL.IsBoundaryDimensionEdge[complete]
-
FABL.dimensionEdgeBoundaryFraction[complete]
-
FABL.booleanInfluence_eq_dimensionEdgeBoundaryFraction[complete]
-
FABL.DimensionEdge[complete] -
FABL.IsBoundaryDimensionEdge[complete] -
FABL.dimensionEdgeBoundaryFraction[complete] -
FABL.booleanInfluence_eq_dimensionEdgeBoundaryFraction[complete]
-
abbrevdefined in FABL/Chapter02/InfluencesAndDerivatives/BooleanInfluence.leancomplete
abbrev FABL.DimensionEdge {n : ℕ} (i : Fin n) : Type
abbrev FABL.DimensionEdge {n : ℕ} (i : Fin n) : Type
The canonical endpoint model for an undirected dimension-`i` edge: the endpoint whose `i`th coordinate is `+1`.
-
defdefined in FABL/Chapter02/InfluencesAndDerivatives/BooleanInfluence.leancomplete
def FABL.IsBoundaryDimensionEdge {n : ℕ} (f : FABL.BooleanFunction n) (i : Fin n) (e : FABL.DimensionEdge i) : Prop
def FABL.IsBoundaryDimensionEdge {n : ℕ} (f : FABL.BooleanFunction n) (i : Fin n) (e : FABL.DimensionEdge i) : Prop
Boundary status of the undirected dimension-`i` edge represented by its canonical endpoint.
-
defdefined in FABL/Chapter02/InfluencesAndDerivatives/BooleanInfluence.leancomplete
def FABL.dimensionEdgeBoundaryFraction {n : ℕ} (f : FABL.BooleanFunction n) (i : Fin n) : ℝ
def FABL.dimensionEdgeBoundaryFraction {n : ℕ} (f : FABL.BooleanFunction n) (i : Fin n) : ℝ
The fraction of undirected dimension-`i` edges crossing the boundary of a Boolean function.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/BooleanInfluence.leancomplete
theorem FABL.booleanInfluence_eq_dimensionEdgeBoundaryFraction {n : ℕ} (f : FABL.BooleanFunction n) (i : Fin n) : FABL.booleanInfluence f i = FABL.dimensionEdgeBoundaryFraction f i
theorem FABL.booleanInfluence_eq_dimensionEdgeBoundaryFraction {n : ℕ} (f : FABL.BooleanFunction n) (i : Fin n) : FABL.booleanInfluence f i = FABL.dimensionEdgeBoundaryFraction f i
O'Donnell, Fact 2.14: Boolean influence is exactly the fraction of undirected dimension-`i` edges which are boundary edges.
-
FABL.booleanInfluence_dictator_self[complete] -
FABL.booleanInfluence_dictator_of_ne[complete] -
FABL.booleanInfluence_neg_dictator[complete] -
FABL.booleanInfluence_const[complete] -
FABL.booleanInfluence_orFunction[complete] -
FABL.booleanInfluence_andFunction[complete] -
FABL.booleanInfluence_majority_three[complete] -
FABL.booleanInfluence_majority_odd[complete]
Example 2.15. For the dictator \chi_i, coordinate i is pivotal on
every input, so \operatorname{Inf}_i[\chi_i]=1; for j\ne i,
\operatorname{Inf}_j[\chi_i]=0. The same holds for the corresponding
negated dictator. Every coordinate of a constant function has influence
0, and for every i\in[n],
\operatorname{Inf}_i[\operatorname{OR}_n]=\operatorname{Inf}_i[\operatorname{AND}_n]=2^{1-n}.
For \operatorname{Maj}_3, each influence is 1/2. More generally, for
odd n,
\operatorname{Inf}_i[\operatorname{Maj}_n]
=\Pr[\text{exactly half of }n-1\text{ independent random bits are }1]
=\binom{n-1}{(n-1)/2}2^{1-n}
=\sqrt{\frac{2}{\pi n}}+O(n^{-3/2}).
Lean code for Lemma2.2.4●8 theorems
Associated Lean declarations
-
FABL.booleanInfluence_dictator_self[complete]
-
FABL.booleanInfluence_dictator_of_ne[complete]
-
FABL.booleanInfluence_neg_dictator[complete]
-
FABL.booleanInfluence_const[complete]
-
FABL.booleanInfluence_orFunction[complete]
-
FABL.booleanInfluence_andFunction[complete]
-
FABL.booleanInfluence_majority_three[complete]
-
FABL.booleanInfluence_majority_odd[complete]
-
FABL.booleanInfluence_dictator_self[complete] -
FABL.booleanInfluence_dictator_of_ne[complete] -
FABL.booleanInfluence_neg_dictator[complete] -
FABL.booleanInfluence_const[complete] -
FABL.booleanInfluence_orFunction[complete] -
FABL.booleanInfluence_andFunction[complete] -
FABL.booleanInfluence_majority_three[complete] -
FABL.booleanInfluence_majority_odd[complete]
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/BooleanInfluence.leancomplete
theorem FABL.booleanInfluence_dictator_self {n : ℕ} (i : Fin n) : FABL.booleanInfluence (FABL.dictator i) i = 1
theorem FABL.booleanInfluence_dictator_self {n : ℕ} (i : Fin n) : FABL.booleanInfluence (FABL.dictator i) i = 1
O'Donnell, Example 2.15: the dictated coordinate has influence one.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/BooleanInfluence.leancomplete
theorem FABL.booleanInfluence_dictator_of_ne {n : ℕ} (i j : Fin n) (hji : j ≠ i) : FABL.booleanInfluence (FABL.dictator i) j = 0
theorem FABL.booleanInfluence_dictator_of_ne {n : ℕ} (i j : Fin n) (hji : j ≠ i) : FABL.booleanInfluence (FABL.dictator i) j = 0
O'Donnell, Example 2.15: every other coordinate has influence zero on a dictator.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/BooleanInfluence.leancomplete
theorem FABL.booleanInfluence_neg_dictator {n : ℕ} (i j : Fin n) : FABL.booleanInfluence (fun x => -FABL.dictator i x) j = if j = i then 1 else 0
theorem FABL.booleanInfluence_neg_dictator {n : ℕ} (i j : Fin n) : FABL.booleanInfluence (fun x => -FABL.dictator i x) j = if j = i then 1 else 0
O'Donnell, Example 2.15: a negated dictator has the same exact influence profile as a dictator.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/BooleanInfluence.leancomplete
theorem FABL.booleanInfluence_const {n : ℕ} (c : FABL.Sign) (i : Fin n) : FABL.booleanInfluence (fun x => c) i = 0
theorem FABL.booleanInfluence_const {n : ℕ} (c : FABL.Sign) (i : Fin n) : FABL.booleanInfluence (fun x => c) i = 0
O'Donnell, Example 2.15: every coordinate influence of a constant function is zero.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/BooleanInfluence.leancomplete
theorem FABL.booleanInfluence_orFunction {n : ℕ} (i : Fin n) : FABL.booleanInfluence (FABL.orFunction n) i = 1 / 2 ^ (n - 1)
theorem FABL.booleanInfluence_orFunction {n : ℕ} (i : Fin n) : FABL.booleanInfluence (FABL.orFunction n) i = 1 / 2 ^ (n - 1)
O'Donnell, Example 2.15: every coordinate of `ORₙ` has influence `2^(1-n)`.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/BooleanInfluence.leancomplete
theorem FABL.booleanInfluence_andFunction {n : ℕ} (i : Fin n) : FABL.booleanInfluence (FABL.andFunction n) i = 1 / 2 ^ (n - 1)
theorem FABL.booleanInfluence_andFunction {n : ℕ} (i : Fin n) : FABL.booleanInfluence (FABL.andFunction n) i = 1 / 2 ^ (n - 1)
O'Donnell, Example 2.15: every coordinate of `ANDₙ` has influence `2^(1-n)`.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/BooleanInfluence.leancomplete
theorem FABL.booleanInfluence_majority_three (i : Fin 3) : FABL.booleanInfluence (FABL.majority 3) i = 1 / 2
theorem FABL.booleanInfluence_majority_three (i : Fin 3) : FABL.booleanInfluence (FABL.majority 3) i = 1 / 2
O'Donnell, Example 2.15: every coordinate of three-bit majority has influence `1/2`.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/BooleanInfluence.leancomplete
theorem FABL.booleanInfluence_majority_odd (m : ℕ) (i : Fin (2 * m + 1)) : FABL.booleanInfluence (FABL.majority (2 * m + 1)) i = ↑((2 * m).choose m) / 2 ^ (2 * m)
theorem FABL.booleanInfluence_majority_odd (m : ℕ) (i : Fin (2 * m + 1)) : FABL.booleanInfluence (FABL.majority (2 * m + 1)) i = ↑((2 * m).choose m) / 2 ^ (2 * m)
O'Donnell, Example 2.15 and Exercise 2.22(a): the exact influence of every coordinate of odd-arity majority.
-
FABL.discreteDerivative[complete] -
FABL.discreteDerivative_apply[complete] -
FABL.discreteDerivative_add[complete] -
FABL.discreteDerivative_setCoordinate[complete]
Definition 2.16. The ith discrete derivative operator sends
f:\{-1,1\}^n\to\mathbb R to the function
D_i f(x)
=\frac{f(x^{(i\mapsto1)})-f(x^{(i\mapsto-1)})}{2},
where
x^{(i\mapsto b)}=(x_1,\ldots,x_{i-1},b,x_{i+1},\ldots,x_n).
The function D_i f does not depend on x_i, and D_i is linear:
D_i(f+g)=D_i f+D_i g.
Lean code for Definition2.2.5●4 declarations
Associated Lean declarations
-
FABL.discreteDerivative[complete]
-
FABL.discreteDerivative_apply[complete]
-
FABL.discreteDerivative_add[complete]
-
FABL.discreteDerivative_setCoordinate[complete]
-
FABL.discreteDerivative[complete] -
FABL.discreteDerivative_apply[complete] -
FABL.discreteDerivative_add[complete] -
FABL.discreteDerivative_setCoordinate[complete]
-
defdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
def FABL.discreteDerivative {n : ℕ} (i : Fin n) : (FABL.SignCube n → ℝ) →ₗ[ℝ] FABL.SignCube n → ℝ
def FABL.discreteDerivative {n : ℕ} (i : Fin n) : (FABL.SignCube n → ℝ) →ₗ[ℝ] FABL.SignCube n → ℝ
O'Donnell, Definition 2.16: the `i`th discrete derivative, as an `ℝ`-linear map.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.discreteDerivative_apply {n : ℕ} (i : Fin n) (f : FABL.SignCube n → ℝ) (x : FABL.SignCube n) : (FABL.discreteDerivative i) f x = (f (FABL.setCoordinate x i 1) - f (FABL.setCoordinate x i (-1))) / 2
theorem FABL.discreteDerivative_apply {n : ℕ} (i : Fin n) (f : FABL.SignCube n → ℝ) (x : FABL.SignCube n) : (FABL.discreteDerivative i) f x = (f (FABL.setCoordinate x i 1) - f (FABL.setCoordinate x i (-1))) / 2
The pointwise formula defining O'Donnell's discrete derivative.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.discreteDerivative_add {n : ℕ} (i : Fin n) (f g : FABL.SignCube n → ℝ) : (FABL.discreteDerivative i) (f + g) = (FABL.discreteDerivative i) f + (FABL.discreteDerivative i) g
theorem FABL.discreteDerivative_add {n : ℕ} (i : Fin n) (f g : FABL.SignCube n → ℝ) : (FABL.discreteDerivative i) (f + g) = (FABL.discreteDerivative i) f + (FABL.discreteDerivative i) g
O'Donnell, Definition 2.16: the discrete derivative is additive.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.discreteDerivative_setCoordinate {n : ℕ} (i : Fin n) (f : FABL.SignCube n → ℝ) (x : FABL.SignCube n) (b : FABL.Sign) : (FABL.discreteDerivative i) f (FABL.setCoordinate x i b) = (FABL.discreteDerivative i) f x
theorem FABL.discreteDerivative_setCoordinate {n : ℕ} (i : Fin n) (f : FABL.SignCube n → ℝ) (x : FABL.SignCube n) (b : FABL.Sign) : (FABL.discreteDerivative i) f (FABL.setCoordinate x i b) = (FABL.discreteDerivative i) f x
O'Donnell, Definition 2.16: `D_i f` does not depend on coordinate `i`.
-
FABL.pivotalIndicator[complete] -
FABL.sq_discreteDerivative_toReal_eq_pivotalIndicator[complete]
Equation (2.1). If f:\{-1,1\}^n\to\{-1,1\} is Boolean-valued, then
D_i f(x)=
\begin{cases}
0 & \text{if coordinate }i\text{ is not pivotal for }f\text{ on }x,\\
\pm1 & \text{if coordinate }i\text{ is pivotal for }f\text{ on }x.
\end{cases}
Consequently, D_i f(x)^2 is the indicator that i is pivotal at x.
Lean code for Lemma2.2.6●2 declarations
Associated Lean declarations
-
FABL.pivotalIndicator[complete]
-
FABL.sq_discreteDerivative_toReal_eq_pivotalIndicator[complete]
-
FABL.pivotalIndicator[complete] -
FABL.sq_discreteDerivative_toReal_eq_pivotalIndicator[complete]
-
defdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
def FABL.pivotalIndicator {n : ℕ} (f : FABL.BooleanFunction n) (i : Fin n) (x : FABL.SignCube n) : ℝ
def FABL.pivotalIndicator {n : ℕ} (f : FABL.BooleanFunction n) (i : Fin n) (x : FABL.SignCube n) : ℝ
The real-valued indicator that coordinate `i` is pivotal for `f` at `x`.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.sq_discreteDerivative_toReal_eq_pivotalIndicator {n : ℕ} (f : FABL.BooleanFunction n) (i : Fin n) (x : FABL.SignCube n) : (FABL.discreteDerivative i) f.toReal x ^ 2 = FABL.pivotalIndicator f i x
theorem FABL.sq_discreteDerivative_toReal_eq_pivotalIndicator {n : ℕ} (f : FABL.BooleanFunction n) (i : Fin n) (x : FABL.SignCube n) : (FABL.discreteDerivative i) f.toReal x ^ 2 = FABL.pivotalIndicator f i x
O'Donnell, Equation (2.1): the squared derivative of a Boolean function is the pivotality indicator.
-
FABL.influence[complete] -
FABL.booleanInfluence_eq_influence_toReal[complete]
Definition 2.17. For f:\{-1,1\}^n\to\mathbb R, the influence of
coordinate i is
\operatorname{Inf}_i[f]
=\mathbb E_{\boldsymbol{x}\sim\{-1,1\}^n}
[D_i f(\boldsymbol{x})^2]
=\lVert D_i f\rVert_2^2.
For Boolean-valued f, this agrees with Definition 2.13.
Lean code for Definition2.2.7●2 declarations
Associated Lean declarations
-
FABL.influence[complete]
-
FABL.booleanInfluence_eq_influence_toReal[complete]
-
FABL.influence[complete] -
FABL.booleanInfluence_eq_influence_toReal[complete]
-
defdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
def FABL.influence {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) : ℝ
def FABL.influence {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) : ℝ
O'Donnell, Definition 2.17: the real-valued influence `Inf_i[f] = 𝔼[(D_i f)²]`.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.booleanInfluence_eq_influence_toReal {n : ℕ} (f : FABL.BooleanFunction n) (i : Fin n) : FABL.booleanInfluence f i = FABL.influence f.toReal i
theorem FABL.booleanInfluence_eq_influence_toReal {n : ℕ} (f : FABL.BooleanFunction n) (i : Fin n) : FABL.booleanInfluence f i = FABL.influence f.toReal i
O'Donnell, Definitions 2.13 and 2.17 agree on Boolean-valued functions.
-
FABL.IsRelevant[complete] -
FABL.isRelevant_iff_exists_setCoordinate_ne[complete]
Definition 2.18. A coordinate i\in[n] is relevant for
f:\{-1,1\}^n\to\mathbb R if and only if
\operatorname{Inf}_i[f]>0; equivalently, there is an
x\in\{-1,1\}^n such that
f(x^{(i\mapsto1)})\ne f(x^{(i\mapsto-1)}).
Lean code for Definition2.2.8●2 declarations
Associated Lean declarations
-
FABL.IsRelevant[complete]
-
FABL.isRelevant_iff_exists_setCoordinate_ne[complete]
-
FABL.IsRelevant[complete] -
FABL.isRelevant_iff_exists_setCoordinate_ne[complete]
-
defdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
def FABL.IsRelevant {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) : Prop
def FABL.IsRelevant {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) : Prop
O'Donnell, Definition 2.18: coordinate `i` is relevant when its influence is positive.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.isRelevant_iff_exists_setCoordinate_ne {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) : FABL.IsRelevant f i ↔ ∃ x, f (FABL.setCoordinate x i 1) ≠ f (FABL.setCoordinate x i (-1))
theorem FABL.isRelevant_iff_exists_setCoordinate_ne {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) : FABL.IsRelevant f i ↔ ∃ x, f (FABL.setCoordinate x i 1) ≠ f (FABL.setCoordinate x i (-1))
O'Donnell, Definition 2.18: relevance is equivalent to disagreement between the two coordinate restrictions.
-
FABL.discreteDerivative_eq_fourier_sum[complete]
Proposition 2.19. Let f:\{-1,1\}^n\to\mathbb R have multilinear
expansion f(x)=\sum_{S\subseteq[n]}\widehat f(S)x^S. Then
D_i f(x)
=\sum_{\substack{S\subseteq[n]\\i\in S}}
\widehat f(S)x^{S\setminus\{i\}}. \tag{2.2}
Lean code for Proposition2.2.9●1 theorem
Associated Lean declarations
-
FABL.discreteDerivative_eq_fourier_sum[complete]
-
FABL.discreteDerivative_eq_fourier_sum[complete]
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.discreteDerivative_eq_fourier_sum {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) (x : FABL.SignCube n) : (FABL.discreteDerivative i) f x = ∑ S with i ∈ S, FABL.fourierCoeff f S * FABL.monomial (S.erase i) x
theorem FABL.discreteDerivative_eq_fourier_sum {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) (x : FABL.SignCube n) : (FABL.discreteDerivative i) f x = ∑ S with i ∈ S, FABL.fourierCoeff f S * FABL.monomial (S.erase i) x
O'Donnell, Proposition 2.19, Equation (2.2): the Fourier expansion of a discrete derivative.
-
FABL.influence_eq_sum_sq_fourierCoeff[complete]
Theorem 2.20. For every f:\{-1,1\}^n\to\mathbb R and i\in[n],
\operatorname{Inf}_i[f]
=\sum_{\substack{S\subseteq[n]\\i\in S}}\widehat f(S)^2.
Lean code for Theorem2.2.10●1 theorem
Associated Lean declarations
-
FABL.influence_eq_sum_sq_fourierCoeff[complete]
-
FABL.influence_eq_sum_sq_fourierCoeff[complete]
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.influence_eq_sum_sq_fourierCoeff {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) : FABL.influence f i = ∑ S with i ∈ S, FABL.fourierCoeff f S ^ 2
theorem FABL.influence_eq_sum_sq_fourierCoeff {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) : FABL.influence f i = ∑ S with i ∈ S, FABL.fourierCoeff f S ^ 2
O'Donnell, Theorem 2.20: influence is the Fourier weight on subsets containing coordinate `i`.
Proposition 2.21. If f:\{-1,1\}^n\to\{-1,1\} is monotone, then
\operatorname{Inf}_i[f]=\widehat f(i) for every i\in[n], where
\widehat f(i) abbreviates
\widehat f(\{i\}).
Lean code for Proposition2.2.11●1 theorem
Associated Lean declarations
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.influence_eq_fourierCoeff_singleton_of_monotone {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (i : Fin n) : FABL.influence f.toReal i = FABL.fourierCoeff f.toReal {i}
theorem FABL.influence_eq_fourierCoeff_singleton_of_monotone {n : ℕ} (f : FABL.BooleanFunction n) (hf : Monotone f) (i : Fin n) : FABL.influence f.toReal i = FABL.fourierCoeff f.toReal {i}
O'Donnell, Proposition 2.21: for a monotone Boolean function, coordinate influence is its singleton Fourier coefficient.
Proposition 2.22. If
f:\{-1,1\}^n\to\{-1,1\} is transitive-symmetric and monotone, then
\operatorname{Inf}_i[f]\le\frac1{\sqrt n} for every i\in[n].
Lean code for Proposition2.2.12●1 theorem
Associated Lean declarations
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.influence_le_one_div_sqrt_of_transitiveSymmetric_monotone {n : ℕ} (f : FABL.BooleanFunction n) (hsymm : FABL.IsTransitiveSymmetric f) (hf : Monotone f) (i : Fin n) : FABL.influence f.toReal i ≤ 1 / √↑n
theorem FABL.influence_le_one_div_sqrt_of_transitiveSymmetric_monotone {n : ℕ} (f : FABL.BooleanFunction n) (hsymm : FABL.IsTransitiveSymmetric f) (hf : Monotone f) (i : Fin n) : FABL.influence f.toReal i ≤ 1 / √↑n
O'Donnell, Proposition 2.22: every coordinate of a transitive-symmetric monotone Boolean function has influence at most `1 / √n`.
Definition 2.23. The ith expectation operator is the linear operator on
f:\{-1,1\}^n\to\mathbb R defined by
E_i f(x)
=\mathbb E_{\boldsymbol{x}_i}
[f(x_1,\ldots,x_{i-1},\boldsymbol{x}_i,x_{i+1},\ldots,x_n)],
where \boldsymbol{x}_i is uniform on \{-1,1\}.
Lean code for Definition2.2.13●1 definition
Associated Lean declarations
-
FABL.coordinateExpectation[complete]
-
FABL.coordinateExpectation[complete]
-
defdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
def FABL.coordinateExpectation {n : ℕ} (i : Fin n) : (FABL.SignCube n → ℝ) →ₗ[ℝ] FABL.SignCube n → ℝ
def FABL.coordinateExpectation {n : ℕ} (i : Fin n) : (FABL.SignCube n → ℝ) →ₗ[ℝ] FABL.SignCube n → ℝ
O'Donnell, Definition 2.23: average over coordinate `i`, as an `ℝ`-linear map.
Proposition 2.24. For every f:\{-1,1\}^n\to\mathbb R,
\begin{aligned}
E_i f(x)&=\frac{f(x^{(i\mapsto1)})+f(x^{(i\mapsto-1)})}{2},\\
E_i f(x)&=\sum_{\substack{S\subseteq[n]\\i\notin S}}\widehat f(S)x^S,\\
f(x)&=x_iD_i f(x)+E_i f(x).
\end{aligned}
Neither D_i f nor E_i f depends on x_i.
Lean code for Proposition2.2.14●4 theorems
Associated Lean declarations
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.coordinateExpectation_apply {n : ℕ} (i : Fin n) (f : FABL.SignCube n → ℝ) (x : FABL.SignCube n) : (FABL.coordinateExpectation i) f x = (f (FABL.setCoordinate x i 1) + f (FABL.setCoordinate x i (-1))) / 2
theorem FABL.coordinateExpectation_apply {n : ℕ} (i : Fin n) (f : FABL.SignCube n → ℝ) (x : FABL.SignCube n) : (FABL.coordinateExpectation i) f x = (f (FABL.setCoordinate x i 1) + f (FABL.setCoordinate x i (-1))) / 2
O'Donnell, Proposition 2.24: the coordinate expectation is the average of the two coordinate restrictions.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.coordinateExpectation_eq_fourier_sum {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) (x : FABL.SignCube n) : (FABL.coordinateExpectation i) f x = ∑ S with i ∉ S, FABL.fourierCoeff f S * FABL.monomial S x
theorem FABL.coordinateExpectation_eq_fourier_sum {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) (x : FABL.SignCube n) : (FABL.coordinateExpectation i) f x = ∑ S with i ∉ S, FABL.fourierCoeff f S * FABL.monomial S x
O'Donnell, Proposition 2.24: the Fourier expansion of the coordinate expectation.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.eq_signValue_mul_discreteDerivative_add_coordinateExpectation {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) (x : FABL.SignCube n) : f x = FABL.signValue (x i) * (FABL.discreteDerivative i) f x + (FABL.coordinateExpectation i) f x
theorem FABL.eq_signValue_mul_discreteDerivative_add_coordinateExpectation {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) (x : FABL.SignCube n) : f x = FABL.signValue (x i) * (FABL.discreteDerivative i) f x + (FABL.coordinateExpectation i) f x
O'Donnell, Proposition 2.24: `f = x_i D_i f + E_i f` pointwise.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.coordinateExpectation_setCoordinate {n : ℕ} (i : Fin n) (f : FABL.SignCube n → ℝ) (x : FABL.SignCube n) (b : FABL.Sign) : (FABL.coordinateExpectation i) f (FABL.setCoordinate x i b) = (FABL.coordinateExpectation i) f x
theorem FABL.coordinateExpectation_setCoordinate {n : ℕ} (i : Fin n) (f : FABL.SignCube n → ℝ) (x : FABL.SignCube n) (b : FABL.Sign) : (FABL.coordinateExpectation i) f (FABL.setCoordinate x i b) = (FABL.coordinateExpectation i) f x
O'Donnell, Proposition 2.24: `E_i f` does not depend on coordinate `i`.
Definition 2.25. The ith coordinate Laplacian is L_i f=f-E_i f.
The book warns that some sources use the negated convention
E_i f-f.
Lean code for Definition2.2.15●1 definition
Associated Lean declarations
-
FABL.coordinateLaplacian[complete]
-
FABL.coordinateLaplacian[complete]
-
defdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
def FABL.coordinateLaplacian {n : ℕ} (i : Fin n) : (FABL.SignCube n → ℝ) →ₗ[ℝ] FABL.SignCube n → ℝ
def FABL.coordinateLaplacian {n : ℕ} (i : Fin n) : (FABL.SignCube n → ℝ) →ₗ[ℝ] FABL.SignCube n → ℝ
O'Donnell, Definition 2.25: the coordinate Laplacian `L_i = I - E_i`.
-
FABL.coordinateLaplacian_eq_sub_flip_div_two[complete] -
FABL.coordinateLaplacian_eq_signValue_mul_discreteDerivative[complete] -
FABL.coordinateLaplacian_eq_fourier_sum[complete] -
FABL.uniformInner_coordinateLaplacian_eq_influence[complete] -
FABL.uniformInner_coordinateLaplacian_self_eq_influence[complete]
Proposition 2.26. For every f:\{-1,1\}^n\to\mathbb R,
\begin{aligned}
L_i f(x)&=\frac{f(x)-f(x^{\oplus i})}{2},\\
L_i f(x)&=x_iD_i f(x)
=\sum_{\substack{S\subseteq[n]\\i\in S}}\widehat f(S)x^S,\\
\langle f,L_i f\rangle&=\langle L_i f,L_i f\rangle
=\operatorname{Inf}_i[f].
\end{aligned}
Lean code for Proposition2.2.16●5 theorems
Associated Lean declarations
-
FABL.coordinateLaplacian_eq_sub_flip_div_two[complete]
-
FABL.coordinateLaplacian_eq_signValue_mul_discreteDerivative[complete]
-
FABL.coordinateLaplacian_eq_fourier_sum[complete]
-
FABL.uniformInner_coordinateLaplacian_eq_influence[complete]
-
FABL.uniformInner_coordinateLaplacian_self_eq_influence[complete]
-
FABL.coordinateLaplacian_eq_sub_flip_div_two[complete] -
FABL.coordinateLaplacian_eq_signValue_mul_discreteDerivative[complete] -
FABL.coordinateLaplacian_eq_fourier_sum[complete] -
FABL.uniformInner_coordinateLaplacian_eq_influence[complete] -
FABL.uniformInner_coordinateLaplacian_self_eq_influence[complete]
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.coordinateLaplacian_eq_sub_flip_div_two {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) (x : FABL.SignCube n) : (FABL.coordinateLaplacian i) f x = (f x - f (FABL.flipCoordinate x i)) / 2
theorem FABL.coordinateLaplacian_eq_sub_flip_div_two {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) (x : FABL.SignCube n) : (FABL.coordinateLaplacian i) f x = (f x - f (FABL.flipCoordinate x i)) / 2
O'Donnell, Proposition 2.26: the coordinate Laplacian is half the difference across the dimension-`i` edge.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.coordinateLaplacian_eq_signValue_mul_discreteDerivative {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) (x : FABL.SignCube n) : (FABL.coordinateLaplacian i) f x = FABL.signValue (x i) * (FABL.discreteDerivative i) f x
theorem FABL.coordinateLaplacian_eq_signValue_mul_discreteDerivative {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) (x : FABL.SignCube n) : (FABL.coordinateLaplacian i) f x = FABL.signValue (x i) * (FABL.discreteDerivative i) f x
O'Donnell, Proposition 2.26: the coordinate Laplacian is `x_i D_i f`.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.coordinateLaplacian_eq_fourier_sum {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) (x : FABL.SignCube n) : (FABL.coordinateLaplacian i) f x = ∑ S with i ∈ S, FABL.fourierCoeff f S * FABL.monomial S x
theorem FABL.coordinateLaplacian_eq_fourier_sum {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) (x : FABL.SignCube n) : (FABL.coordinateLaplacian i) f x = ∑ S with i ∈ S, FABL.fourierCoeff f S * FABL.monomial S x
O'Donnell, Proposition 2.26: the coordinate Laplacian retains exactly the Fourier terms containing coordinate `i`.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.uniformInner_coordinateLaplacian_eq_influence {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) : FABL.uniformInner f ((FABL.coordinateLaplacian i) f) = FABL.influence f i
theorem FABL.uniformInner_coordinateLaplacian_eq_influence {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) : FABL.uniformInner f ((FABL.coordinateLaplacian i) f) = FABL.influence f i
O'Donnell, Proposition 2.26: pairing a function with its coordinate Laplacian gives the coordinate influence.
-
theoremdefined in FABL/Chapter02/InfluencesAndDerivatives/DiscreteDerivatives.leancomplete
theorem FABL.uniformInner_coordinateLaplacian_self_eq_influence {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) : FABL.uniformInner ((FABL.coordinateLaplacian i) f) ((FABL.coordinateLaplacian i) f) = FABL.influence f i
theorem FABL.uniformInner_coordinateLaplacian_self_eq_influence {n : ℕ} (f : FABL.SignCube n → ℝ) (i : Fin n) : FABL.uniformInner ((FABL.coordinateLaplacian i) f) ((FABL.coordinateLaplacian i) f) = FABL.influence f i
O'Donnell, Proposition 2.26: the Laplacian's normalized squared norm is the coordinate influence.