Abstraction and Complexity