I have roughly the same question as @Mitesh.

Following David Tanzer's line of reasoning, I would say that **Singleton set generalizes to (becomes) source object**.

I now have two objects, and a morphism, which are necessary components of a category, according to the definition of category.

I will label the source object **S**, the target object **T**, and the morphism **m**.

So I have: **m: S -> T**

If there were also a reverse morphism from T to S (morphism **n**), **n: T -> S**, and not knowing anything about how many elements each object has, then I might say something like:

For any two elements in S, say a and b, and any two elements in T, say x and y, given x->a (x maps to a) and y->b (y maps to b), then in all cases a = b (a and b are the same thing). This is something that must be true of any singleton set.

And I might also say something about identities: **m ; n = id(a) = id(b)** or **n(m(a)) = id(a) = n(m(b)) = id(b)**

Does this way of looking at it make sense?

Following David Tanzer's line of reasoning, I would say that **Singleton set generalizes to (becomes) source object**.

I now have two objects, and a morphism, which are necessary components of a category, according to the definition of category.

I will label the source object **S**, the target object **T**, and the morphism **m**.

So I have: **m: S -> T**

If there were also a reverse morphism from T to S (morphism **n**), **n: T -> S**, and not knowing anything about how many elements each object has, then I might say something like:

For any two elements in S, say a and b, and any two elements in T, say x and y, given x->a (x maps to a) and y->b (y maps to b), then in all cases a = b (a and b are the same thing). This is something that must be true of any singleton set.

And I might also say something about identities: **m ; n = id(a) = id(b)** or **n(m(a)) = id(a) = n(m(b)) = id(b)**

Does this way of looking at it make sense?