Recently, I found myself in the curious position of trying to learn something again. Funny how that keeps happening. I'm trying to understand something called a "Galois connection," and a kindly stranger on the Internet recommended a text called "The Galois Connection between Syntax and Semantics" by Peter Smith.
I found it online, started reading, and found this definition of a "partially ordered set" or "poset," which is one of those annoying prerequisites for understanding what a "Galois connection" is. Here's the explanation:
A partially ordered set - henceforth, a poset - is a set P, carrying an ordering relation which is reflexive, anti-symmetric and transitive.
Okay, this seems simple enough but there are definitely some more prerequisites here - "ordering relation," "reflexive," "anti-symmetric," and "transitive." Where to go from here?
This post isn't at all about what a Galois connection or a Poset is. Instead it's about the shape of the definition above, a shape that is common enough that you see it everywhere, from math texts to computer science texts, programming language manuals, etc. I like to call it:
This kind of question comes up a lot with programmers who are trying to learn some more theory:
They're all Blanks, which are also Blanks, and have some kind of Blank that does Blank.
Math concepts, and the advanced programming concepts that are often based on them, are often tricky to learn because they can be very abstract. They're not always distinct ideas themselves as they are circles around ideas that already exist. Groupings of ideas. For example, a set of numbers with an operation that defines some kind of order allows you to be sure that the set will hold certain properties.
Before we can learn and teach the actual big concepts themselves, like Monads and Lattices and Posets, we need to learn and teach the shapes of the abstractions that they rest on top of. Until a year or two ago this idea was pretty alien to me. I assumed that these big ideas must be big themselves. They're often not. The results they produce can be big, and the insights they provide can resonate deeply, but often the ideas themselves are deceptively simple.
The simplicity of the idea of "A Blank is a Blank with a Blank" is meant to remind us that often what we're doing is plugging concepts in to a larger framework that we're building. Sometimes the cool thing about a sculpture isn't the form that it holds, but the shadow it casts.