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: Question on Products


view this post on Zulip Julius Hamilton (May 20 2024 at 16:41):

In a category, a product of two objects (AA and BB) is:

That is:

Does this mean that there is only one map from DD to CC, or that there is only one map which meets the condition (of making the diagram commute)?

Is there an example of a diagram with 2 distinct maps which make the diagram commute?

view this post on Zulip John Baez (May 20 2024 at 16:55):

Julius Hamilton said:

Does this mean that there is only one map from DD to CC, or that there is only one map which meets the condition (of making the diagram commute)?

It must be the unique morphism that makes a certain diagram commute. The definition is clearly stated here.

view this post on Zulip John Baez (May 20 2024 at 16:56):

Julius Hamilton said:

I'm afraid you're being being overoptimistic: what you're calling the "fourth object" is not required to be distinct from the object AA, BB and their putative product CC - it can really be any object in the category, including A,BA, B, and CC. So it's not true that any category at most 3 objects automatically has products, as your comment "we are in the clear" seems to suggest.

It's a good exercise to write down an example of a category with 3 objects that does have products, and also a category with 3 objects that does not have products.

To constrain your search a bit, let me add: you can find both examples using categories that have at most one morphism from any object to any object.

view this post on Zulip John Baez (May 20 2024 at 17:01):

It doesn’t correspond to the intuition of, say, a (cartographic) map: if I can take two different ways to get to the same destination, should not those routes be considered “equivalent”?

I would not consider walking to my office "equivalent" to taking a bus to the airport, hopping on a plane, hijacking the plane and then jumping off the plane and parachuting down to my office. The starting point and the endpoint of the two trips are the same, but the journeys themselves are very different.

Or, to put it using more math jargon: there's more information in a morphism than merely its source and target.

view this post on Zulip John Baez (May 20 2024 at 17:36):

If you want to require that all morphisms with the same target xx and the same target yy are equal, you're allowed to, but adding this extra requirement singles out a special sort of category called a [[preorder]].

view this post on Zulip Julius Hamilton (May 21 2024 at 00:19):

Thanks. I drew some diagrams of three object categories earlier and it was really helpful. I can share them later. The following is just a normal diagram of a product.

AC506A90-58BD-452F-A871-8A1F9E59A972.jpg

I am trying to figure out what the problem is if uu is not the only morphism from XA×BX \to A \times B that makes the diagram commute.

Mike Shulman mentioned that the product is the terminal object in the category of spans (spans of 2 objects XX and YY, I assume). I find that really interesting.

I know the terminal object is defined as having only one arrow into it from all other objects.

In the category of sets, if A×BA \times B is the Cartesian product of two sets, what can we imagine XX looks like?

If singleton, it selects an element from AA and BB. Assuming arrows A×BAA \times B \to A and A×BBA \times B \to B are always “projection maps” which map, for example, (3,2)(3,2) to 33 (or 22), then if f:XAf: X \to A “selected” 33, and g:XBg: X \to B selected 22, then in order to commute, uu has to map the only element of XX to (3,2)(3,2).

If XX has more than one element, I think we can assume the same, just for possibly multiple ordered pairs in A×BA \times B. So if XX, a set with two elements, has one map which maps one element aa to 1 in A, and the other bb to 2 in A; and another map which maps an element aa to 3 in B, and an element bb to 4 in B, then we know exactly which element in A×BA \times B uu maps XX into: aa must be mapped to ordered pair (1,3)(1,3), and bb to (2,4)(2,4).

I think that is what the significance of the “uniqueness” of uu is - that for any two maps from XX to AA and BB, we know exactly which element in the product of AA and BB uu must map to in order to find the “corresponding” element.

So in a way, the product of two objects is like an object that can internally track the data of two other objects and is always in correspondence with them.

view this post on Zulip David Egolf (May 21 2024 at 00:57):

Julius Hamilton said:

So in a way, the product of two objects is like an object that can internally track the data of two other objects and is always in correspondence with them.

I drew a picture in this spirit, to elaborate on this point:
picture

Here, 11 is a set with a single element. I'll call its single element *. The function sas_a then "selects" the element aa, so that sa()=as_a(*)=a. Similarly, sb()=bs_b(*)=b. (I was tempted to call these functions by the names aa and bb, corresponding to the elements they point out, but I thought that could potentially be needlessly confusing).

