  The CFG recognition problem is: given a context-free grammar $\mathcal{G}$
and a string $w$ of length $n$, decide if $w$ can be obtained from
$\mathcal{G}$. This is the most basic parsing question and is a core computer
science problem. Valiant's parser from 1975 solves the problem in
$O(n^{\omega})$ time, where $\omega<2.373$ is the matrix multiplication
exponent. Dozens of parsing algorithms have been proposed over the years, yet
Valiant's upper bound remains unbeaten. The best combinatorial algorithms have
mildly subcubic $O(n^3/\log^3{n})$ complexity.
  Lee (JACM'01) provided evidence that fast matrix multiplication is needed for
CFG parsing, and that very efficient and practical algorithms might be hard or
even impossible to obtain. Lee showed that any algorithm for a more general
parsing problem with running time $O(|\mathcal{G}|\cdot n^{3-\varepsilon})$ can
be converted into a surprising subcubic algorithm for Boolean Matrix
Multiplication. Unfortunately, Lee's hardness result required that the grammar
size be $|\mathcal{G}|=\Omega(n^6)$. Nothing was known for the more relevant
case of constant size grammars.
  In this work, we prove that any improvement on Valiant's algorithm, even for
constant size grammars, either in terms of runtime or by avoiding the
inefficiencies of fast matrix multiplication, would imply a breakthrough
algorithm for the $k$-Clique problem: given a graph on $n$ nodes, decide if
there are $k$ that form a clique.
  Besides classifying the complexity of a fundamental problem, our reduction
has led us to similar lower bounds for more modern and well-studied cubic time
problems for which faster algorithms are highly desirable in practice: RNA
Folding, a central problem in computational biology, and Dyck Language Edit
Distance, answering an open question of Saha (FOCS'14).
