A General Theory for Compositional Generalization