It is often said that their is no problem of computer science that cannot be solved with another level of induction (or layer of abstraction).