Fundamentally, what is computation? What can we say without making architecture-dependent assumptions? How does this relate to computational complexity/NP-complete? Can we create a language to describe computation that does not make architecture assumptions?