A child learning about animals works it out for themselves: all birds fly; a robin is a bird; so robins fly. The rule holds for sparrows, crows, and pigeons, and soon the child can apply it to birds they have never seen. Then, on a trip to the zoo, they meet a penguin. Nothing was wrong with the reasoning; its form was flawless. The trouble was that the rule never looked at what “bird” meant, or at the actual birds it was supposed to describe. It cared only about the shape of the argument.
From the Concrete to the Abstract
By the 4th century BCE, humans, remarkable pattern recognizers that we are, were already leaping from a handful of concrete, living examples to abstract forms that could cover infinitely many cases. Aristotle (384–322 BCE) popularized this move with his codification of syllogisms (Aristotle 350 BCE). Consider a few examples of how reasoning shifts from the particular to the general:
- Concrete inference instance: all mammals give birth to live young; a cat is a mammal; therefore a cat gives birth to live young.
- Concrete inference instance: all humans are mortal; Socrates is a human; therefore Socrates is mortal.
- Abstract inference rule: all Xs are Y; Z is an X; therefore Z is Y.
This is hardly surprising to anyone familiar with modern logic or computation, yet it reveals a key tension between abstraction and context. In moving from the concrete to the abstract, we gain a rule that applies to any statements matching the same form. But we also begin to value a certain kind of forgetting: disregarding what X, Y, and Z actually stand for. The power of the rule depends on that act of erasure. Over time, this habit of forgetting becomes a programming culture virtue, enabling the cognitive offloading of judgment and decision-making. Such abstractionism shapes not only mathematics and logic but also the social systems that depend on them.