2008
The Abstraction Machine
The Lord of the Rings is not fantasy; it’s abstraction. J. R. R. Tolkien strived for applicability, the idea that symbols do not stand for just one thing, like say, Middle-earth standing for England in World War II, but that the reader can instead apply the story to many many different things.
Abstraction and application are antitheses. One builds, the other breaks down. The mind is an abstraction/application machine.
Abstraction and Beliefs
Let’s play a game. I will list a few things, and you guess what the pattern is. Try this: tomato, fire hydrant, stop sign. What’s the pattern? … Red. What you just did was abstraction. Here’s another one: sky, blue jay, sapphire. Pattern? Blue. What you just did again was abstraction. Here’s another one: canary, owl, eagle. No, the pattern is not yellow. What you just did was application — application of a pattern that was abstracted away, probably without you even being aware of it. The fact that the patterns of my first two lists were colors made you abstract away that fact, and you tried to apply that to the third list. Seeing canary made your mind jump to yellow. (If you’re not used to introspecting your own mind, you may have missed that, because it all happens within fractions of a second.) But the pattern was actually birds.
This is why magicians will repeat a hand motion, like sliding a coin up to the edge of a table to pick it up, many times without doing anything special. The repeated observation of nothing special happening makes your mind abstract away the pattern. So the next time when the magician misdirects your attention and pulls a fast one, dropping the coin on his lap, your mind simply applies the pattern to what it wasn’t paying much attention to, and you believe you saw the same ordinary hand motion with the same ordinary result of the magician picking up the coin.
Specific experiences are constantly bombarding the mind. These experiences are remembered, and patterns are abstracted away from similar or related experiences. Then, when a new situation arises, the mind applies the patterns it has to the current specifics, attempting to predict the outcome based on those patterns.
These patterns are hypotheses of how the world works. When our predictions come true, these hypotheses are reinforced, and they become beliefs.
Many beliefs become so engrained that we latch onto them as truth. This is where the Problem arises. Instead of our experiences determining our beliefs, our beliefs determine our experiences.
The Belief Feedback Loop
For the skeptical readers, I’m not going to bother with the claim you’ve probably all heard and quickly discounted: that what you believe to be reality is. Instead, look at how beliefs are formed in yourself.
When I introspect my own mind, I see that there is a feedback loop. My beliefs cause my thoughts, and my thoughts cause my actions. My actions, along with more-external factors, determine my experiences. Experiences, in turn, lead to insights of patterns and eventually determine my beliefs.
[TODO: Feedback Loop diagram — beliefs → thoughts → actions → experiences → beliefs]
If this loop were observed unaltered, I might get a good idea of what the Universe is like. My beliefs would align with reality. But my mind filters experiences based on its beliefs, and only sees what it wants to see. A common mistake is to only see what aligns with patterns I already know, and ignore what doesn’t.
For example, if I believed that stopping at traffic lights while driving were very painful because they increased wear and tear on my car, the amount of time it takes me to get places, and pollution, I would be likely to notice every time that I got caught at a red light. I would also be more likely to pay attention to times when I had to stop at an intersection when there were no other cars going the other way, making the stop even more pointless, and thus, more painful. Since the pain of stopping at traffic lights is always on my mind while driving, I’m likely to express my opinion about the terrible design of traffic lights to other people. And other people will inevitably disagree with me. To prove my point, I will likely consciously look out for even more examples of my theory, my belief, swaying my bias even further. If someone gave evidence to the contrary, by say, counting the number of red lights vs. green lights on a trip, my ego would immediately look for ways to discount the evidence. It was only sampled from this one trip, after all.
The truth is, I don’t know if most traffic lights are well designed. But having such a belief leads to bias — a preprocessing phase in the mind filtering all experiences — that is a slippery slope, and it reduces your ability to see the truth.
When our predictions do not come true and we actually realize it, we try to form different hypotheses. If this happens often enough, we feel confused. How often do you find yourself feeling confused?
If you said “not often”, this could be a bad sign. It could be a sign that your mind is doing such a great job at filtering, that you can’t see that the earth is revolving around the sun and not the other way around, even after experiencing the evidence time and time again.
The Mind and Programming
It’s no coincidence that abstraction and application are the foundation of the λ calculus, rather, it is a purposeful coinciding of events.
λ x. e — abstraction
e1 e2 — application
Using memory of past experiences, our mind abstracts away patterns to predict future events. The mind is doing this all the time on a micro-scale, like when you contract your bicep, your mind predicts that your arm will bend. But it’s the same process we use to predict larger events. When the light bulb goes on in your mind, you’re feeling the integration of many specific examples into a generalized pattern that explains them all. To write these patterns down, it makes sense to have a language for expressing generalized patterns — abstractions — and their use in specific cases — application.1
Functional programming anyone?
Now, I know what you’re thinking. Silly author. You’re falling into the bias trap you just talked about since you are obviously already in love with functional programming. Ah, that may be true. But when I introspect my own mind, abstraction and application is the closest thing in the physical world that I can relate to what I see.
Can you find a better analogy? In other words, a pattern that more closely aligns with truth? Maybe the abstraction/application model is blub.
map is a very useful, general function or abstraction that almost every single functional programmer uses or applies, The Lord of the Rings is a very general story that almost anyone who knows it can apply it to their life. The story is a function, an abstraction, that can be applied to many different situations.