Abstraction in mathematics #2
Some additions to my notes from yesterday’s lunch… I’m interested in how complexity is dealt with in mathematics. Regarding abstraction, Olof said (if I understood correctly) that the procedure is (always?) to move to more and more abstract levels and then back up; as if it’s about finding the “root abstraction”, backing up from there and questioning each abstraction on the way. The result can be viewed as a tree of abstractions for the problem to be solved.
This is easy to relate to programming, where you also often try to find common abstractions, but obviously not anyway near the meticulous search for abstractions Olof explained. You’re only interested in an abstraction if it means an opportunity to reuse code between two more concrete classes, or to achieve flexibility of some kind – such as being able to deal with only “people” in a system that contains employees, managers, customers etc.