  We prove a lower bound on the space complexity of two-pass semi-streaming
algorithms that approximate the maximum matching problem. The lower bound is
parameterized by the density of Ruzsa-Szemeredi graphs:
  * Any two-pass semi-streaming algorithm for maximum matching has
approximation ratio at least $(1- \Omega(\frac{\log{RS(n)}}{\log{n}}))$, where
$RS(n)$ denotes the maximum number of induced matchings of size $\Theta(n)$ in
any $n$-vertex graph, i.e., the largest density of a Ruzsa-Szemeredi graph.
  Currently, it is known that $n^{\Omega(1/\!\log\log{n})} \leq RS(n) \leq
\frac{n}{2^{O(\log^*{\!(n)})}}$ and closing this (large) gap between upper and
lower bounds has remained a notoriously difficult problem in combinatorics.
  Under the plausible hypothesis that $RS(n) = n^{\Omega(1)}$, our lower bound
is the first to rule out small-constant approximation two-pass semi-streaming
algorithms for the maximum matching problem, making progress on a longstanding
open question in the graph streaming literature.
