Category Theory
Zulip Server
Archive

You're reading the public-facing archive of the Category Theory Zulip server.
To join the server you need an invite. Anybody can get an invite by contacting Matteo Capucci at name dot surname at gmail dot com.
For all things related to this archive refer to the same person.


Stream: learning: questions

Topic: monoids and coproducts


view this post on Zulip David Egolf (Feb 12 2023 at 21:34):

The natural numbers (including zero) together with addition form a monoid. We can associate to each natural number a set having the corresponding number of elements (e.g. associate to "3" a set have three elements). Then, we can use the coproduct in the category of sets to "carry out addition". For example, we can map "3" to a set with three elements, map "5" to a set with five elements, and then take the disjoint union of the resulting sets to get a set with eight elements. By counting the number of elements in the resulting set, we can produce a natural number - so that the addition of the two numbers was computed in the category of sets using the coproduct.

So, at least in some cases, it is possible to compute a monoid operation in a different category using coproducts. When is this possible? And what do these other categories - used for computation in terms of coproducts - look like? Are they anything like the category of sets in general?

For example, consider the monoid having elements 0,1,2,3 together with addition modulo 4 (e.g. 2+3=1 now). Is there some other category where we can compute this operation using coproducts, in a way analogous to how we could carry out regular addition on the natural numbers in the category of sets using coproducts?

Symbolically, if the elements of the monoid in question form the set MM, when is there a category with objects CC so that there are functions F:MCF: M \to C and G:CMG: C \to M satisfying the following: m1m2=G(F(m1)F(m2))m_1 \circ m_2 = G(F(m_1) \sqcup F(m_2))?

(I'm also interested in thinking about what kind of monoids we can generate in this way by using different universal constructions besides the coproduct...)

view this post on Zulip John Baez (Feb 13 2023 at 02:15):

So, you're asking for necessary and/or sufficient conditions for a monoid to arise from decategorifying a category with coproducts. (This is how an expert would say your question. It's an interesting question.)

view this post on Zulip John Baez (Feb 13 2023 at 02:17):

I don't know the answer to your question, but here are some necessary conditions for a monoid to arise from decategorifying a category with coproducts:

The latter condition rules out all groups except the trivial group! So, the answer to this question:

For example, consider the monoid having elements 0,1,2,3 together with addition modulo 4 (e.g. 2+3=1 now). Is there some other category where we can compute this operation using coproducts, in a way analogous to how we could carry out regular addition on the natural numbers in the category of sets using coproducts?

is no!

view this post on Zulip John Baez (Feb 13 2023 at 02:18):

And here's a little puzzle:

view this post on Zulip John Baez (Feb 13 2023 at 02:27):

And another little puzzle:

view this post on Zulip Matteo Capucci (he/him) (Feb 13 2023 at 17:03):

It seems relevant that natural numbers are an ordered monoid, the order being a shadow of some of the maps from FinSet (namely the monomorphisms aka injections)

view this post on Zulip David Egolf (Feb 13 2023 at 19:01):

Thanks to both of you for your responses!
John Baez said:

And here's a little puzzle:

My initial guess is that the category we are looking for here is the opposite category of the category of sets. My idea is that when we move from a category to its opposite, what were products (should intuitively) become coproducts. In the category of sets, we can carry out multiplication (in terms of numbers of elements) by using the product. So, maybe in Setop\mathsf{Set}^{op} the coproduct corresponds to multiplication of natural numbers.
Thinking about it a little more, in Setop\mathsf{Set}^{op} a morphism from a set AA to a set BB is a function from BB to AA. So, if any diagram exists in Set\mathsf{Set}, we can draw a corresponding diagram in Setop\mathsf{Set}^{op} by reversing all the arrows. I believe the diagrams describing a product and a coproduct are the same, except with arrows reversed. It seems like a product in Set\mathsf{Set} should be a coproduct in Setop\mathsf{Set}^{op} then.

view this post on Zulip David Egolf (Feb 13 2023 at 19:06):

John Baez said:

And another little puzzle:

