I love this idea so much. It is something we do all the time, but most people do not name this process explicitly. This idea is linked to concepts, classes, and notions. The concrete members of the abstraction can be called instances, members, or concrete examples.

Let us think about some examples to understand what abstraction means, consider the idea of one. What is that? A class of objects? All objects taken one at a time would each be a concrete example of one, but the abstract idea of one is much deeper than that.

Closely related is the word abstract, which can mean that something does not ontologically exist in space-time, but rather is an idea.

Numbers

"One" is actually an idea, and it does not have any concrete form. One is the name of the trait that all these singular objects share. The fact that they are one in number, in the counting sense. Take some other number, say three. If we say there are three eggs, then we are talking about the fact that ignoring many obvious differences between these three objects, the filtered versions of these three eggs are all exactly equal, and thus we get three copies of abstract items we call eggs.

If we measured the weight, exact shape, chemical composition, temperature, rigidity, age etc then we would find differences. But in the process of abstraction we strip away these differences and leave behind those aspects that matter to us, subjectively in that context. All three are made by the same species, they serve the same functional purpose as food, they give you approximately the same amount of nutrition, they are approximately the same shape, weight and color.

This is why we name people, we treat each person as a seperate class - as an individual. It feels dehumanizing to consider people as interchangable and mere statistics. But it is still useful to do so and so we can see it being done in marketing, policy making etc.

Modelling

So we saw what the process of abstraction was in case of numbers. I am sure you can think of more examples around you such as when we treat the geodesic earth as a sphere, different species as just animals, being gender and race neutral and just seeing the individual as a human.

So the idea was that abstractions were actually models of that the real complex object. The world is a complicated place with so much detail and we can only hold in our heads, represent and manipulate in our language a coarse representation of the truth. So the question is which parts of the truth do we strip away? What aspects of the truth do we focus on?

Depending on the context and the purpose of that model we pick different aspects to focus on when building a model. The whole point of science is to try and explain most things (generalize) using the least number (occam's razor) of self consistent axioms and logic. So abstraction is fundamental to doing science, physical laws are also abstractions. But it is not just mathematical models - differential equations, probability etc, we have abstractions in soft sciences too.

When we try to make sense of human emotions and vices, we form categories - anger, sadness, happiness etc and greed, sloth, lust etc. In reality our emotions are much more nuanced and these words are a gross oversimplification. But we are trying to focus on the dominant feeling and strip away everything else. No human ever only feels one single emotion or is dominated by one vice.

We take all these different angry people and situations where they might have felt different types of anger tinged with other emotions and abstract away everything except anger. It is clearly useful to have these abstractions to be able to communicate and reason about our emotional state.

For our most sensitive senses we have these basic abstractions - color, shapes, tastes etc. But our touch and smell don't have these kinds of natural building blocks maybe because it is not as sensitive or being used as much.

Stereotypes are another excellent example. We abstract away all the details that make each Jew, Hindu or African different. We form this character model or template that is in our opinion the quintessential member of that religion, race or ethinicity.

Understanding

When we try to understand phenomena, we model them. We perform data compression where we try to find a common pattern linking all these phenomena and see each of them as being instances of a more general abstraction. That is exactly what physical theories like General Relativity, Quantum Mechanics etc end up doing. You don't need to memorize the trajectory of rocks for variations in weight, force and direction thrown. Within the classical mechanics model, we can see each trajectory is just a single instance.

The depth of your understanding can in some sense be measured by the quality of abstractions you carry with you. Knowing why, when and how they apply is crucial to understanding.

When you learn a new concept, it helps to practice going in both direction. First we can go from one/many concrete object(s) to the more general, powerful abstraction and then try to instantiate a few instances of that abstraction. In this process we realize exactly what the simplifying assumptions were and what details are hidden. Since all reasoning happens in the realm of ideas and it is a matter between abstractions.

The validity of the abstraction is proven when the results from that platonic space can be brought into the real world with only an acceptable amount of error. Often the danger is when we forget we are thinking about and dealing with an abstraction. We start to become so familar with the model that it becomes our reality.

We feel dissapointed when our model of someone fails. We trust that other people will take decisions according to the model we have of them. We often blame the failure of our model onto reality itself. We say "That makes no sense", "That is so illogical" etc.

This is how hackers work, they refuse to accept the abstraction offered to them and they try to understand how the complicated nature of the system or software. They find the exploit by realizing that the abstraction is not perfect.

"A mathematician tries to ‘see through’ a complex system’s accidental complexity up to a simpler more-abstract more-true version which can be understood & manipulated — but for the hacker, all complexity is essential, and they are instead trying to unsee the simple abstract system down to the more-complex less-abstract (but also more true) version" - gwern

Layers of Abstraction

Abstraction also is related to complexity. It can also be thought of as being layered or nested. The best example of this I have seen is how computer programs work. You can choose the level of detail you are interested in and you will see that it is sitting on top of layers of details that have been abstracted away leaving only a simple model that works.

Order of abstraction in a computer
I first heard this idea from the first lecture of MIT 6.002 Circuits and Electronics

Think about how cool this is. We have reality or nature that is the ground we start building on. We figure out the most fundamental rules that seem to govern this reality and that forms a model of reality, an abstraction. Why? because these rules are actually only true in this specific context of temperature, speed etc and within some level of measurement accuracy.

But as lot as we are operating in these conditions, our physics model of reality will do nicely. We leverage these condensed matter laws to create devices like transistors that act like one way valves, switches, etc. This is another layer of abstraction.

The people who make gates do not need to know physics. They trust these devices will work in the manner as the abstraction promised and they build gates, registers etc using these devices.

We know what a NAND gate is supposed to do. We don't need to worry about how it manages to do it. Some other engineer will take care of that! We can just focus at our level of detail and make sure these logic gates work together to form the adder circuit. The engineers who use these adders to make an architecture can also ignore the details of your work.

This goes on and on and on and on. Can you imagine how much complexity is being hidden? The way a chrome tab sandboxes itself and is showing this webpage to you is build on many layers of software abstraction which is build on hardware abstractions.

Earliest abstractions

You could say that human thought started with abtractions. When we started using abstract symbols to represent concrete objects and later concepts we started developing these congnitive skills that is now taken for granted.

img
While the earliest writing is by the Sumerians around 3400 B.C.E. our ancestors seem to have been curiously consistent (across and between continents) with the symbols they used. We could have started using abstract symbols to communicate as far back as 40,000 years ago. Credit : Genevieve von Petzinger

Even when we play video games, the "living beings" we strongly relate to are just simple character models or when we feel intense emotions towards animated characters, these are all abstractions that we believe in. With humans able to associate that representation of a human with the reality of a human, we are able to take abstractions seriously. That is a huge leap, to be able to conceptualize abstractions (which can be hypothetical situations) and treat them as seriously as any concrete occurrence.


I think this should be more than enough food for thought. I hope this post leads you to spend more time thinking about this wonderful idea and do post comments on what you come up with.