[summary: 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.]

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 $~$A$~$ and $~$B$~$ 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 $~$A$~$, $~$B$~$ and the "anchor" set are enough to determine whether or not $~$A$~$ and $~$B$~$ are the same. It will turn out that $~$\{1\}$~$ works.

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

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

%%hidden(Example): Let $~$A = \{ 5, 6 \}$~$.

Then the functions $~$\{1\} \to A$~$ are precisely the two following:

- $~$f: 1 \mapsto 5$~$;
- $~$g: 1 \mapsto 6$~$.

So we have the "mappy" way of viewing $~$5 \in A$~$: namely, $~$f$~$. Similarly, we have the "mappy" way of viewing $~$6 \in A$~$: namely, $~$g$~$.

And $~$A$~$ is isomorphic to the set $~$\{ f, g \}$~$. So we've specified $~$A$~$ up to isomorphism without having to look at its elements! %%

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

[todo: another example, using f: {2} \to A as "pair from A"]

## Less structure

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

[todo: practical example]

[todo: example in Set, where there is a separator: {1}, and a coseparator: {0,1}. Don't define these words, or if we do, do it in passing. Remember to note that this doesn't pick out the set uniquely, but it *does* pick it out up to isomorphism. Often we only care about things up to isomorphism; explain this]

[todo: example in Top, where there is a separator {1}, and a coseparator: the closed interval 0,1. This is a nontrivial fact, and it is known as Uryson’s Lemma. ]

[todo: example in Groups, where Z is a separator]

[todo: "the entire category" together makes a coseparating class, so we can tell objects apart if we are given the freedom to look at every other object]