Disagreement across an expander #
The counting fact that makes Dinur's clouds work. A cloud is wired by an
expander and carries equality constraints, so an assignment that is not constant
on the cloud must break many of them. Quantitatively: if f labels the vertices
of an expander and S is the set of vertices whose label differs from some
fixed value c, then at least (1 - lam) · deg · |S| · |Sᶜ| / n darts join two
vertices with different labels — because every dart from S to Sᶜ does, and
EdgeExpansion counts those.
Taking c to be a plurality value of f — which by pigeonhole is held by at
least a 1 / |α| fraction of the vertices — turns this into
(1 - lam) · deg · |S| / |α| ≤ #disagreeing darts,
a bound linear in the number of deviant vertices, with a constant depending only on the expander and the alphabet. That is exactly the exchange rate degree reduction needs: each vertex that lies about its cloud's value pays for itself in broken equality constraints.
Main definitions #
RegGraph.disagreeDarts— the darts whose two ends carry different labels
Main results #
exists_plurality_value— pigeonhole: some value is heldn / |α|oftenRegGraph.card_disagreeDarts_ge— disagreement is at least the edge boundaryRegGraph.card_disagreeDarts_ge_of_plurality— the form used by clouds
Pigeonhole. Some value is taken by at least a 1 / |α| fraction.
Disagreement is at least the edge boundary. Every dart leaving the set
of vertices that differ from c joins two differently-labelled vertices.
The form the cloud argument uses: with c a plurality value, the number of
disagreeing darts is proportional to the number of deviant vertices.