Object identity via interactions

Written by Patrick Stevens last updated

Summaries

Central to the mindset of category theory is the idea that we don't really care what an object is; we only care about the interactions between them. But if we don't care what an object is, how can we tell even the most basic properties of the objects? For instance, how can we even tell two objects apart? But we can do it, and we do it by looking at the interactions with other objects.

How to tell sets apart

If we're allowed to look at maps between sets, but not at the structure of the sets themselves, how can we tell whether two sets are the same? We aren't allowed to look at the elements of the set directly, so it would be very optimistic to hope to do better than telling the sets apart "up to isomorphism"; indeed, it turns out not to be possible to tell whether two sets are literally identical without looking at their elements.

But how about telling whether there is a bijection between two sets or not? That is the next best thing, because a bijection between the sets would tell us that they "behave the same in all reasonable ways".

It turns out we can do this! Let and be two sets; we want to tell if they're different or not.

Let's make a clever choice: we'll pick a kind of "anchor" set, such that the maps involving , and the "anchor" set are enough to determine whether or not and are the same. It will turn out that works.

Consider all possible maps and . A map from to is just a function which takes the input value (there's no choice about that) and returns a value in . So we can think of it as being "a mappy way of specifying an element of ": for every element of , there is one of these functions, while every one of these functions denotes an element of .

So is isomorphic to this collection of maps, and the key thing is that we don't need to know about 's elements to say this! If we only have access to the maps and we know nothing about the internal structure of , we can still say is isomorphic to the set of all the maps from to .

Example

Let .

Then the functions are precisely the two following:

  • ;
  • .

So we have the "mappy" way of viewing : namely, . Similarly, we have the "mappy" way of viewing : namely, .

And is isomorphic to the set . So we've specified up to isomorphism without having to look at its elements!

Given access to the maps, then, we have worked out what is (up to isomorphism, which is the best we can do if we're not allowed to look into the internal structure of ); and we can similarly work out what is by looking at the maps .

Less structure

That previous construction was rather contrived, and it doesn't seem at all practical.