The function pAp_A "projects to AA" by sending any pair (x,y)A×B(x,y) \in A \times B to xAx \in A. Similarly, pB(x,y)=yBp_B(x,y) = y \in B for any (x,y)A×B(x,y) \in A \times B.

Given this, there is then a unique function s(a,b):1A×Bs_{(a,b)}: 1 \to A \times B so that the diagram I've drawn commutes. Namely, we must have s(a,b)()=(a,b)s_{(a,b)}(*) = (a,b).

We can also do this kind of thing in the opposite direction: if I pick some function from 11 to A×BA \times B, that will induce two functions if we wish for the diagram I drew above to commute. We'll get one from 11 to AA and one from 11 to BB, which pick out the coordinates of the element of A×BA \times B that our function to A×BA \times B picked out.

So, we have two equivalent things - in the sense that if you give me one, I can get the other by requiring the above diagram to commute:

This situation is very similar to the fact that specifying an element of AA and an element of BB is equivalent to specifying an element of A×BA \times B.

view this post on Zulip John Baez (May 21 2024 at 06:15):

John Baez said:

It's a good exercise to write down an example of a category with 3 objects that does have products, and also a category with 3 objects that does not have products.

To constrain your search a bit, let me add: you can find both examples using categories that have at most one morphism from any object to any object.

Since Julius didn't answer this puzzle I'll provide some answers.

Some answers

view this post on Zulip Eric M Downes (May 21 2024 at 12:23):

(In case anyone else is wondering how John Baez magicked up the "Some answers" block in Zulip, see "Spoilers" here)

reply to "some answers"

view this post on Zulip John Baez (May 21 2024 at 13:38):

Eric M Downes said:

At the risk of speaking for them, I think one thing Julius is trying to highlight though, are the confusing vacuous possibilities in the definition of A×BA\times B; to wit, does an object need to have morphisms to both AA and BB in order to even be considered a candidate product?

Maybe your question was rhetorical but I'll answer it. Yes, any product of AA and BB must be, for starters, an object equipped with a morphism to AA and a morphism to BB. Then it must obey a universal property... which may be vacuous in some cases.

This is the definition with which I am familiar.

"A×BA\times B is the object, unique up to isomorphism, with morphisms πA:A×BA, πB:A×BB\pi_A:A\times B\to A, ~\pi_B:A\times B\to B such that for every object CC with morphisms α:CA\alpha:C\to A and β:CB\beta:C\to B, there exists a unique morphism u:CA×B; α=πAu, β=πBuu:C\to A\times B; ~\alpha = \pi_A\circ u,~ \beta=\pi_B\circ u."

Since we are getting very precise and nitpicky, I'll admit I don't like the phrase "A×BA \times B is the object", for three reasons. First, amateurs are often fooled into thinking that A×BA \times B is the name of a specific object (i.e. unique up to equality rather than up to a unique isomorphism). Second, and relatedly, speaking of "the" object suggests that this object is unique up to equality. Third, "the" suggests that this object must exist. So for beginners I'd say this:

A product of AA and BB is an object XX equipped with morphisms πA:XA, πB:XB\pi_A: X\to A, ~\pi_B:X \to B such that for every object CC and pair of morphisms α:CA\alpha:C\to A and β:CB\beta:C\to B, there exists a unique morphism u:CXu:C\to X such that α=πAu, β=πBu\alpha = \pi_A\circ u,~ \beta=\pi_B\circ u.

Then I'd prove that when the product exists, it's unique up to a unique isomorphism. Then I'd say that given this, we allow ourselves to pick any one and call it A×BA \times B. Later, when the beginner becomes sophisticated enough to understand the "generalized the" and homotopy type theory, we can revisit these matters.

In your discrete category, there is no such object CC with morphisms that could qualify for any distinct pair, so one might think there is no rule unsatisfied by "for all", e.g. we might have that a discrete category is vacuously a category-with-products.

One might, but I wouldn't. For a discrete category the universal clause is vacuously true so the definition reduces to

A product of AA and BB is an object XX equipped with morphisms πA:XA, πB:XB\pi_A: X\to A, ~\pi_B:X \to B such that TRUTH IS TRUE.

and thus

A product of AA and BB is an object XX equipped with morphisms πA:XA, πB:XB\pi_A: X\to A, ~\pi_B:X \to B.

but in a discrete category such an object XX exists iff A=BA = B. So we see that in a discrete category every object has a product with itself, but not with any other object.

