Note.Basics of Boolean Functions [boolean/basics]
2026-08-20
Note.Basics of Boolean Functions [boolean/basics]
Background [#]
Background [#]
Here are the basics of Boolean functions. The standard reference is O’Donnell, and one should generally start there. This will contain mostly the things I look up myself too often, which is not necessarily the best way for someone else to learn.
Boolean Functions [#]
Boolean Functions [#]
The object of study here are Boolean functions.
Definition.Boolean Function [boolean/def/boolean-function]
2026-08-17
Definition.Boolean Function [boolean/def/boolean-function]
A Boolean function is a function
Though we tend to relax the codomain and simply consider functions from the Boolean cube
(and call the first type Boolean-valued functions).
We can make this work with any set of 2 things. Other natural choices are , , or the two elements of the field (which makes the domain ).
Every Boolean function has a canonical expansion in the parity basis, which gives rise to most of the tools we have.
Theorem.Fourier Expansion [boolean/thm/fourier-exp]
2026-08-26
Theorem.Fourier Expansion [boolean/thm/fourier-exp]
Every Boolean function can be written uniquely as a multilinear polynomial in the functions
where is the Fourier coefficient of on .
The are called parity functions. Where exactly when an odd number of the bits are . Importantly, they form a basis of the -dimensional vector space of functions .
The Inner Product, Plancherel, and Parseval [#]
The Inner Product, Plancherel, and Parseval [#]
Definition.Expectation Inner Product [boolean/def/expec-ip]
2026-08-26
Definition.Expectation Inner Product [boolean/def/expec-ip]
For we define the Expectation Inner Product to be
where is drawn uniformly at random from the cube. We write .
We will generally use the expectation inner product by default, and so we will assume w/r/t boolean functions unless otherwise noted.
We do this because the expectation inner product plays very nicely with the character functions. The whole subject rests on one fact: under this inner product the parities are orthonormal.
Lemma.Orthonormality of the characters [#]
Lemma.Orthonormality of the characters [#]
For all ,
Proof. [#]
Proof. [#]
Since for every coordinate,
where is the symmetric difference. So it suffices to compute for .
If then , so the expectation is .
Otherwise, since the coordinates are independent and uniform on ,
Taking , which is empty exactly when , gives the claim.
Warning.The standard inner product isn't normalized [#]
Warning.The standard inner product isn't normalized [#]
Definition. [#]
Definition. [#]
The standard inner product on functions is
This differs from the expectation inner product by exactly the constant :
The characters are still orthogonal under it but they are not orthonormal: . Averaging instead of summing is exactly what fixes the norm.
Orthonormality identifies the Fourier coefficients as the coordinates of in this basis, and yields the two workhorse identities of the theory.
Fourier coefficients are just inner products against the characters, so Plancherel’s theorem is immediate from their orthonormality.
Theorem.Plancherel's Theorem [boolean/thm/plancherel]
2026-08-26
Theorem.Plancherel's Theorem [boolean/thm/plancherel]
For all ,
Note that taking recovers Parseval’s identity.
Proof. [#]
Proof. [#]
Expand both functions in the Fourier basis and apply orthonormality of the characters (see the expectation inner product):
Specializing to gives Parseval: the squared Fourier coefficients of a Boolean function form a probability distribution.
Theorem.Parseval's Theorem [boolean/thm/parseval]
2026-08-26
Theorem.Parseval's Theorem [boolean/thm/parseval]
For all ,
If is Boolean-valued then everywhere, so : the squared coefficients of a -valued function form a probability distribution over subsets .
“Probabilistic” Boolean Formulas [#]
“Probabilistic” Boolean Formulas [#]
We can relate the coefficients of the Fourier expansion to properties of the function. Thinking of as a real-valued random variable, two important definitions are the mean and variance.
Definition.Mean [boolean/def/mean]
2026-08-27
Definition.Mean [boolean/def/mean]
The mean of a function is ; i.e.,
the average value of .
In particular, when we have a Boolean-valued function , then
If has a mean of , we call unbiased or balanced.
Definition.Variance [boolean/def/var]
2026-08-27
Definition.Variance [boolean/def/var]
The variance of a function is
Note. [#]
Note. [#]
For ,
By Parseval, , and by the Fourier coefficient of the mean, . Subtracting leaves the sum over nonempty .
To match variance, we may also define covariance.
Definition.Covariance [boolean/def/covar]
2026-08-27
Definition.Covariance [boolean/def/covar]
The covariance of is
Note. [#]
Note. [#]
For ,
By Plancherel, , and by the Fourier coefficient of the mean, . Subtracting leaves the sum over nonempty .
Fourier Weight Distribution [#]
Fourier Weight Distribution [#]
Something that comes up (surprisingly?) often is considering distributions on /the Boolean cube. For this one we consider the weight of of a function.
Definition.Fourier weight [boolean/def/weight]
2026-08-27
Definition.Fourier weight [boolean/def/weight]
The (Fourier) weight of a Boolean function on the set is the squared Fourier coefficient, .
Using the weight of a function, we may consider the following distribution.
Definition.Spectral Sample [boolean/def/spec-sample]
2026-08-27
Definition.Spectral Sample [boolean/def/spec-sample]
For , the spectral sample for , notated , is the probability distribution on subsets of in which .
We write for a set drawn from this distribution.
We do sometimes want to consider the weight on (or up to) a certain degree of the function.
Definition.Weight at Degree [boolean/def/weight-at-deg]
2026-08-27
Definition.Weight at Degree [boolean/def/weight-at-deg]
For and , the (Fourier) weight of at degree is
By Parseval's Theorem, we have , where
is the degree part of .
If is Boolean-valued, then equivalently we have
Analogously, the weight below degree and weight at or above degree are
As before, these are and , where is the low-degree part of (below ) and is its high-degree part (from on).
In particular , which is when is Boolean-valued.
Influences [#]
Influences [#]
A general question we then may ask is how much the th bit affects the outcome of the function, which we call the influence of coordinate . A natural way to tackle this is to see how much the function changes (on average) when we toggle a bit. This leads us to a discrete version of the derivative.
Definition.(Discrete) Derivative [boolean/def/derivative]
2026-09-08
Definition.(Discrete) Derivative [boolean/def/derivative]
For and a coordinate , the (discrete) derivative of in direction is
where is with its th coordinate set to .
Proposition.Fourier Formula of the Derivative [#]
Proposition.Fourier Formula of the Derivative [#]
For with expansion , the th derivative of is given by
Now we can define the influence of a coordinate.
Definition.Influence [boolean/def/influence]
2026-09-03
Definition.Influence [boolean/def/influence]
For a Boolean-valued function , the influence of coordinate on is the probability that flipping the th bit changes the output of ;
where
Using the (discrete) derivative operator, we may generalize the definition of influence to general real-valued Boolean functions. For , the influence of coordinate on is defined to be
Note. [#]
Note. [#]
Note that for ,
This means is a 0–1 indicator vector for if is influential for a given , and so
the right-hand side of which we simply take to be the definition in the real-valued case.
Summing influence over every coordinate gives a single number measuring how sensitive is overall.
Definition.Total Influence [boolean/def/total-inf]
2026-09-08
Definition.Total Influence [boolean/def/total-inf]
The total influence of a function is the sum of its influences over every coordinate,
As is often the case, when we restrict our codomain to functions we get a few extra properties. First though, we define the sensitivity of a function at a point .
Definition.Sensitivity [boolean/def/sensitivity]
Definition.Sensitivity [boolean/def/sensitivity]
The sensitivity of at is defined as the number of pivotal coordinates of a given input for function ; i.e.,
This allows us to state the fact that, for Boolean-valued functions, total influence is the average sensitivity of .
Proposition.Influence is Average Sensitivity [#]
Proposition.Influence is Average Sensitivity [#]
For we have