Edge expansion from the spectral bound #
Dinur's degree-reduction step needs expansion in its combinatorial form: a
vertex set with few outgoing edges must be almost everything or almost nothing.
This module derives that from Mixing by feeding it indicator functions.
Specialising mixing_sq to 1_S and 1_T says that the number of darts from
S to T is what independence predicts, deg · |S| · |T| / n, up to
lam times the two variances. Taking T = Sᶜ, both variances equal
|S| |Sᶜ| / n, so the error term's square root is rational in the data and no
Real.sqrt is needed: the number of darts leaving S is at least
(1 - lam) · deg · |S| |Sᶜ| / n.
That is exactly the statement degree reduction consumes: inside a cloud built on an expander, the vertices disagreeing with the cloud's plurality label send out proportionally many edges, each of which is an unsatisfied equality constraint.
Main definitions #
RegGraph.dartsBetween— the darts from one vertex set to another
Main results #
RegGraph.sum_indicator_mul_step— the dart count as an operator inner productRegGraph.mixing_sq_indicator— the mixing lemma for vertex setsRegGraph.card_dartsBetween_compl_ge— edge expansion: a set sends out at least(1 - lam) · deg · |S| |Sᶜ| / ndarts
The mixing lemma for vertex sets.
Edge expansion. A vertex set sends out at least
(1 - lam) · deg · |S| · |Sᶜ| / n darts.