I know that multiplying by zero can result in a situation like this: x0=y0x \cdot 0 = y \cdot 0 even when xyx \neq y. The natural numbers (including zero) together with multiplication form a monoid where this situation can occur. If I figured out the previous puzzle, then I would expect Setop\mathsf{Set}^{op} to be a setting where there exist objects x,y,ax,y,a such that x+ay+ax + a \cong y + a with xyx \ncong y (where "+" denotes the coproduct).
For example, let xx be a set with three elements and yy be a set with two elements. Let aa be the empty set. Then x+ax + a in Setop\mathsf{Set}^{op} I think should be the product of xx and aa in Set\mathsf{Set}, which is the empty set aa. Similarly, y+ay+a should be the product of yy and aa in Set\mathsf{Set}, which is also the empty set. So, x+ay+ax+a \cong y+a but xyx \ncong y.

view this post on Zulip David Egolf (Feb 13 2023 at 19:27):

Matteo Capucci (he/him) said:

It seems relevant that natural numbers are an ordered monoid, the order being a shadow of some of the maps from FinSet (namely the monomorphisms aka injections)

That sounds interesting. I'd be interested to learn what other monoids exist that have a natural ordering inherited like this. I guess the natural numbers together with multiplication have the opposite ordering, if we produce the order from the monomorphisms in Setop\mathsf{Set}^{op} (which I think should be epimorphisms in Set\mathsf{Set}, which are the surjections)? Although this ordering is a little bit weird compared to what I would have expected, because there is no function from a non-empty set to an empty set.
(Hmm. I may have gotten confused with all the "op" stuff. I'll leave this up with this disclaimer, though.)

view this post on Zulip John Baez (Feb 13 2023 at 23:29):

David Egolf said:

John Baez said:

And here's a little puzzle:

My initial guess is that the category we are looking for here is the opposite category of the category of sets. My idea is that when we move from a category to its opposite, what were products (should intuitively) become coproducts. In the category of sets, we can carry out multiplication (in terms of numbers of elements) by using the product.

That's almost right! You've definitely got the key idea. So why is your answer actually wrong?

view this post on Zulip John Baez (Feb 13 2023 at 23:30):

You can easily fix it.

view this post on Zulip John Baez (Feb 13 2023 at 23:32):

David Egolf said:

John Baez said:

And another little puzzle:

I know that multiplying by zero can result in a situation like this: x0=y0x \cdot 0 = y \cdot 0 even when xyx \neq y. The natural numbers (including zero) together with multiplication form a monoid where this situation can occur. If I figured out the previous puzzle, then I would expect Setop\mathsf{Set}^{op} to be a setting where there exist objects x,y,ax,y,a such that x+ay+ax + a \cong y + a with xyx \ncong y (where "+" denotes the coproduct).

Excellent! Even though your answer to the first problem was not quite correct, you are right in saying that Setop\mathsf{Set}^{\text{op}} has objects x,y,ax,y,a such that x+ay+ax + a \cong y + a but xyx \ncong y. As you said, we can take aa to be the empty set.

view this post on Zulip John Baez (Feb 13 2023 at 23:34):

So now I can't resist giving you this clue to why your answer to the first problem was wrong. In fact Set\mathsf{Set} is also a category with objects x,y,ax,y,a such that x+ay+ax + a \cong y + a but xyx \ncong y. This was the example I had in mind.

view this post on Zulip John Baez (Feb 13 2023 at 23:41):

There are also other nice examples.

view this post on Zulip David Egolf (Feb 14 2023 at 15:52):

John Baez said:

So now I can't resist giving you this clue to why your answer to the first problem was wrong. In fact Set\mathsf{Set} is also a category with objects x,y,ax,y,a such that x+ay+ax + a \cong y + a but xyx \ncong y. This was the example I had in mind.

This was fun to think about! I think the answer has to do with the presence of infinite sets. For example, let xx be a set with three elements, and let yy be a set with five elements. Then let aa be a countably infinite set. Then I think that x+ax+a and y+ay+a both have a countably infinite number of elements, so x+ay+ax+a \cong y+a but xyx \ncong y.
So, if we create a monoid from Set\mathsf{Set} by creating an element of the monoid for each isomorphism class of Set\mathsf{Set}, we don't just get the natural numbers. We get the natural numbers augmented with some fancy extra elements that I think model different infinite cardinalities. I don't know what that resulting structure is called!

view this post on Zulip David Egolf (Feb 14 2023 at 15:54):

Working from this hint, if we want to decategorify some category with coproducts to get the natural numbers together with multiplication - we probably want to make sure we don't end up with extra elements (from infinite sets) like this. So, maybe instead of Setop\mathsf{Set}^{op}, we want FinSetop\mathsf{FinSet}^{op}, the opposite category of the category of finite sets.

view this post on Zulip John Baez (Feb 14 2023 at 16:44):

Why "maybe"? Please tell me what you're worrying about.

view this post on Zulip John Baez (Feb 14 2023 at 22:33):

David Egolf said:

John Baez said:

So now I can't resist giving you this clue to why your answer to the first problem was wrong. In fact Set\mathsf{Set} is also a category with objects x,y,ax,y,a such that x+ay+ax + a \cong y + a but xyx \ncong y. This was the example I had in mind.

This was fun to think about! I think the answer has to do with the presence of infinite sets. For example, let xx be a set with three elements, and let yy be a set with five elements. Then let aa be a countably infinite set. Then I think that x+ax+a and y+ay+a both have a countably infinite number of elements, so x+ay+ax+a \cong y+a but xyx \ncong y.

Right!

view this post on Zulip John Baez (Feb 14 2023 at 22:35):

So, if we create a monoid from Set\mathsf{Set} by creating an element of the monoid for each isomorphism class of Set\mathsf{Set}, we don't just get the natural numbers. We get the natural numbers augmented with some fancy extra elements that I think model different infinite cardinalities.

Right!

I don't know what that resulting structure is called!

It's called Card, the class of all cardinals. You can add cardinals, but if axa \le x and xx is infinite then x+a=xx + a = x.

The class of all cardinals is too big to be a set, so Card is not a monoid in the usual sense. It's a 'large' monoid.

view this post on Zulip John Baez (Feb 14 2023 at 22:37):

Here are some more puzzles:

What monoids do you get from these two categories with coproducts?

Also, here's a nice little category with coproducts:

01 0 \to 1

It has two objects, 0 and 1, and a morphism from 0 to 1 (along with the two identity morphisms).

What commutative monoid does this give? Does this monoid obey the cancellation law

x+ay+a    xy? x + a \cong y + a \implies x \cong y ?

view this post on Zulip John Baez (Feb 14 2023 at 22:44):

By the way, this category 010 \to 1 is also called the poset of truth values or Booleans - it's very important in classical logic.

view this post on Zulip David Egolf (Feb 15 2023 at 15:49):

John Baez said:

Why "maybe"? Please tell me what you're worrying about.

Well, I missed a detail before, and I wouldn't put it past me to miss another one. :upside_down: I suppose I'm just generally not super familiar with this stuff... Plus, I'm not carefully writing these arguments out anywhere, and that tends to lead to me making more mistakes. However, I didn't have a specific mathematical worry.

view this post on Zulip David Egolf (Feb 15 2023 at 15:52):

John Baez said:

What monoids do you get from these two categories with coproducts?

Based on the discussion above, from FinSet\mathsf{FinSet} we get the natural numbers together with addition. And from FinSetop\mathsf{FinSet}^{\textrm{op}} we get the natural numbers together with multiplication.

view this post on Zulip David Egolf (Feb 15 2023 at 16:01):

John Baez said:

Also, here's a nice little category with coproducts:

01 0 \to 1

It has two objects, 0 and 1, and a morphism from 0 to 1 (along with the two identity morphisms).

What commutative monoid does this give? Does this monoid obey the cancellation law

x+ay+a    xy? x + a \cong y + a \implies x \cong y ?

Before thinking about 01 0 \to 1 , I want to quickly think about the category 00. This has one object, and a single identity morphism. I believe it has coproducts, and 0+0=00+0=0. So this category with coproducts produces the trivial monoid by decategorification.

Ok, back to 01 0 \to 1 . The coproduct of 0 and 0 needs to have a morphism to it from 0, and a unique morphism to every other object that satisfies this condition. That means 0+0=0. The coproduct of 1 and 1 needs to have a morphism to it from 1, and a unique morphism to every other object that satisfies this condition. That means 1+1=1. The coproduct of 0 and 1 needs to have a morphism to it from 0 and a morphism to it from 1, and a unique morphism from it to every other object that satisfies this condition. That means 0+1=1, and 1+0=1.

This monoid does not obey the cancellation law! 1+01+11+0 \cong 1+1 but 010 \ncong 1. (And 0 is indeed not isomorphic to 1, as there is no inverse for the morphism from 0 to 1 in our category).

view this post on Zulip David Egolf (Feb 15 2023 at 16:02):

John Baez said:

By the way, this category 010 \to 1 is also called the poset of truth values or Booleans - it's very important in classical logic.

Ah, right! I can see that this monoid is one I'm familiar with, if we think of 0 as "false" and 1 as "true" and our monoid operation as "OR".

view this post on Zulip David Egolf (Feb 15 2023 at 16:07):

A few thoughts about this:

view this post on Zulip David Egolf (Feb 15 2023 at 16:10):

view this post on Zulip David Egolf (Feb 15 2023 at 16:14):

view this post on Zulip David Egolf (Feb 15 2023 at 16:24):

view this post on Zulip John Baez (Feb 15 2023 at 16:34):

David Egolf said:

John Baez said:

Why "maybe"? Please tell me what you're worrying about.

Well, I missed a detail before, and I wouldn't put it past me to miss another one. :upside_down: I suppose I'm just generally not super familiar with this stuff... Plus, I'm not carefully writing these arguments out anywhere, and that tends to lead to me making more mistakes. However, I didn't have a specific mathematical worry.

Okay, I guess that makes sense. A really important thing about math is that one can work things out to the point of being completely sure about things... and being right, too. I had thought you were at that point. It wouldn't be good to be so scared that one sticks a "maybe" in a sentence when there's no real doubt. But yes, if you're not familiar with these things and you're not writing things up there may be a "cloud of doubt" even absent any specific worry.

Usually I deal with the opposite problem: I've had a lot of bright grad students of an intuitive bent who leap to a conclusion because the conclusion feels like it makes sense and it's very attractive. It's important to be able to make these leaps - intuition is an important tool. But I need to teach them to be careful, because the "flash of insight" often comes with a purely subjective sense that something "must be true", which is actually quite different from being sure because you've worked out the details.

view this post on Zulip John Baez (Feb 15 2023 at 16:36):

David Egolf said:

John Baez said:

What monoids do you get from these two categories with coproducts?

Based on the discussion above, from FinSet\mathsf{FinSet} we get the natural numbers together with addition. And from FinSetop\mathsf{FinSet}^{\textrm{op}} we get the natural numbers together with multiplication.

Yes, that's right! This is where addition and multiplication of natural numbers come from... though usually we say multiplication comes from the product in FinSet\mathsf{FinSet} (which is the same as the coproduct in FinSetop\mathsf{FinSet}^{\textrm{op}}).

view this post on Zulip John Baez (Feb 15 2023 at 16:38):

David Egolf said:

Before thinking about 01 0 \to 1 , I want to quickly think about the category 00. This has one object, and a single identity morphism. I believe it has coproducts, and 0+0=00+0=0. So this category with coproducts produces the trivial monoid by decategorification.

Right! It's good to go back like that. I also urge you to go forward and look at 0120 \to 1 \to 2. Categories of this ilk are called "ordinals".

view this post on Zulip John Baez (Feb 15 2023 at 16:39):

Your analysis of 010 \to 1 was spot on.

David Egolf said:

Ah, right! I can see that this monoid is one I'm familiar with, if we think of 0 as "false" and 1 as "true" and our monoid operation as "OR".

Right!

view this post on Zulip John Baez (Feb 15 2023 at 16:40):

And if we looked at products in 010 \to 1 we'd get "AND".

view this post on Zulip John Baez (Feb 15 2023 at 16:40):

The arrow in 010 \to 1 is "false implies true".

view this post on Zulip John Baez (Feb 15 2023 at 16:41):

So this is an extremely important category.

view this post on Zulip John Baez (Feb 15 2023 at 16:41):

David Egolf said:

A few thoughts about this:

Yes, all this is correct.

view this post on Zulip John Baez (Feb 15 2023 at 16:47):

David Egolf said:

Yes, that's right. It's nice how you can make up a concept of \le that's compatible with addition to this extent. Now I'm wondering if this \le obeys the usual axiom

AA,BB    A+BA+B A \le A', B \le B' \implies A + B \le A' + B'

Yes, it does.

view this post on Zulip John Baez (Feb 15 2023 at 16:48):

David Egolf said:

You might take a look and see whether this category with coproducts:

0120 \le 1 \le 2

gives the commutative monoid {0,1,2}\{0, 1, 2\} where the monoid operation is 'saturated addition', x+ymin2x + y \min 2.

view this post on Zulip Jason Erbele (Feb 15 2023 at 19:24):

John Baez said:

And if we looked at products in 010 \to 1 we'd get "AND".

If you want to get "AND" without switching to products, you can change the assignments of "false" and "true" instead (i.e. by thinking of 0 as "true" and 1 as "false"). :octopus:
Of course, using the product is "better" in the sense that "AND" and "OR" are compatible – they have matching notions of what 0 and 1 mean.

view this post on Zulip John Baez (Feb 15 2023 at 20:56):

A: You misunderstood me because when I say "true" it means what you mean by "false"; when I say "false" it means what you mean by "true"; when I say "implies" it means what you mean by "implied by"; when I say "and" it means what you mean by "or", and when I say "or" it means what you mean by "and".

B: What about "not"?

A: Oh - on that we agree.

view this post on Zulip David Egolf (Feb 16 2023 at 16:09):

John Baez said:

I also urge you to go forward and look at 0120 \to 1 \to 2. Categories of this ilk are called "ordinals".

The coproduct of 0 and 0 needs to have morphisms to it from zero, and have a unique morphism to every other object that satisfies this condition. In terms of the induced preorder mentioned above, I think this corresponds to asking for the smallest object at least as large as zero. So, 0+0=00+0=0.

I think this line of argument indicates that a+b=max(a,b)a+b = \max(a,b). So, 0+1=10+1=1, 0+2=20+2=2, 1+1=11+1=1, 1+2=21+2=2, 2+2=22+2=2. This is a bit different than the "saturated addition" mentioned above, which would have 1+1=21+1=2.

view this post on Zulip David Egolf (Feb 16 2023 at 16:12):

Looking here, I read that the "join" operation corresponds to the coproduct in posets, which makes sense.

view this post on Zulip David Egolf (Feb 16 2023 at 16:21):

The categories we've looked at so far induce an identity element: they have an object 00 so that 0+aa0+a \cong a for all aa. That ensures that in each of these categories there exists an object 00 so that 0a0 \leq a for all aa. (This is under the preoder induced by saying xyx \leq y when there is at least one morphism from xx to yy).

So, our categories with coproducts must have a "smallest element" if they are to induce a monoid via decategorification. In the case of these ordinal categories, the smallest element is the one we've called "0". But in FinSet\mathsf{FinSet}, every set is a "smallest element" in this sense, so this isn't enough to specify which object will act as the identity element in the induced monoid.

view this post on Zulip David Egolf (Feb 16 2023 at 16:31):

I notice that "0" is the initial object in the ordinal categories, and we saw it became the identity element in the monoid induced by decategorification. The empty set is the initial object in FinSet\mathsf{FinSet}, and it also became the identity element after decategorification. In FinSetop\mathsf{FinSet}^{\mathrm{op}}, an initial object is a terminal object of FinSet\mathsf{FinSet}, so any singleton set is an initial object in FinSetop\mathsf{FinSet}^{\textrm{op}}. Each singleton set SS satisfies S+XXS+X \cong X for each XX in FinSetop\mathsf{FinSet}^{\textrm{op}}, and so each singleton becomes the identity element in the monoid induced by decategorification.

In each of these three cases, the initial object becomes the identity morphism in the induced monoid. That seems like an interesting pattern! I wonder if this is always the case.

view this post on Zulip Morgan Rogers (he/him) (Feb 16 2023 at 17:32):

If 0+XX0+X \cong X for every XX, then there must be exactly one morphism from 00 to each XX, so yes, that must be the case! From this perspective, uniqueness up to isomorphism of initial objects decategorifies to uniqueness of the unit element of a monoid.

view this post on Zulip Jason Erbele (Feb 16 2023 at 20:32):

Would FinSet\mathsf{FinSet} restricted to sets with two or fewer elements have a coproduct that, when decategorified, gives the "saturated addition" commutative monoid on {0,1,2}\{0,1,2\}? Note that there are two morphisms 121 \to 2 and two morphisms 222 \to 2 in this category, so it's not the same as the poset 0120 \to 1 \to 2. I have no problems finding X,X0X\forall X, X \sqcup 0 \cong X, but I'm confusing myself on whether the other coproducts exist (mostly because I forgot the second 222 \to 2 morphism exists until I ran out of spare time to think about this).

view this post on Zulip John Baez (Feb 17 2023 at 01:08):

I don't think the category of sets with at most 2 elements has coproducts. Remember

hom(x,y+z)hom(x,y)×hom(x,z) \mathrm{hom}(x, y + z) \cong \mathrm{hom}(x,y) \times \mathrm{hom}(x,z)

I think you can use this to show that the category of finite sets with at most 2 elements, and functions between those, does not have the coproduct 2 + 2.

view this post on Zulip David Egolf (Feb 17 2023 at 16:16):

Morgan Rogers (he/him) said:

If 0+XX0+X \cong X for every XX, then there must be exactly one morphism from 00 to each XX, so yes, that must be the case!

I've been staring at this for a while, and I wish I knew how to prove this. I can see that there is at least one morphism from 00 to each XX. If f:0+XXf: 0+X \to X is an isomorphism, and i:00+Xi:0 \to 0+X is the coprojection morphism of the coproduct from 00, then fi:0Xf \circ i: 0 \to X. However, I'm not sure where to begin to show that this morphism is unique.

view this post on Zulip Graham Manuell (Feb 17 2023 at 16:48):

I don't know exactly what Morgan meant, but I don't think this is actually true as stated. Consider the full subcategory of the category of sets containing the set of natural numbers as its only object. This category has binary coproducts and satisfies that condition, but has no initial object.

view this post on Zulip Graham Manuell (Feb 17 2023 at 16:49):

(Of course, if a category does have an initial object, then this will be the unit with respect to the operation of binary coproduct.)

view this post on Zulip Morgan Rogers (he/him) (Feb 18 2023 at 10:08):

It's true, I'm missing a hypothesis, thanks for spotting that @Graham Manuell . I think "naturally in X" would do it, or the less powerful assumption that for each XX there exists YY such that Hom(X,Y)\mathrm{Hom}(X,Y) is (non-empty and) finite; the latter one seems to be what I was assuming when I wrote that above.

view this post on Zulip Morgan Rogers (he/him) (Feb 18 2023 at 10:20):

(Fortunately, a terminal object fulfils this requirement, and having a terminal object isn't a terribly constrictive thing to require.)

view this post on Zulip David Egolf (Feb 18 2023 at 16:00):

I'm not quite sure where I'd like to take this topic as this point. The discussion so far has been interesting, and I've learned a number of cool things from it.

I'll take this moment to summarize some of the things I've learned:

view this post on Zulip David Egolf (Feb 18 2023 at 16:08):

Does anyone have some specific direction/question they think would be interesting to discuss in this thread? I sometimes get a little overwhelmed by how much there is to learn, and I struggle to pick a constructive direction.

view this post on Zulip John Baez (Feb 18 2023 at 17:59):

I guess this is a good thing to notice now. A category is called a preorder if there's at most one morphism from any object to any other; then we write xyx \le y if there's a morphism from xx to yy. A preorder is called a poset if whenever xyx \le y and yxy \le x then x=yx = y.

It's very interesting to think about posets that have finite coproducts (that is, binary coproducts ++ and an initial object 00). This sort of poset is called a [[join-semilattice]].

Examples include our friends 01n1n0 \to 1 \cdots \to n-1 \to n but also many other interesting things.

view this post on Zulip John Baez (Feb 18 2023 at 18:06):

Do you see why any join-semilattice is a commutative monoid?

view this post on Zulip John Baez (Feb 18 2023 at 18:09):

Do you see how to make the collection of all subsets of a set XX into a join-semilattice?

view this post on Zulip John Baez (Feb 18 2023 at 18:09):

Join-semilattices are a very interesting kind of commutative monoid.

view this post on Zulip Graham Manuell (Feb 18 2023 at 20:03):

It's worth noting that every finitely-cocomplete finite category is a preorder, so the monoids we get from finite categories are always semilattices.

view this post on Zulip David Egolf (Feb 19 2023 at 17:20):

Thinking about join-semilattices sounds interesting!
John Baez said:

Do you see why any join-semilattice is a commutative monoid?

Well, we can decategorify a join-semilattice to get a commutative monoid. Join-semilattices have binary coproducts to provide the composition of elements, and an initial object to provide a neutral element in the monoid. The decategorified monoid will be commutative because the binary coproduct operation is commutative up to isomorphism.

However, I think the objects of a join-semilattice together with the binary coproduct operation directly form a monoid. If xyx \cong y for objects xx and yy, then in a preorder xyx \leq y and yxy \leq x, and in a poset that means that x=yx=y. Since a+bb+aa+b \cong b+a where "+" denotes the binary coproduct operation, that means that in a join semi-lattice a+b=b+aa+b=b+a for all objects aa and bb. And similarly 0+a=a0+a=a for all objects aa, where 00 is the unique initial object.

view this post on Zulip David Egolf (Feb 19 2023 at 17:25):

Interestingly, the nlab article points out that the monoid induced by a join semi-lattice is idempotent. That is, we have a+a=aa+a=a for all monoid elements aa.

view this post on Zulip David Egolf (Feb 19 2023 at 17:32):

John Baez said:

Do you see how to make the collection of all subsets of a set XX into a join-semilattice?

We can set the objects of our category to be the subsets of XX, and put a morphism ABA \leq B when ABA \subseteq B, I would guess. This forms a preorder, and actually a poset since if ABA \subseteq B and BAB \subseteq A then A=BA = B. The join of two sets corresponds to the union, which always exists, and provides a binary commutative operation with the empty set as its neutral element. The empty set is the initial object, and I think that means we've met all the conditions to have a join-semilattice.

view this post on Zulip David Egolf (Feb 19 2023 at 17:40):

This reminds me a little bit of the definition of a topological space. Starting with a set XX, we can form a category CC where the objects are all the subsets of XX and there is a morphism from AA to BB exactly when ABA \subseteq B, as we did above. However, we can then consider full subcategories of CC. At first I thought that requiring a full subcategory of CC to have all coproducts and finite products would result in a topological space, but I believe that isn't quite right - for example, coproducts can end up being different than the union.

view this post on Zulip David Egolf (Feb 19 2023 at 17:59):

Graham Manuell said:

It's worth noting that every finitely-cocomplete finite category is a preorder, so the monoids we get from finite categories are always semilattices.

Huh, so somehow having (1) all colimits under finite diagrams and (2) a finite number of objects and morphisms then forces a category to have at most one morphism between any pair of objects?

view this post on Zulip Graham Manuell (Feb 19 2023 at 23:02):

Yes. The proof is just like the usual proof that a small complete category is a preorder.

view this post on Zulip David Egolf (Feb 20 2023 at 00:14):

Graham Manuell said:

Yes. The proof is just like the usual proof that a small complete category is a preorder.

Thanks for the link! This is quite interesting. I may ask some questions about this proof in a separate thread, to keep this one organized.

view this post on Zulip John Baez (Feb 20 2023 at 07:54):

David Egolf said:

Thinking about join-semilattices sounds interesting!
John Baez said:

Do you see why any join-semilattice is a commutative monoid?

Well, we can decategorify a join-semilattice to get a commutative monoid. Join-semilattices have binary coproducts to provide the composition of elements, and an initial object to provide a neutral element in the monoid. The decategorified monoid will be commutative because the binary coproduct operation is commutative up to isomorphism.

This is all correct!  Decategorifying a poset is a rather mild operation, since when we decategorify we take isomorphism classes of objects, but in a poset isomorphic objects are already equal!   (As you said.)

view this post on Zulip Sam Speight (Feb 20 2023 at 08:08):

David Egolf said:

Graham Manuell said:

Yes. The proof is just like the usual proof that a small complete category is a preorder.

Thanks for the link! This is quite interesting. I may ask some questions about this proof in a separate thread, to keep this one organized.

Note that while this holds classically, it does not hold constructively in general.

view this post on Zulip Graham Manuell (Feb 20 2023 at 13:55):

Yes, though I think the finite version does hold constructively, depending on what you mean by finite.

view this post on Zulip Sam Speight (Feb 20 2023 at 15:59):

(deleted)

view this post on Zulip Sam Speight (Feb 20 2023 at 16:02):

Graham Manuell said:

Yes, though I think the finite version does hold constructively, depending on what you mean by finite.

Ah interesting! Even as I wrote I wondered whether small=finite is okay! :)

view this post on Zulip John Baez (Feb 20 2023 at 17:58):

I wonder that too!

view this post on Zulip Graham Manuell (Feb 20 2023 at 23:24):

The point is that if XX and BB are Bishop-finite and B>1|B| > 1 then BXB^X can't inject into XX even constructively since we have bn>nb^n > n for b2b \ge 2.