view this post on Zulip John Baez (May 21 2024 at 13:46):

I agree that my example of a 3-object category without binary products is a bit weird, and it's good to make up other examples that illustrate other things that can go wrong. But if my example was confusing that's probably good. Confusingly degenerate cases are a great way to check one's thinking.

view this post on Zulip Eric M Downes (May 21 2024 at 13:51):

I really like splitting up the definition into steps. (1) an object, (2) prove uniqueness up to isomorphism/unique-iso/equivalence/whatever. That's very ergonomic and good pedagogy -- its almost like you have deacdes of experience doing this! :)

view this post on Zulip Julius Hamilton (May 23 2024 at 15:49):

It’s interesting how simple one’s understanding of something can become once you’ve worked through it from different angles. I now feel like the product is so simple.

The product object of some objects is an object with morphisms to each of the objects, which we call “projections”.

For any other object with a definable morphism to each of those objects, it corresponds to a specific map into the product object.

Thus, the product object indeed “contains the data” of a bunch of other objects.

I feel like it’s simpler and clearer now.

view this post on Zulip Julius Hamilton (May 23 2024 at 16:45):

But that said, I don’t like my use of the word “contains”.

view this post on Zulip Julius Hamilton (May 23 2024 at 16:46):

I’m curious if there is a method to convert any abstract category into a specific structure having that categorical structure.

view this post on Zulip Spencer Breiner (May 23 2024 at 17:59):

Julius Hamilton said:

But that said, I don’t like my use of the word “contains”.

If you haven't seen it already, [[generalized element]] is a good place to look.

view this post on Zulip Spencer Breiner (May 23 2024 at 18:02):

The basic idea is that any arrow SXS\to X can be thought of as an "element contained in XX", but that different elements might have different "shapes", corresponding to different domains.

I find the geometric examples most intuitive. An ordinary point (x1,x2)X=R2(x_1,x_2)\in X=\R^2 corresponds to a "point-shaped" element, whereas a curve (x1(t),x2(t))R2(x_1(t),x_2(t))\in\R^2 corresponds to an "interval-shaped" element.

view this post on Zulip Julius Hamilton (May 23 2024 at 18:15):

I like that.

I’ve been wondering if one ever studies a particular morphism in a category in view of its relationship to every other morphism.

view this post on Zulip Eric M Downes (May 23 2024 at 18:31):

Yes, one often does that! In fact, that is exactly how one proceeds, with morphisms, objects, etc.

A slight tweak to what you have said above: what if it were not per se the object A×BA\times B that "contains the data" of A,BA,B, but the collection of morphisms to and from it that contains the key data?

Well, then, if that were so, would the proper place to learn more be inside the object, or... outside?

view this post on Zulip Julius Hamilton (May 23 2024 at 20:20):

I’m trying to envision how you could describe “the relationships a morphism has to every other morphism in the category”.

For two arbitrary morphisms, what can be said about their “relationship”?

view this post on Zulip Julius Hamilton (May 23 2024 at 20:22):

I was also wondering if constructing the arrow category provides useful information about the original category.

view this post on Zulip Eric M Downes (May 24 2024 at 01:57):

Well, how did we do it with objects?

view this post on Zulip Eric M Downes (May 24 2024 at 01:58):

If I have x,yobj.Cx,y\in obj.{\sf C} how do we express the relationships between them?

view this post on Zulip Julius Hamilton (May 24 2024 at 01:59):

I’m wondering if we basically form a tower of categories where we look at “arrows” between arrows (like in a 2-category) and we can keep going up from there. For a finite category, would be really interesting to see what the “top level” of any given category is.

view this post on Zulip Julius Hamilton (May 24 2024 at 02:07):

I think that I wanted to think of ways to express relationships between things that are more distant from each other - for example, two morphisms with nn morphisms between them. But now I realize that due to the law of composition on arrows, a path of nn morphisms would be equivalent to a single morphism that is their composition.

view this post on Zulip Julius Hamilton (May 24 2024 at 02:08):

So I think I see why you said that it is enough to study just the morphisms to and from an object to all the other objects. This should capture all the information, I think.

view this post on Zulip Eric M Downes (May 24 2024 at 03:07):

(Yes, at least all the information that the category encodes.)

And yes, that tower of arrow categories is a decent picture to have. Do you know what a morphism between morphisms is called? That might be a good place to start.

