  In this paper we establish some foundations regarding sheaves of vector
spaces on graphs and their invariants, such as homology groups and their
limits. We then use these ideas to prove the Hanna Neumann Conjecture of the
1950's; in fact, we prove a strengthened form of the conjecture.
  We introduce a notion of a sheaf of vector spaces on a graph, and develop the
foundations of homology theories for such sheaves. One sheaf invariant, its
"maximum excess," has a number of remarkable properties. It has a simple
definition, with no reference to homology theory, that resembles graph
expansion. Yet it is a "limit" of Betti numbers, and hence has a short/long
exact sequence theory and resembles the $L^2$ Betti numbers of Atiyah. Also,
the maximum excess is defined via a supermodular function, which gives the
maximum excess much stronger properties than one has of a typical Betti number.
  Our sheaf theory can be viewed as a vast generalization of algebraic graph
theory: each sheaf has invariants associated to it---such as Betti numbers and
Laplacian matrices---that generalize those in classical graph theory.
  We shall use "Galois graph theory" to reduce the Strengthened Hanna Neumann
Conjecture to showing that certain sheaves, that we call $\rho$-kernels, have
zero maximum excess. We use the symmetry in Galois theory to argue that if the
Strengthened Hanna Neumann Conjecture is false, then the maximum excess of
"most of" these $\rho$-kernels must be large. We then give an inductive
argument to show that this is impossible.
