A Theoretical Perspective on Hyperdimensional Computing