For instance, one way to think of joins \vee and meets \land on lattices (like max, min or lcm, gcd) is as idempotent monoids. That is, associative algebraic operations having xL; xx=x,xx=x\forall x\in L; ~x\lor x=x, x\land x=x and identities. And because they're associative, we can write things like
{x,y,z}=xyz=(xy)z=x(yz)\bigvee\{x,y,z\}=x\vee y\vee z=(x\vee y)\vee z=x\vee(y\vee z).

Once that makes sense to you... Another way to view them* is as maps from the powerset of the same lattice. :(2L,)(L,)\vee:(2^L,\subseteq)\to(L,\leq). Recalling what a morphism is in a lattice/poset, what property is preserved here?

(* -- there can be issues with finiteness here; some infinite lattices are not "complete" (closed under sufficiently iterated applications of ,\vee,\wedge for subsets, which you can think of as a kind of generalized element.) In topology this happens with \cap. But if your lattice is finite there are no issues, and that's what I recommend starting with to see the general patterns you're trying to internalize here.)

view this post on Zulip Eric M Downes (May 24 2024 at 03:29):

(Or if those aren't familiar enough to you, I highly recommend Spencer's suggestion above: find any simple generalized elements x,yx,y you're familiar with. Then ask what morphisms preserve the key property xyx\to y. Once you're certain what this is, what makes squares commute (xy)    (xy)(x\to y)\implies (x'\to y'). It's helpful to do this within the same category, and between related categories.)

view this post on Zulip Julius Hamilton (May 24 2024 at 12:16):

I will. Still wish I had a convenient way to draw diagrams on my phone.

view this post on Zulip Julius Hamilton (May 24 2024 at 12:18):

I think CD doesn’t have diagonal arrows, but maybe I can get around that by mapping an object to itself with the identity arrow.

view this post on Zulip Julius Hamilton (May 24 2024 at 12:24):

I was thinking about how if one is told, “the following is a diagram in a category”,

ABC\begin{CD} A @>>> B @>>> C \end{CD}

they can immediately know that this arrow exists:

ABidAC\begin{CD} A @>>> B \\@VidVV @VVV \\A @>>> C \end{CD}

view this post on Zulip Julius Hamilton (May 24 2024 at 12:24):

But if we have either of these diagrams:

view this post on Zulip Julius Hamilton (May 24 2024 at 12:28):

ABC\begin{CD} A @>>> B @<<< C \end{CD}

ABC\begin{CD} A @<<< B @>>> C \end{CD}

These arrows don’t necessitate the existence of further arrows.

view this post on Zulip Julius Hamilton (May 24 2024 at 12:29):

I often think of categories as “directed multigraphs with an equivalence relation on paths”.

view this post on Zulip Julius Hamilton (May 24 2024 at 12:31):

I thought of the axiom that arrows are closed under composition as adding arrows. But now I think one can see it as a way of contracting paths. It allows one to reduce multi-arrow paths to single arrows, so it allows you to specify a category with less arrows.

view this post on Zulip Julius Hamilton (May 24 2024 at 12:33):

I’m wondering if this implies the ability to reduce a category to its generator arrows, and if every category (first the finite case, then the infinite case) has a single unique “reduction” to generator arrows, or not.

view this post on Zulip Julius Hamilton (May 24 2024 at 15:00):

That tower of arrow categories is a decent picture to have.

Does it have a name?

Do you know what a morphism between morphisms is called?

I would say a 2-morphism, but I think it can also be seen as an endofunctor. In which case, we want to know all the endofunctors on a category CC, because we aren’t interested in re-mappings of the morphisms that don’t preserve categorical structure, because we want to make use of relationships discovered between the arrows to draw inferences about the original category and the relationship between its objects.

Now, I’ve heard that sometimes one studies an algebraic object by studying its symmetries. Furthermore, a one-object category is a monoid. So it seems like the set of endofunctors on a category is a monoid, under composition.

Then the question becomes what we can discover are relationships between a category and its category of endofunctors.

I’ll see if I can draw any interesting diagrams about this.

view this post on Zulip Julius Hamilton (May 24 2024 at 15:22):

For instance, one way to think of joins \vee and meets \land on lattices (like max, min or lcm, gcd) is as idempotent monoids.

Are you saying that lattices are monoids with the property that aa=aa \cdot a = a for all aa? I’ll need to investigate this.

Another way to view them is as maps from the powerset of the same lattice.

The powerset presents all sub-selections of a collection of elements. Because the lattice operation should be associative, we can ask, “What is the join of …?” for any selection of elements in the lattice.

:(2L,)(L,)\vee:(2^L,\subseteq)\to(L,\leq). Recalling what a morphism is in a lattice/poset, what property is preserved here?

In a posetal category, I think of a morphism as an element of the partial order relation. To say that xHom(A,B)x \in Hom(A, B) is equivalent to saying ABA \leq B. I think you are getting at that the above map is order-preserving, but I need to think a bit more about the big picture of what you are saying.

view this post on Zulip Todd Trimble (May 24 2024 at 15:31):

Are you saying that lattices are monoids with the property that aa=aa \cdot a=a for all aa? I’ll need to investigate this.

Yes, idempotent commutative monoids can also be thought of either as join-semilattices, or as meet-semilattices, depending on how you define the order. One way to define it is to say aba \leq b if a=aba = a \cdot b, and there the multiplication becomes the meet. The other way is to define aba \leq b if ab=ba \cdot b = b, and there the operation becomes the join.

view this post on Zulip Julius Hamilton (May 24 2024 at 15:39):

find any simple generalized elements x,yx,y you're familiar with.

I have to digest this.

A “generalized element” is a morphism.

For example, a map from a singleton set to a set XX selects an element in XX.

But the idea is generalized to where a map selects multiple elements in its codomain, and if the map is non-injective, the domain acts more like an index of those elements in the codomain.

Then ask what morphisms preserve the key property xyx\to y.

I think you are saying that we can think of binary relations on sets as reflecting “properties” of those elements, but when generalized to “generalized elements”, the question is about endofunctors.

Once you're certain what this is, what makes squares commute (xy)    (xy)(x\to y)\implies (x'\to y'). It's helpful to do this within the same category, and between related categories.

I don’t follow. I’d love a hint or a little clarification, please. Thanks.

view this post on Zulip David Egolf (May 24 2024 at 17:06):

Julius Hamilton said:

I will. Still wish I had a convenient way to draw diagrams on my phone.

I don't know if this works on a phone, and you may have seen it already, but this is what I use to draw diagrams quickly: https://q.uiver.app/ .

view this post on Zulip Eric M Downes (May 24 2024 at 18:27):

Thanks for the correction @Todd Trimble yes idempotent non-commutative monoids are known as "bands" I have recently learned... which makes sense really, given how self-involved musicians can be! XD

view this post on Zulip Julius Hamilton (May 24 2024 at 19:42):

I’m quite excited to continue this conversation, since I have been studying monoid objects, thinking about categories of endofunctors, and can now connect these notions to the definition of a monad as a monoid object in the category of endofunctors.

view this post on Zulip Eric M Downes (May 24 2024 at 19:54):

Julius Hamilton said:

find any simple generalized elements x,yx,y you're familiar with.

I have to digest this.

A “generalized element” is a morphism. (...)

Yeah. And the domains of morphisms in C\sf C may themselves be diagrams in a different category D\sf D, e.g. when there is a projective functor F:DCF:{\sf D\to C}! So a morphism implicitly "projects" that "shape" into the codomain, like with plato's cave. So some generalized elements to think about (how do I form them, in what cat do theyblive, etc.) are: lines, loops, spans YSXY\leftarrow S\to X, etc.

I think you are saying that we can think of binary relations on sets as reflecting “properties” of those
elements, but when generalized to “generalized elements”, the question is about endofunctors.

Or just functors more generally. A Category C\sf C encodes certain kinds of information, so to learn possibly relevant information that is "out of scope" of C\sf C usually involves knowing about functors to other categories.

Regarding binary operators and relations. I like to curry binary-things into (left or right) actions XXY XX\to Y becomes X(XY)X\to(X\to Y), or XYXX\to Y^X if the ambient category has exponential objects (internal homs). This is a great way to study groups, monoids, etc. but is also useful in programming.

So in Set\sf Set a curried binary relation becomes a map from elements to a power set X2YX\to 2^Y and a binary operator becomes a map XXXX\to X^X returning functions from the set to itself. The object XXX^X can be completed to a monoid M\sf M if it is not already, and this monoid can be used to form a functor category CM\sf C^M, which is very powerful. But understand functors first!

Once you're certain what this is, what makes squares commute (xy)    (xy)(x\to y)\implies (x'\to y').
It's helpful to do this within the same category, and between related categories.
I don’t follow. I’d love a hint or a little clarification, please. Thanks.

I mean, within a category you might have higher structures on specific pairs of objects and morphisms, 2-morphisms and the like, as you alluded to, that correspond to commuting diagrams. Or you can have endofunctors defined on the whole category, functors to a different category, etc. etc.

But, beware that stuff gets abstract real quick! Now that you have a taste of universal properties by understanding what a categorical product is, you're primed to assemble a toolkit of categories to lock in that understanding, and keep "in pocket" whenever you encounter a new theorem/whatever.

At least have one system you understand decently well so you can build intuition and sanity check your ideas against it. So, the recommendation is

  1. what are the objects of your system
  2. what are the morphisms (and check they compose)
  3. now can you come up with functors, products, etc.

And Actually try to prove the claims that such-and-such is a category/morphism/pushout/product. It's painful at first, but 100% worth it.

I was suggesting to start with lattices because posets are easy and there are many examples of lattices in mathematics.

But generally I just recommend to have some sample categories in your toolkit. Especially if you learn best by working on projects, rather than reading and proving theorems. If mathematics isn't your thing, that's ok, instead perhaps use functional programming for examples. Bartosz Milewski has some great lectures on youtube and Scala is a very categorical language that is actually in-demand in industry.

view this post on Zulip Eric M Downes (May 24 2024 at 20:00):

Julius Hamilton said:

I’m quite excited to continue this conversation, since I have been studying monoid objects, thinking about categories of endofunctors, and can now connect these notions to the definition of a monad as a monoid object in the category of endofunctors.

Oh definitely check out Bartosz' lectures then!

And once you have done so, and have a sense for monads, I strongly recommend Maika Zwarte's talk on distributive laws and how they fail in certain cases -- its great to see examples where well-defined things don't compose, and monads are a source of such examples. It's very accessible and you can even implement the compositions she's talking about.

view this post on Zulip Julius Hamilton (May 24 2024 at 20:51):

A monoid object requires a notion of product.
A product will be an object that in a way can represent the data of two objects - since it maps the “generalized element” (?) from some object XX to A×BA \times B, to AA and BB, via projection morphisms.

Since a functor is a map (from objects to objects), and a family of maps (from each Hom-set to the corresponding Hom-set), a “product functor” needs to preserve the information of both of those things, for 2 functors. It can preserve info about each set of objects by taking the Cartesian product of those two sets. It can preserve info about the families of Hom-set mappings by taking the Cartesian product of the two families.

So for two distinct functors F:CDF: C \to D, G:EFG: E \to F, an element of the set of object maps would look like ordered pairs of objects, one from each category; for example, (XC,YE)(MD,NF)(X \in C, Y \in E) \to (M \in D, N \in F). And an element of the family of Hom-set mappings would be a pair of maps (Hom(AC,BC)Hom(F(A),F(B)),Hom(SE,TF)Hom(G(S),G(T))(Hom(A \in C, B \in C) \to Hom(F(A), F(B)), Hom(S \in E, T \in F) \to Hom(G(S), G(T)).

I think that in “set-enriched category theory”, the product of two functors is equivalent to the Cartesian product of the two sets of object maps, and the Cartesian product of the two families of Hom-set maps (assuming we can treat a “family” as a set).

So, let’s say then that the product of a functor with itself, F×FF \times F, is well-defined. As a monoid object, we have the “monoid operation” m:F×FFm: F \times F \to F.

Since this is a map between functors, I am going to assume this is a natural transformation; but I haven’t studied natural transformations much yet.

The map must be associative:

F×F×FF×FF×FF\begin{CD} F \times F \times F @>>> F \times F \\ @VVV @VVV \\ F \times F @>>> F \end{CD}

I am missing labels on the arrows because I am still working on understanding what an arrow labeled 1×m1 \times m really means.

Then we also have the unitality map from a terminal object to represent the identity element. Will skip this for now.

The question will be, once I see more clearly what a monad is, why it is a useful construct; what we can do with it.

view this post on Zulip Julius Hamilton (May 24 2024 at 21:08):

John Baez said:

There are also more interesting examples to think about, like the category with objects a,b,ca, b, c and 1 morphism from each object to itself and also 1 morphism aca \to c and one morphism bcb \to c. Does this category have binary products?

I thought I knew the answer but am now thinking through some more particular details. This is just a partial answer.

I’m checking if an object CC is a product of two objects AA and BB by checking a few questions.

  1. Does the object CC have a morphism to AA and to BB?
  2. What are all the objects that have a morphism both to AA and BB?
  3. For each object XX with a morphism to AA and BB, is there a morphism u1u_1 from XX to CC which we can prove “makes the paths equivalent”, and is it unique? (Which we can show by assuming that if there is a second such morphism u2u_2, u2=u1u_2 = u_1.)

I’ll complete my answer soon. No need to give me the answer. Thanks.

Eric mentioned that in a lattice, every element is idempotent. I am curious if there is a category where an object is not idempotent with respect to the product.

I did actually do some drawing on the day you posted this message - (Chick Fil A napkin, lol):

065BC907-217B-4BEC-9461-B772DFF4C22B.jpg

I felt like it was very easy to “see” products. I think of them as the “nearest upstream element”.

Eric mentioned that the max function generates a lattice; which is what I mean by being “upstream”. I’m not sure if the max function is identifiable with products or if it is a special case of them.

view this post on Zulip David Egolf (May 24 2024 at 21:24):

(I found the first section of Probability Monads to be quite helpful for thinking about monoids in monoidal categories, and the particular case of a monad.)

view this post on Zulip Julius Hamilton (May 24 2024 at 21:25):

Yeah that’s gonna be fun :star:

view this post on Zulip Julius Hamilton (May 24 2024 at 21:27):

Then this unlocks the door to this https://en.m.wikipedia.org/wiki/Kleisli_category

view this post on Zulip Eric M Downes (May 24 2024 at 21:48):

Julius Hamilton said:

Eric mentioned that in a lattice, every element is idempotent. I am curious if there is a category where an object is not idempotent with respect to the product.

See if you can work out why (look at the definitions!) the categorical product becomes idempotent in a poset/lattice. Or see below for another example with clear definition.

Which is to say: IMO you will benefit most by slowing down a bit. Your ideas are valuable, get them down 100%, but never underestimate the value of thinking of simple and fundamental things, from a place where you honestly understand. Rushing does not help us especially in category theory; I apologize for possibly throwing too many ideas at you at once.

Your concept of a product on functors is a thing, and very interesting and worthy of investigation, but its not the best model for a generic natural transformation. I would strongly recommend slowing down and really just try to understand lattices, then functors first, applied to lattices. Work through the definitions and actually prove them out. Then more basic kinds of natural transformations. You'll be there soon enough.

Eric mentioned that the max function generates a lattice; which is what I mean by being “upstream”. I’m not sure if the max function is identifiable with products or if it is a special case of them.

As for the max, to be clearer: max generates a "join semilattice", and is the product on (X,)op(X,\leq)^{op}. (why op?) To get something that isn't just a linear order, work over a set like X=N×NX=\mathbb{N}\times\mathbb{N}.

If you want a non-op-example, use greatest common denominator/divisor gcd\gcd on the integers X=ZX=\mathbb{Z} using the following definition (hopefully you understand the mathese? if not ask)

x,y,vZ; v=gcd(x,y)    [zZ,zx and zy    zv]\forall x,y,v\in\mathbb{Z};~v = gcd(x,y)\iff [\forall z\in\mathbb{Z}, \, z|x~{and}~ z|y\implies z|v]

where "divides" plays the part of \leq and is defined: a,b,cZ;ab    cZ; b=ac\forall a,b,c\in\mathbb{Z}; a|b\implies \exists c\in\mathbb{Z};~b = a*c.

I think that is not as obvious as max, but still very accessible and will give you good experience working with the definitions to actually prove your ideas/conjectures/questions! Then you'll really start to get it -- you're very close, but first you have to suffer through the actual working out of the proofs. I know of no other way to really make durable progress.

view this post on Zulip Eric M Downes (May 24 2024 at 22:10):

David Egolf said:

(I found the first section of Probability Monads to be quite helpful for thinking about monoids in monoidal categories, and the particular case of a monad.)

Yes! You know @David Egolf, Paolo Perrone (who has done a lot of work with the Giry monad and is a great speaker) is giving a talk in our seminar series in about a month? I bet time spent on that paper above, before Paolo's talk will be beneficial. Thankfully, we record all talks, so you can still get most of the benefit if it takes longer, in case sheaves and topoi prove too delicious. :)

view this post on Zulip David Egolf (May 24 2024 at 22:24):

Awesome! And it's great to hear the talks will be recorded!