Compositional Generalization from First Principles