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: Puzzle: Finitely complete categories


view this post on Zulip Eric Forgy (Jan 18 2021 at 00:58):

Todd Trimble said:

Eric Forgy said:

I can kind of see how some ambiguity around the term "cartesian category" arises. If a category has a terminal object and pullbacks, then it is cartesian monoidal, but more because it has all finite limits. A cartesian monoidal category has a terminal object and finite products, but might not have pullbacks and hence may not be finitely complete.

Incidentally, do you know how to show a category is finitely complete if it has pullbacks and a terminal object? (If it's not an immediate yes, then it's not a bad idea to see whether you can form products and equalizers and establish their universal properties, without going to the nLab or anything else.)

I think I can do this :blush:

I recently pointed out that if your category has a terminal object, then you can form spans
{}
1A1.1\leftarrow A\rightarrow 1.
{}
The two legs are actually the same because there is only one morphisms A1A\to 1 (up to isomorphism).
{}
If your category also has pullbacks, we can compose (which is non-associative btw) two such spans giving
{}
1A×1B1,1\leftarrow A\times_1 B\rightarrow 1,
{}
but it turns out that A×1BA\times_1 B is just the usual cartesian product A×B.A\times B. This gives us finite products.

For arbitrary finite diagrams? :thinking:

I'm not sure, but I think the general trick is to form spans to the terminal object (which enforces commutating diagrams because any two paths to the terminal object need to be the same) and use pullback.

view this post on Zulip Todd Trimble (Jan 18 2021 at 01:13):

How is A×1BA \times_1 B defined, and how do you know that A×1BA \times_1 B is the usual cartesian product? (Perhaps this was gone into up-thread, in which case a link would be fine.)

Once this is done, the next step would be how to define equalizers in terms of products and pullbacks. That's a little harder.

The hardest would be general finite limits in terms of products and equalizers. But let's wait until we come to that bridge.

view this post on Zulip Eric Forgy (Jan 18 2021 at 02:52):

How is A×1BA \times_1 B defined and how do you know that A×1BA \times_1 B is the usual cartesian product?

{}
A×1BA\times_1 B is the pullback of the cospan At1sB.A\overset{t}{\rightarrow} 1\overset{s}{\leftarrow} B.
{}
It is defined as the universal object with two morphisms π1:A×1BA\pi_1:A\times_1 B\to A and π2:A×1BB\pi_2: A\times_1 B\to B such that
{}
tπ1=sπ2.t\circ \pi_1 = s\circ \pi_2.
{}
However, tπ1t\circ\pi_1 is always equal to sπ2s\circ\pi_2 because they both map from A×1BA\times_1 B to the terminal object (and there is only one of those so they must be equal) so the condition is superfluous and A×1BA\times_1 B is simply the universal object with two morphisms π1:A×1BA\pi_1:A\times_1 B\to A and π2:A×1BB.\pi_2: A\times_1 B\to B. This is the definition of cartesian product so A×1B=A×B.A\times_1 B = A\times B.

view this post on Zulip Todd Trimble (Jan 18 2021 at 03:14):

Okay, that looks good. You're ready for your next assignment. I won't give any hints for now.

view this post on Zulip Eric Forgy (Jan 18 2021 at 05:58):

[Sorry for the delay. Dinner, kids, etc :sweat_smile:]
{}

Once this is done, the next step would be how to define equalizers in terms of products and pullbacks. That's a little harder.

{}
Given two morphisms f:ABf:A\to B and g:AB,g:A\to B, their equalizer eq(f,g)\mathsf{eq}(f,g) is related to the pullback of the cospan
{}
AfBgA.A\overset{f}{\rightarrow} B \overset{g}{\leftarrow} A.
{}
i.e. A×BA. A\times_B A. This is like pairs (a,a)A×A(a,a')\in A\times A (although AA may not have "elements") such that f(a)=g(a).f(a) = g(a').
{}
[Confession: I initially posted this as my answer, i.e. I thought the equalizer was the pullback (oops!), but then I peaked at the nLab. I probably would not (within a reasonable amount of time) be able to figure this out on my own.]
{}
By the definition of product, there is a unique morphism
{}
ϕ:A×BAA×A\phi: A\times_B A\to A\times A
{}
and there is also a unique diagonal map
{}
Δ:AA×A.\Delta: A\to A\times A.
{}
The equalizer eq(f,g)\mathsf{eq}(f,g) is the pullback of the cospan
{}
(A×BA)ϕ(A×A)ΔA.(A\times_B A)\overset{\phi}{\rightarrow} (A\times A)\overset{\Delta}{\leftarrow} A.
{}
This expresses the equalizer
{}
eq(f,g)=(A×BA)×A×AA.\mathsf{eq}(f,g) = (A\times_B A)\times_{A\times A} A.
{}
in terms of products and pullbacks.
{}

The hardest would be general finite limits in terms of products and equalizers. But let's wait until we come to that bridge.

{}
:fear:

view this post on Zulip Todd Trimble (Jan 18 2021 at 14:42):

"By the definition of product, there is a unique morphism

ϕ:A×BAA×A\phi: A\times_B A\to A\times A"

Are you sure you meant to say this? (It's not true.) If not, then what did you really mean?

view this post on Zulip Todd Trimble (Jan 18 2021 at 14:49):

"and there is also a unique diagonal map

Δ:AA×A.\Delta: A\to A\times A."

This is an odd way of speaking. If you had merely said, "Let Δ:AA×A\Delta: A \to A \times A be the diagonal map..." or something, nothing would have looked amiss to me, but since you did say what you said, I'm going to spot-check your understanding. How is the diagonal map defined again?

Finally, how would you verify that the construction you give really does give the equalizer?

view this post on Zulip Todd Trimble (Jan 18 2021 at 16:14):

In case it wasn't clear what I meant by my first complaint: suppose for instance BB is a 1-element set and AA a 2-element set. Then both A×BAA \times_B A and A×AA \times A have 4 elements, hence the number of morphisms from one to the other is 444^4.

view this post on Zulip Eric Forgy (Jan 18 2021 at 17:11):

Hi Todd :wave: Good morning :coffee:

Todd Trimble said:

"By the definition of product, there is a unique morphism

ϕ:A×BAA×A\phi: A\times_B A\to A\times A"

Are you sure you meant to say this? (It's not true.) If not, then what did you really mean?

I see. As you requested, I really tried this without help from any references and I've not yet had a need to commit a lot of these basic definitions to memory. I use this stuff on a need-to-know basis. For the first 50 years of my life, a product had always been:
{}
X×Y={(x,y)xX,yY}X\times Y = \{(x,y) | x\in X, y\in Y\}
{}
and that is enough for a PhD in engineering / physics (and a long career in finance) :sweat_smile: Until recently (because I need to know now for a paper I'm working on), I've never actually needed to chase diagrams so I'm less familiar with the CT / diagram approach and truly appreciate the help :pray:

I (thought I) knew that the universal property of product A×BA\times B (as a span Aπ1A×Bπ2BA\overset{\pi_1}{\leftarrow} A\times B\overset{\pi_2}{\rightarrow} B ) means that for any other span AXB,A\leftarrow X\rightarrow B, there is a unique map of spans (i.e. commuting diagram) defined by a unique (up to isomorphism) morphism XA×B,X\to A\times B, i.e. the following diagram commutes:

image.png

{}
I think of product as a kind of "universal span". Since AA×BCCA\leftarrow A\times_B C\rightarrow C is a span and AA×CCA\leftarrow A\times C \rightarrow C is the universal span (among all such spans ACA\to C), I thought the definition of product meant there is a unique morphism
{}
ϕ:A×BCA×C.\phi: A\times_B C\to A\times C.
{}

view this post on Zulip Ben Sprott (Jan 18 2021 at 17:14):

I am snooping on this conversation and have to admit, I'm a bit jealous. This is the kind of interaction I have, at one time or another, wished to have with Todd. Unfortunately, I was never a good enough Category Theorist nor have I had the time to put in the effort to keep up my side of it. This is in spite of Todd's great patience and good guidance. It's nice to see happening in real time.

view this post on Zulip Todd Trimble (Jan 18 2021 at 17:31):

Ben Sprott said:

I am snooping on this conversation and have to admit, I'm a bit jealous. This is the kind of interaction I have, at one time or another, wished to have with Todd. Unfortunately, I was never a good enough Category Theorist nor have I had the time to put in the effort to keep up my side of it. This is in spite of Todd's great patience and good guidance. It's nice to see happening in real time.

It really is a matter of knuckling under and working close to the ground and getting one's hands dirty with the basics of the subject. What I'm appreciating from Eric is the courage doing so in public.

view this post on Zulip Eric Forgy (Jan 18 2021 at 17:32):

Todd Trimble said:

"and there is also a unique diagonal map

Δ:AA×A.\Delta: A\to A\times A."

This is an odd way of speaking. If you had merely said, "Let Δ:AA×A\Delta: A \to A \times A be the diagonal map..." or something, nothing would have looked amiss to me, but since you did say what you said, I'm going to spot-check your understanding. How is the diagonal map defined again?

After working through the generalization of John's puzzles (I never seriously thought about diagonal map before that), I think of the diagonal map as a map of spans (and the opposite of the unital laws):
image.png

{}
(Note: Whenever I say "map of spans", I mean that :point_of_information: and the diagram must commute.)
{}

Finally, how would you verify that the construction you give really does give the equalizer?

I would cheat of course! :smiley:

I would chase the diagram assuming I'm in Set\mathsf{Set} :sweat_smile:
{}
((a,a),a)eq(f,g)π1(a,a)A×BAϕ(a,a)A×A\overset{\mathsf{eq(f,g)}}{((a,a),a)}\overset{\pi_1}{\mapsto} \overset{A\times_B A}{(a,a)}\overset{\phi}{\mapsto} \overset{A\times A}{(a,a)}
{}
((a,a),a)eq(f,g)π2aAΔ(a,a)A×A\overset{\mathsf{eq(f,g)}}{((a,a),a)}\overset{\pi_2}{\mapsto} \overset{A}{a} \overset{\Delta}{\mapsto} \overset{A\times A}{(a,a)}

view this post on Zulip Todd Trimble (Jan 18 2021 at 17:34):

"I thought the definition of product meant there is a unique morphism

ϕ:A×BCA×C.\phi: A\times_B C\to A\times C."

You're still not saying it right! Here, let me get you started: unique morphism ϕ\phi such that...

view this post on Zulip Eric Forgy (Jan 18 2021 at 17:37):

Todd Trimble said:

"I thought the definition of product meant there is a unique morphism

ϕ:A×BCA×C.\phi: A\times_B C\to A\times C."

You're still not saying it right! Here, let me get you started: unique morphism ϕ\phi such that...

"...the following diagram commutes. [insert correct diagram]"? :blush:

view this post on Zulip Eric Forgy (Jan 18 2021 at 17:39):

I still need to calibrate when something is obvious enough not to say it. Product and diagonal maps have obvious diagrams and those diagrams have to obviously commute :thinking:

view this post on Zulip Todd Trimble (Jan 18 2021 at 17:41):

Okay, much better on specifying what the diagonal map is: it's the unique map Δ:AA×A\Delta: A \to A \times A such that π1Δ=1A=π2Δ\pi_1 \circ \Delta = 1_A = \pi_2 \circ \Delta (which is what you said with the morphism of spans, except the word unique was not in there).

Moral: to specify a map into a product, it suffices to say what its composites with the projection maps are. That, of course, is the universal property of a product.

There is a general notation here: (f,g):AB×C(f, g): A \to B \times C is defined to be the unique map such that π1(f,g)=f\pi_1 \circ (f, g) = f and π2(f,g)=g\pi_2 \circ (f, g) = g. With that, you can define ΔA=(1A,1A)\Delta_A = (1_A, 1_A).

view this post on Zulip Todd Trimble (Jan 18 2021 at 17:44):

Eric Forgy said:

I still need to calibrate when something is obvious enough not to say it. Product and diagonal maps have obvious diagrams and those diagrams have to obviously commute :thinking:

Start by avoiding saying something that is obviously false. :-) The shorthand expression that category theorists use (after they have "earned their stripes", so to speak) is "the canonical map blah-blah-blah". But students in first-year category theory don't get to say that yet. :-(

view this post on Zulip Eric Forgy (Jan 18 2021 at 17:45):

Fair enough :joy:

view this post on Zulip Todd Trimble (Jan 18 2021 at 17:50):

Okay, on to "the equalizer". When I said "how would you verify that is the equalizer", I meant how would you verify that your general recipe for constructing eq(f,g)\textsf{eq}(f, g) works. It looks like you were starting to say something else instead, not addressing that general question.

Anyway, yes: chasing elements in Set is not a bad idea here, and can lead to a full-fledged proof that works for general categories. In fact, there is a general "Yoneda principle" that can be used to reduce such questions to the case Set, but I don't think we're quite ready to discuss that.

Anyway, let's try verifying that your recipe works for Set -- that's not a bad way to begin.

view this post on Zulip Eric Forgy (Jan 18 2021 at 17:56):

Ben Sprott said:

I am snooping on this conversation and have to admit, I'm a bit jealous. This is the kind of interaction I have, at one time or another, wished to have with Todd. Unfortunately, I was never a good enough Category Theorist nor have I had the time to put in the effort to keep up my side of it. This is in spite of Todd's great patience and good guidance. It's nice to see happening in real time.

:joy:

I think the common hope among us is that by me asking these (sometimes very stupid) questions and me making very public (sometimes very stupid) mistakes that others can learn. No one ever writes a book on "The wrong ways to do category theory." Even my stupidest questions and my stupidest comments I'm sure have crossed the minds of other science students before. So it is a mixture of selfishness (I need to know this stuff) and altruism (I know other people need to know this stuff) that I am fine to put myself out there like this. It is for the greater good :blush: On the plus side, I now know 10,000 ways how not to do category theory. That will make me (and has always made me) a good / empathetic educator - believe it or not :nerd:

view this post on Zulip Todd Trimble (Jan 18 2021 at 18:01):

Well, I'm trying to emulate John's sort of "tough love" approach. I'll try to avoid being or sounding like a total asshole in the process. :-)

view this post on Zulip Todd Trimble (Jan 18 2021 at 18:12):

Actually, I'm looking back now at your recipe for constructing eq(f,g)\textsf{eq}(f, g), that you say you copied from the nLab, and I have to say, that looks like a pretty inelegant ham-handed construction. As a matter of fact, taking a closer look, it looks plain wrong. Who wrote that, anyway? :-) [I have a guess, but I won't say out loud.] Bonus points for finding the error and correcting it.

view this post on Zulip Todd Trimble (Jan 18 2021 at 18:22):

As a start: forget category theory. Can you write down in ordinary set-theoretic notation what the so-called equalizer of two functions f,g:ABf, g: A \rightrightarrows B between sets is supposed to be?

view this post on Zulip Eric Forgy (Jan 18 2021 at 18:28):

Todd Trimble said:

Anyway, let's try verifying that your recipe works for Set -- that's not a bad way to begin.

:+1:

Well, I knew that the pullback
{}
A×BAA\times_B A
{}
of the cospan
{}
AfBgAA\overset{f}{\rightarrow} B\overset{g}{\leftarrow} A
{}
gets us in the right ballpark. That consists of elements (a,a)(a,a') such that f(a)=g(a).f(a) = g(a').

This set is too big. We want the subset of A×BAA\times_B A with a=a.a= a'.

I couldn't think of a way to do this using only products and pullbacks, so I peaked at the nLab.

The diagonal map is one way to get there because it duplicates a single element: a(a,a).a\mapsto (a,a).

So the nLab forms a cospan
{}
A×BAϕA×AΔA.A\times_B A\overset{\phi}{\rightarrow} A\times A\overset{\Delta}{\leftarrow} A.
{}
Pulling this cospan back, we have two paths
{}
((a,a),a)(a,a)(a,a)((a,a'),a'')\mapsto (a,a')\mapsto (a,a')
{}
and
{}
((a,a),a)a(a,a).((a,a'),a'')\mapsto a''\mapsto (a'',a'').
{}
For this diagram to commute, we need
{}
a=aanda=aa = a''\quad\text{and}\quad a'=a''
{}
so the pullback consists of triples ((a,a),a)(A×A)×A((a,a),a)\in (A\times A)\times A (which is equivalent to just aAa\in A) such that f(a)=g(a).f(a) = g(a).

view this post on Zulip Eric Forgy (Jan 18 2021 at 18:31):

Todd Trimble said:

As a start: forget category theory. Can you write down in ordinary set-theoretic notation what the so-called equalizer of two functions f,g:ABf, g: A \rightrightarrows B between sets is supposed to be?

I can try :blush:
{}
eq(f,g)={aAf(a)=g(a)}.\mathsf{eq}(f,g) = \{ a\in A | f(a) = g(a)\}.

view this post on Zulip Todd Trimble (Jan 18 2021 at 18:38):

Yes, very good. So you're asserting (or rather, imposing) an equality between a pair of elements in the codomain.

The emphasis on equality and pair is of course intentional, but let's start with "pair". Easy question: which pair am I talking about, and in what set does it live?

view this post on Zulip Eric Forgy (Jan 18 2021 at 18:39):

I think you want the pair (f,g).(f,g).

With that hint, maybe I'll take a few moments to see if I can figure out the rest :blush:

view this post on Zulip Todd Trimble (Jan 18 2021 at 18:40):

Eric Forgy said:

I think you want the pair (f,g).(f,g).

With that hint, maybe I'll take a few moments to see if I can figure out the rest :blush:

You leaped ahead a little bit, but I'll let it go for now. You're moving in a good direction, it looks like.

view this post on Zulip Todd Trimble (Jan 18 2021 at 18:51):

Looking back on your message of 1:28, you have made a correct inference, that the underlying object of the pullback you get from that diagram is (isomorphic to) AA, and hopefully it's clear that can't possibly be right. For example, the set you wrote down at my request is usually a proper subset of AA, isn't it?

view this post on Zulip Eric Forgy (Jan 18 2021 at 19:00):

Ok! You gave a hint earlier. So we can form a cospan
{}
A(f,g)B×BΔB.A\overset{(f,g)}{\rightarrow} B\times B \overset{\Delta}{\leftarrow} B.
{}
Pulling this back gives us two paths:
{}
(a,b)a(f(a),g(a))(a,b)\mapsto a\mapsto (f(a),g(a))
{}
(a,b)b(b,b).(a,b)\mapsto b\mapsto (b,b).
{}
For the diagram to commute, we need f(a)=bf(a) = b and g(a)=bg(a) = b, i.e. f(a)=g(a).f(a) = g(a).

view this post on Zulip Todd Trimble (Jan 18 2021 at 19:02):

Excellent! That seems to work in Set, doesn't it? Can you verify that the same construction is going to work in a general category with binary products and pullbacks?

For that, you will have to remember the definition of equalizer in terms of a suitable universal property.

view this post on Zulip Eric Forgy (Jan 18 2021 at 19:03):

I would probably feel more comfortable writing it like:
{}
A(f,g)ΔB×BΔBA\overset{(f,g)\circ\Delta}{\rightarrow} B\times B \overset{\Delta}{\leftarrow} B
{}
though, but it is fine :blush:

view this post on Zulip Todd Trimble (Jan 18 2021 at 19:05):

Except that won't be right, according to the (f,g)(f, g) notation I introduced earlier. It would be correct to write (f×g)Δ(f \times g) \circ \Delta, which is another way to define (f,g)(f, g), except I don't think we've yet discussed how cartesian product can be interpreted as a functor (on the basis of universal properties) -- that's a separate topic, but that would be the place to discuss the definition of f×gf \times g.

view this post on Zulip Eric Forgy (Jan 18 2021 at 19:08):

Todd Trimble said:

Excellent! That seems to work in Set, doesn't it? Can you verify that the same construction is going to work in a general category with binary products and pullbacks?

For that, you will have to remember the definition of equalizer in terms of a suitable universal property.

Does this have to be done with diagrams? :thinking:

view this post on Zulip Todd Trimble (Jan 18 2021 at 19:12):

In that generality (and before we become super-slick category theorists): it's nice to do if it isn't too awkward, but you never really have to use diagrams at all: you can always write down what needs writing down just using morphism names f,gf, g and \circ and equations, etc.

view this post on Zulip Eric Forgy (Jan 18 2021 at 19:12):

To make sure I understand the question...

We have the same cospan and the same pullback. I verified it using elements. Are you asking me to verify it with diagrams / equations instead of elements?

view this post on Zulip Todd Trimble (Jan 18 2021 at 19:13):

Or with morphisms instead of elements, yeah. (A higher point of view is that you treat morphisms just as you do elements, but we'll get there.)

view this post on Zulip Todd Trimble (Jan 18 2021 at 19:14):

So: can you state the universal property of an equalizer?

view this post on Zulip Eric Forgy (Jan 18 2021 at 19:21):

Side question:

If you form a limit of a diagram, do you only really need to worry about the "root" objects (i.e. objects that are not a codomain for any morphism in your diagram (other than identity))? I guess that is true. For example, with a cospan, the pullback is a limit, but we usually just draw the arrows from the pullback to the respective domains.

view this post on Zulip Eric Forgy (Jan 18 2021 at 19:23):

If I look at the pullback diagram and insert two additional morphisms, f,g:AB,f,g: A\rightrightarrows B, the diagram still commutes.

view this post on Zulip Eric Forgy (Jan 18 2021 at 19:27):

image.png

view this post on Zulip Eric Forgy (Jan 18 2021 at 19:32):

Once we have the object eq(f,g)\mathsf{eq}(f,g) via the pullback, I think it is still fine to say it is the universal object such that
image.png

commutes.

view this post on Zulip Eric Forgy (Jan 18 2021 at 19:42):

Btw, I still don't see how the nLab is wrong. It has the equalizer as a set of triples "((a,a),a)((a,a),a) such that f(a)=g(a)f(a) = g(a)" which is equivalent to a proper subset of AA :thinking:

I think this way is better though :+1:

view this post on Zulip Todd Trimble (Jan 18 2021 at 19:47):

Eric Forgy said:

Side question:

If you form a limit of a diagram, do you only really need to worry about the "root" objects (i.e. objects that are not a codomain for any morphism in your diagram (other than identity))? I guess that is true. For example, with a cospan, the pullback is a limit, but we usually just draw the arrows from the pullback to the respective domains.

That's not a bad question, but in general you won't have root objects the way you've defined them. For example, if you are trying to take the limit of a diagram F:JCF: J \to C where the category JJ has a single object jj, so that all morphisms loop around from the object to itself, the object F(j)F(j) can't help being the codomain of a morphism in the diagram.

(Pro tip: you usually have to be pretty careful with introducing the word "not" when it comes to working purely equationally, as we are here.)

So, the "hygienic" way to go in general is to worry about all the objects in your diagram, and I'm glad you brought this up because it'll come up again when we discuss general finite limits past the equalizer case.

view this post on Zulip Todd Trimble (Jan 18 2021 at 19:50):

Eric Forgy said:

Btw, I still don't see how the nLab is wrong. It has the equalizer as a set of triples "((a,a),a)((a,a),a) such that f(a)=g(a)f(a) = g(a)" which is equivalent to a proper subset of AA :thinking:

I think this way is better though :+1:

(before the thinking icon) No, the nLab is wrong! You said yourself at 1:28 "is equivalent to aAa \in A", which isn't a great way to say it, but you mean that the pullback here consists of all elements aa of AA! Not a proper subset.

view this post on Zulip Todd Trimble (Jan 18 2021 at 19:53):

Oh, sorry, I had a brain fart. You're right! (Shame on me.)

view this post on Zulip Todd Trimble (Jan 18 2021 at 19:54):

I do agree with you after the thinking icon: this way is better.

view this post on Zulip Eric Forgy (Jan 18 2021 at 19:54):

Then what I said was wrong because I said "such that f(a)=g(a)f(a) = g(a)" :blush:

This is my understanding (to help point out where I go wrong):

A×BAA\times_B A consists of pairs (a,a)A×A(a,a')\in A\times A such that f(a)=g(a)f(a) = g(a') so we've already got a proper subsect of A×AA\times A.

Then when you pull THAT back, it forces a=aa = a', but we still have f(a)=g(a).f(a) = g(a).

view this post on Zulip Eric Forgy (Jan 18 2021 at 19:57):

I'm sure the nLab was just some quick notes and not meant to be the best way so maybe I'll try editting the nLab page :+1: :blush:

view this post on Zulip Todd Trimble (Jan 18 2021 at 20:01):

Yes, but I counsel holding off until you've done your homework here. :-) It's good to be really rock-solid in your understanding.

view this post on Zulip John Baez (Jan 18 2021 at 22:09):

No one ever writes a book on "The wrong ways to do category theory."

What a brilliant idea! :light_bulb:

view this post on Zulip Eric Forgy (Jan 18 2021 at 22:10):

Thank you. Of course, you know what I meant, right? :wink:

view this post on Zulip John Baez (Jan 18 2021 at 22:11):

Todd Trimble said:

Well, I'm trying to emulate John's sort of "tough love" approach. I'll try to avoid being or sounding like a total asshole in the process. :-)

Good! I'm a bit worried that people reading my conversation with Eric will think that this Zulip is a place where experts beat nonexperts to a pulp. They may not know that I've been friends with Eric for over a decade and this (somehow) allows me to be tough in ways that I'd never do to someone I just met. I'm not even that tough with my usual students!

view this post on Zulip John Baez (Jan 18 2021 at 22:14):

Eric Forgy said:

Thank you. Of course, you know what I meant, right? :wink:

Yes, I'm not sure I'd want to write such a book, but I can imagine a book that's a dialog between a beginner in category theory and an expert, where the beginner actually makes all the most popular mistakes, and then learns why they're mistakes.

view this post on Zulip Eric Forgy (Jan 18 2021 at 22:17):

Yeah, in the startup world, it is very valuable to study post mortems, i.e. reasons for failure. Most books just reflect the successes and not the pain that typically involves creating something new. This Zulip stream is largely that book of a struggling student. People can read about my failures (and hopefully see me ultimately triumph over them in the end :joy: )

view this post on Zulip Eric Forgy (Jan 18 2021 at 22:19):

Anyway, I had a late lunch and some kid time (=vegging to some Netflix :sweat_smile:) and back to work now :muscle:

view this post on Zulip Eric Forgy (Jan 18 2021 at 22:28):

To sum up progress so far...

Starting with a category with a terminal object and pullbacks, we:

It feels like some topological trick is needed to show it has all finite limits.

view this post on Zulip John Baez (Jan 18 2021 at 22:33):

It's not exactly "topological", though I know what you mean. I think I'd go about this by showing every category with finite products and equalizers has all finite limits.

view this post on Zulip John Baez (Jan 18 2021 at 22:34):

Since every category with a terminal object and pullbacks has finite products (ahem) and equalizers, the desired result follows.

view this post on Zulip John Baez (Jan 18 2021 at 22:37):

(Maybe by "has products" you meant "has binary products". Having finite products is equivalent to having binary products and a terminal object, which is a 0-ary product.)

view this post on Zulip Todd Trimble (Jan 18 2021 at 22:46):

Eric Forgy said:

To sum up progress so far...

Starting with a category with a terminal object and pullbacks, we:

It feels like some topological trick is needed to show it has all finite limits.

You haven't finished showing that it has equalizers! That was part of your homework. :-)

view this post on Zulip Eric Forgy (Jan 18 2021 at 22:48):

We got to finite products by noting that the product A×BA\times B arises from the composition of two spans 1A11\leftarrow A\rightarrow 1 and 1B11\leftarrow B\rightarrow 1 (something that came up recently in another stream) so I meant "finite products" (revised it). Products beyond binary products come from composition of more than two such spans.

view this post on Zulip Eric Forgy (Jan 18 2021 at 22:48):

Todd Trimble said:

You haven't finished showing that it has equalizers! That was part of your homework. :-)

I thought I finished :joy:

view this post on Zulip Eric Forgy (Jan 18 2021 at 22:50):

I thought this is what we needed for equalizers:

Eric Forgy said:

Once we have the object eq(f,g)\mathsf{eq}(f,g) via the pullback, I think it is still fine to say it is the universal object such that

image.png

commutes.

view this post on Zulip Eric Forgy (Jan 18 2021 at 23:08):

My thinking was that the pullback of the cospan A(f,g)B×BΔBA\overset{(f,g)}{\rightarrow} B\times B\overset{\Delta}{\leftarrow} B was needed to define eq(f,g)\mathsf{eq}(f,g), which is universal by the definition of pullback. With that pullback diagram, you can insert f,g:ABf,g:A\rightrightarrows B and it all still commutes without changing eq(f,g)\mathsf{eq}(f,g) so you can remove the bottom cospan to obtain the diagram above and it still commutes and eq(f,g)\mathsf{eq}(f,g) is still universal.

view this post on Zulip Eric Forgy (Jan 18 2021 at 23:09):

The universality of the pullback implies the universality of that diagram.

view this post on Zulip Todd Trimble (Jan 18 2021 at 23:34):

To my taste, what you say at the end is a little fast and sketched-out, and hard to read. I, as your de facto teacher here, should not have to struggle to interpolate what you mean! But to get started, I think you intend that defining eq(f,g)\textsf{eq}(f, g) to be the pullback of the cospan

A(f,g)B×BΔBB,A \stackrel{(f, g)}{\to} B \times B \stackrel{\Delta_B}{\leftarrow} B,

we let π1:eq(f,g)A\pi_1: \textsf{eq}(f, g) \to A be the first pullback projection, and π2:eq(f,g)B\pi_2: \textsf{eq}(f, g) \to B the second. So far, so good.

So, let's slow down a little. Let me ask you to write down an annotated series of equations showing that fπ1=π2=gπ1f \circ \pi_1 = \pi_2 = g \circ \pi_1. How do you know this?

view this post on Zulip Eric Forgy (Jan 18 2021 at 23:40):

Todd Trimble said:

So, let's slow down a little. Let me ask you to write down an annotated series of equations showing that fπ1=π2=gπ1f \circ \pi_1 = \pi_2 = g \circ \pi_1. How do you know this?

Ok. I'll try, but I don't know how to answer that because it feels obvious to me :thinking:

That is precisely what the pullback means even before inserting f,g:ABf,g: A\rightrightarrows B into the pullback diagram and inserting them doesn't change anything :thinking:

view this post on Zulip Todd Trimble (Jan 18 2021 at 23:41):

Ultimately, you should be able to write everything down in terms of equations. That's what I want to see.

view this post on Zulip Todd Trimble (Jan 18 2021 at 23:46):

Put differently: every time you say a diagram commutes, you are asserting an equation.

view this post on Zulip Eric Forgy (Jan 19 2021 at 00:09):

The pullback
{}
eq(f,g):=A×B×BB\mathsf{eq}(f,g):=A\times_{B\times B} B
{}
of the cospan
{}
A(f,g)B×B(idB,idB)BA\overset{(f,g)}\rightarrow B\times B\overset{(\mathsf{id}_B,\mathsf{id}_B)}\leftarrow B
{}
is a universal object with unique morphisms
{}
π1:eq(f,g)Aandπ2:eq(f,g)B\pi_1: \mathsf{eq}(f,g)\to A\quad\text{and}\quad\pi_2: \mathsf{eq}(f,g)\to B
{}
such that
{}
(f,g)π1=(idB,idB)π2,(f,g)\circ\pi_1 = (\mathsf{id}_B,\mathsf{id}_B)\circ\pi_2,
{}
but this means
{}
fπ1=idBπ2f\circ\pi_1 = \mathsf{id}_B\circ\pi_2
{}
and
{}
gπ1=idBπ2g\circ\pi_1 = \mathsf{id}_B\circ\pi_2
{}
or


fπ1=gπ1.f\circ\pi_1 = g\circ\pi_1.


view this post on Zulip Todd Trimble (Jan 19 2021 at 00:17):

And how did you get from the equation before the "but this means" to the equation(s) after?

view this post on Zulip Todd Trimble (Jan 19 2021 at 00:18):

(You're doing well by the way.)

view this post on Zulip Eric Forgy (Jan 19 2021 at 00:28):

Todd Trimble said:

And how did you get from the equation before the "but this means" to the equation(s) after?

I guess, "It's obvious" isn't good enough? :sweat_smile:

In principle, I guess we can show that, in general, (f,g)h=(fh,gh)(f,g)\circ h = (f\circ h,g\circ h) :thinking:

Then
{}
(fπ1,gπ1)=(idBπ2,idBπ2)(f\circ\pi_1,g\circ\pi_1) = (\mathsf{id}_B\circ\pi_2,\mathsf{id}_B\circ\pi_2)
{}
implies
{}
fπ1=gπ2.f\circ\pi_1 = g\circ\pi_2.

view this post on Zulip Todd Trimble (Jan 19 2021 at 00:31):

Nope! Not good enough. :-)

view this post on Zulip Todd Trimble (Jan 19 2021 at 00:33):

But I can give a little hint: how does one go about proving that two maps into a product are equal? What would it mean?

view this post on Zulip Eric Forgy (Jan 19 2021 at 00:41):

I'm sorry but I don't know what it can mean other than what I already said :thinking:

view this post on Zulip Eric Forgy (Jan 19 2021 at 00:43):

Generally speaking, going back to sets, two functions f,g:ABf,g:A\to B are equal if f(a)=g(a)f(a) = g(a) for all aA.a\in A.

view this post on Zulip Todd Trimble (Jan 19 2021 at 00:44):

Well, look very carefully at how we defined (α,β):XY×Y(\alpha, \beta): X \to Y \times Y for two maps α:XY,β:XY\alpha: X \to Y, \beta: X \to Y. It is the unique map XY×YX \to Y \times Y such that...

view this post on Zulip Eric Forgy (Jan 19 2021 at 00:46):

I don't recall us ever defining (f,g)(f,g) :thinking:

view this post on Zulip Todd Trimble (Jan 19 2021 at 00:48):

Approx. 7 hours ago.

view this post on Zulip Eric Forgy (Jan 19 2021 at 00:48):

Todd Trimble said:

Okay, much better on specifying what the diagonal map is: it's the unique map Δ:AA×A\Delta: A \to A \times A such that π1Δ=1A=π2Δ\pi_1 \circ \Delta = 1_A = \pi_2 \circ \Delta (which is what you said with the morphism of spans, except the word unique was not in there).

Moral: to specify a map into a product, it suffices to say what its composites with the projection maps are. That, of course, is the universal property of a product.

There is a general notation here: (f,g):AB×C(f, g): A \to B \times C is defined to be the unique map such that π1(f,g)=f\pi_1 \circ (f, g) = f and π2(f,g)=g\pi_2 \circ (f, g) = g. With that, you can define ΔA=(1A,1A)\Delta_A = (1_A, 1_A).

Found it

view this post on Zulip Todd Trimble (Jan 19 2021 at 00:50):

Right. Okay, right now the πi\pi_i notation is a little overloaded, because we already used them for the pullback projections. But you can name them something else, like p1,p2p_1, p_2 or something. Anyway, now look back to the thing you said you thought you could show in general, a little bit above.

view this post on Zulip Eric Forgy (Jan 19 2021 at 01:01):

This diagram

image.png

{}
makes it clear that (f,g)h=(fh,gh).(f,g)\circ h = (f\circ h,g\circ h).

view this post on Zulip Todd Trimble (Jan 19 2021 at 01:05):

Yes! It's the uniqueness clause in the universal property of the product that is responsible for the equality (f,g)h=(fh,gh)(f, g) \circ h = (f \circ h, g \circ h). Moral: for two maps into a product to be equal, it is necessary and sufficient that their composites with each of the projections be equal.

view this post on Zulip Todd Trimble (Jan 19 2021 at 01:08):

So, you've now passed through the first gate of establishing the desired universal property for your construction of eq(f,g)\textsf{eq}(f, g). That consisted in showing fπ1=π2=gπ1f \circ \pi_1 = \pi_2= g \circ \pi_1, which I'm now satisfied you've done. You still have to show the universality. But maybe this will go more quickly. Is it clear what remains to be done?

view this post on Zulip Eric Forgy (Jan 19 2021 at 01:12):

I gave an argument I still think is valid for universality :thinking:

view this post on Zulip Todd Trimble (Jan 19 2021 at 01:17):

Well, that's what you said before the long string of comments where I drew out of you something you seemed to think obvious, so you'll excuse me if I want to put you to the test.

Suppose you have a map h:XAh: X \to A such that fh=ghf \circ h = g \circ h. Your task is to produce a map i:Xeq(f,g)i: X \to \textsf{eq}(f, g) such that what? And what will the requisite uniqueness clause for the desired universal property say?

view this post on Zulip Eric Forgy (Jan 19 2021 at 01:17):

The universality of

image.png

implies the universality of

image.png

view this post on Zulip Todd Trimble (Jan 19 2021 at 01:17):

Yeah, so you say! :-)

view this post on Zulip Eric Forgy (Jan 19 2021 at 01:19):

Anecdote:
When I was in school, I took an exam. It was very easy and one question followed trivially from the previous one. My answer was "Obvious" and got full credit :joy:

view this post on Zulip Eric Forgy (Jan 19 2021 at 01:19):

I don't think I would have done as well in your class :smiley:

view this post on Zulip Todd Trimble (Jan 19 2021 at 01:22):

I do think this sort of very detailed work is important, making sure every step is clear both to you and whoever you're talking with. You're doing fine.

view this post on Zulip Eric Forgy (Jan 19 2021 at 01:23):

My argument is that eq(f,g)\mathsf{eq}(f,g) is universal for the cospan diagram, but we can insert those two functions into the diagram like

image.png

This doesn't impact the commutativity of diagram at all, so we can remove the bottom cospan and the universal property remains.

view this post on Zulip Eric Forgy (Jan 19 2021 at 01:26):

This is obvious to me :sweat_smile:

If you walk through the details, for example, "For any other object X with morphisms.... there is a unique morphism ϕ:Xeq(f,g)\phi: X\to\mathsf{eq}(f,g) such that..." and then walk through the same details for the diagram with parallel morphisms, the argument is exactly the same.

view this post on Zulip Todd Trimble (Jan 19 2021 at 01:27):

Okay, let's see how this goes: could you follow the instructions of 8:17 PM and tell me how this goes?

view this post on Zulip Eric Forgy (Jan 19 2021 at 01:28):

Ok. I will try :pray:

view this post on Zulip Eric Forgy (Jan 19 2021 at 01:35):

Todd Trimble said:

Suppose you have a map h:XAh: X \to A such that fh=ghf \circ h = g \circ h. Your task is to produce a map i:Xeq(f,g)i: X \to \textsf{eq}(f, g) such that what? And what will the requisite uniqueness clause for the desired universal property say?

The universality of pullback means that for any other span AXB,A\leftarrow X\rightarrow B, there is a unique morphism ϕ:Xeq(f,g)\phi:X\to\mathsf{eq}(f,g) such that ϕ\phi is map of spans, i.e. the diagram with two spans connected in the middle via ϕ\phi commutes.

view this post on Zulip Eric Forgy (Jan 19 2021 at 01:38):

i.e. ϕ\phi is a 2-morphism in the bicategory Span(C)\mathsf{Span(C)} :blush:

view this post on Zulip Todd Trimble (Jan 19 2021 at 01:41):

You didn't quite say that right for the particular application. You can't produce such a ϕ\phi for any old span AXBA \leftarrow X \to B. Can you see what's missing?

view this post on Zulip Eric Forgy (Jan 19 2021 at 01:42):

Right. Take 2.

view this post on Zulip Eric Forgy (Jan 19 2021 at 01:45):

The diagram consisting of the span AXBA\leftarrow X\rightarrow B connected to the lower cospan AB×BBA\rightarrow B\times B\leftarrow B must commute.

view this post on Zulip Eric Forgy (Jan 19 2021 at 01:54):

Now, if you insert two parallel morphisms f,g:ABf,g:A\rightrightarrows B and remove the lower cospan, you've changed nothing.

The diagram
image.png

{}
Still commutates. If there is another span AXBA\leftarrow X\rightarrow B connected to the f,g:ABf,g:A\rightrightarrows B such that the diagram commutes, then there is a morphism ϕ:Xeq(f,g)\phi:X\to\mathsf{eq}(f,g) such that connected spans commute. Same exact argument.

view this post on Zulip Eric Forgy (Jan 19 2021 at 01:55):

In fact, it would be the same morphism.

view this post on Zulip Eric Forgy (Jan 19 2021 at 01:56):

The impedance of the cospan and the two parallel morphisms is matched :nerd:

view this post on Zulip Eric Forgy (Jan 19 2021 at 01:57):

It's been so long since I thought about circuits that I can't even remember the name, but in circuit theory, when impedances match, you can replace one component with another and you do not change the physics at all.

view this post on Zulip Todd Trimble (Jan 19 2021 at 01:58):

Just hang on a moment. The message of 8:45 PM is right. Now, suppose you have a map h:XAh: X \to A such that fh=ghf \circ h = g \circ h. Please just write down the span you are referring to, and indicate why the diagram of 8:45 PM commutes.

view this post on Zulip Eric Forgy (Jan 19 2021 at 02:02):

This whole thing has to commute:

image.png

view this post on Zulip Eric Forgy (Jan 19 2021 at 02:04):

(Man, I :heart: q.uiver.app :heart: )

view this post on Zulip Todd Trimble (Jan 19 2021 at 02:05):

Yes, that's where we're trying to get to. You have to say what hA,hBh_A, h_B are (easy) and also show the outer square commutes (not hard).

view this post on Zulip Eric Forgy (Jan 19 2021 at 02:21):

Because the span map commutes:
{}

{}
So we need to check
{}
(f,g)π1ϕ=(idB,idB)π2ϕ,(f,g)\circ \pi_1\circ\phi = (\mathsf{id}_B,\mathsf{id}_B)\circ\pi_2\circ\phi,
{}
but that follows because
{}
(f,g)π1=(idB,idB)π2.(f,g)\circ \pi_1 = (\mathsf{id}_B,\mathsf{id}_B)\circ\pi_2.

view this post on Zulip Todd Trimble (Jan 19 2021 at 02:30):

Yeah, look at the starting point again, given at 8:58.

view this post on Zulip Todd Trimble (Jan 19 2021 at 02:34):

Ah, I see you erased your admission you got something backwards. I agree with that. We're not starting with ϕ\phi. The map ϕ\phi is what we have to wind up producing.

view this post on Zulip Eric Forgy (Jan 19 2021 at 02:47):

So are we trying to prove eq(f,g)\mathsf{eq}(f,g) is a pullback? I thought that was given. I'm confused :thinking:

view this post on Zulip Todd Trimble (Jan 19 2021 at 02:50):

Yes, that's how we constructed it, as a pullback. Now what we are trying to do is show that it satisfies the universal property required of an equalizer.

(You never did take me up on the post of 8:17.)

So that means taking a map h:XAh: X \to A that equalizes ff and gg, and producing a map ϕ\phi such that...

view this post on Zulip Todd Trimble (Jan 19 2021 at 02:51):

But in order to do that, we have to exploit the universal property of eq(f,g)\textsf{eq}(f, g) that we do already know, and that's the property of its being a pullback.

view this post on Zulip Todd Trimble (Jan 19 2021 at 02:51):

Let me stop here and watch for your reaction.

view this post on Zulip Eric Forgy (Jan 19 2021 at 03:12):

Sorry. I should have told you I stepped away for dinner (little family drama) :pray:

view this post on Zulip Todd Trimble (Jan 19 2021 at 03:13):

Quite all right. Of course tomorrow's another day as well.

view this post on Zulip Eric Forgy (Jan 19 2021 at 03:16):

For reference:

Todd Trimble said:

Suppose you have a map h:XAh: X \to A such that fh=ghf \circ h = g \circ h. Your task is to produce a map i:Xeq(f,g)i: X \to \textsf{eq}(f, g) such that what? And what will the requisite uniqueness clause for the desired universal property say?

view this post on Zulip Eric Forgy (Jan 19 2021 at 04:16):

I'm sorry I'm a little confused because the pullback is effectively an equalizer already, but with a different diagram than the usual one. Then, due to "impedance matching", we can swap out the cospan with parallel morphisms without changing the "physics" :nerd:

More seriously, I guess we are trying to use what we know about the pullback to show that the equalizer object is universal also for the usual equalizer diagram. So it is the diagram and universality of the object over that diagram we are after. Is that right?

view this post on Zulip Eric Forgy (Jan 19 2021 at 07:36):

I think I got it.

Consider the diagram:

image.png

{}
We know from our work with the pullback that the lower triangle commutes and we are told the outer triangle commutes and our task is to show that there is a
{}
ϕ:Xeq(f,g)\phi: X\to\mathsf{eq}(f,g)
{}
such that the diagram with the upper spans connected in the middle commutes.

This is simply
{}
ϕ=(hA,hB)\phi = (h_A,h_B)
{}
with
{}
hA=π1(hA,hB)h_A = \pi_1\circ (h_A,h_B)
{}
and
{}
hB=π2(hA,hB).h_B = \pi_2\circ (h_A,h_B).

view this post on Zulip Eric Forgy (Jan 19 2021 at 07:53):

Now, let's go back to the original pullback diagram:

image.png

The fact that there are maps ϕ:Xeq(f,g),\phi:X\to\mathsf{eq}(f,g), hA:XA,h_A:X\to A, and hB:XBh_B:X\to B such that everything in sight commutes is pretty much just the definition of pullback and we were told our category had pullbacks so this commuting diagram is given.

By the same reasoning above, we have
{}
ϕ=(hA,hB).\phi = (h_A,h_B).
{}
There is absolutely nothing new when passing from the pullback diagram to the parallel diagram. Universality of the former implies universality of the latter in precisely the same manner with precisely the same maps.

You can see this by starting with the pullback diagram and inserting the parallel morphisms as follows:

image.png

{}
Adding the parallel morphisms changes nothing. eq(f,g)\mathsf{eq}(f,g) is still universal and ϕ\phi is still (hA,hB).(h_A,h_B).

Now, with the parallel morphisms in place, we can remove the original cospan and that still doesn't change anything.

image.png

The remaining diagram still commutes and eq(f,g)\mathsf{eq}(f,g) is still universal for the diagram.

I would characterize this as a "physicists" proof and would argue it is just as valid as the more traditional one above (that you've been trying to get me to write down).

view this post on Zulip Eric Forgy (Jan 19 2021 at 07:59):

Hopefully this is correct because I felt my brain muscle growing on that one :muscle:

view this post on Zulip Eric Forgy (Jan 19 2021 at 08:01):


I think its fair to say that we've shown that a category with a terminal object and pullbacks also has:


view this post on Zulip John Baez (Jan 19 2021 at 08:06):

I'm not keeping track of what you've shown (since Todd is in charge of that :upside_down: ), but it's certainly true that a category with a terminal object and pullbacks has finite products and equalizers. The converse is true too - maybe that's already obvious to you.

view this post on Zulip Eric Forgy (Jan 19 2021 at 08:07):

This is fun 🥳

view this post on Zulip Todd Trimble (Jan 19 2021 at 14:14):

John, I'm not very good at deciphering emoji, but the upside-down face usually reads as a negative to me.

Eric: I'm not satisfied. According to our pairing notation, (hA,hB)(h_A, h_B) denotes a map to a product, here XA×BX \to A \times B, and not to a pullback. So defining ϕ=(hA,hB):Xeq(f,g)\phi = (h_A, h_B): X \to \textsf{eq}(f, g) doesn't work here.

Next, you never said what hAh_A and hBh_B are, in terms of the data that we start with, which is a map h:XAh: X \to A such that fh=ghf \circ h = g \circ h. The answer is trivial, and I'm tempted just to say it and have done with it, but I'll give one more chance. It's the obvious thing.

Next, after that, in order to produce a map ϕ:Xeq(f,g)\phi: X \to \textsf{eq}(f, g) into the pullback, you first have to verify that a square which involves the maps hA,hBh_A, h_B commutes. That's the most important phase of what we're doing at the moment.

"I would characterize this as a "physicists" proof and would argue it is just as valid as the more traditional one above (that you've been trying to get me to write down)."

And I would say to that: don't argue with me. :-) In order for me to certify that you've really got it, the words have to come out in a certain order and you have to be able to answer my questions.

view this post on Zulip Eric Forgy (Jan 19 2021 at 17:35):

Good morning :coffee:

Todd Trimble said:

John, I'm not very good at deciphering emoji, but the upside-down face usually reads as a negative to me.

{}
I am almost certain this is not meant in any kind of negative way. I read it as a form of celebration that I am in someone else's hands (which is a welcome change for him) :blush:
{}

Eric: I'm not satisfied. According to our pairing notation, (hA,hB)(h_A, h_B) denotes a map to a product, here XA×BX \to A \times B, and not to a pullback. So defining ϕ=(hA,hB):Xeq(f,g)\phi = (h_A, h_B): X \to \textsf{eq}(f, g) doesn't work here.

{}
:face_palm:

Right. Ok. So (hA,hB)(h_A,h_B) is a map XA×B,X\to A\times B, but eq(f,g)\mathsf{eq}(f,g) is like a subset of A×BA\times B (and it is precisely a subset if we are in Set\mathsf{Set}) so I thought the fact the diagrams commute makes things work out :thinking:
{}

Next, you never said what hAh_A and hBh_B are, in terms of the data that we start with, which is a map h:XAh: X \to A such that fh=ghf \circ h = g \circ h. The answer is trivial, and I'm tempted just to say it and have done with it, but I'll give one more chance. It's the obvious thing.

{}
What I labelled hAh_A is just your h.h. I thought that was clear, but should have said it. And since the diagrams commute,
{}
hB=fhA=ghA.h_B = f\circ h_A = g\circ h_A.
{}
Again, I thought that was clear, but should have said it.

So... I am thinking maybe I was right, but didn't put it in the form you were expecting, which I think should be
{}
ϕ=(h,fh).\phi = (h,f\circ h).
{}

Next, after that, in order to produce a map ϕ:Xeq(f,g)\phi: X \to \textsf{eq}(f, g) into the pullback, you first have to verify that a square which involves the maps hA,hBh_A, h_B commutes. That's the most important phase of what we're doing at the moment.

{}
I thought this is what I did when I wrote
{}

hA=π1(hA,hB)h_A = \pi_1\circ (h_A,h_B)
{}
and
{}
hB=π2(hA,hB).h_B = \pi_2\circ (h_A,h_B).

{}
Converting this, it becomes
{}
h=π1ϕh = \pi_1\circ \phi
{}
and
{}
fh=π2ϕ,f\circ h = \pi_2\circ\phi,
{}
where ϕ=(h,fh).\phi = (h,f\circ h).
{}
I hope this is correct because it really feels correct :pray:
{}

"I would characterize this as a "physicists" proof and would argue it is just as valid as the more traditional one above (that you've been trying to get me to write down)."

And I would say to that: don't argue with me. :-) In order for me to certify that you've really got it, the words have to come out in a certain order and you have to be able to answer my questions.

{}
I could certainly improve my ability to communicate with mathematicians, but we could also try meeting in the middle a little bit. It is not my goal to become a mathematician. My goal is to solve engineering problems and I see category theory as something that could help me do that :pray:

view this post on Zulip Eric Forgy (Jan 19 2021 at 17:47):

This is all super helpful to me :raised_hands: Thank you very much :pray: :pray: :pray:

The key insight (which is cool and should be on the nLab :heart: ) is that the equalizer object is the pullback of your cospan. That is very clean :+1:

view this post on Zulip Eric Forgy (Jan 19 2021 at 18:01):

Out of curiosity, is there a term for different diagrams that have the same limits?

The diagrams
{}
A(f,g)B×BΔBA\overset{(f,g)}\rightarrow B\times B\overset{\Delta}{\leftarrow} B
{}
and
{}
AfgBA\underset{g}{\overset{f}{\rightrightarrows}}B
{}
have, for practical purposes, the same limits and, as far as limits are concerned, are somehow "equivalent" diagrams.

I call it "impedance matched," but suspect there is a better name :nerd:

view this post on Zulip Nathanael Arkor (Jan 19 2021 at 18:12):

Out of curiosity, is there a term for different diagrams that have the same limits?

Two diagrams are cofinal (sometimes "confinal") if they have the same colimit. The "co" does not mean dual here, so one should probably say that two diagrams have the same limit if they are "cocofinal" (or "coconfinal").

view this post on Zulip Todd Trimble (Jan 19 2021 at 18:13):

Just to clarify what I meant at the end: since I can't read minds, my only means of being satisfied that you've got it is by asking really pointed questions and watching for the reaction. As I thought others before me had (John, Jason Erbele), so I thought that was already the accepted way of proceeding.

Anyway, you're mighty close. But you still haven't quite identified the square whose commutativity needs checking before you can invoke the universality of the pullback to produce the map ϕ\phi (let's call it ϕ\phi and not (hA,hB)(h_A, h_B) -- the latter is an abuse of language, and it's better to avoid abusing language at this stage of the game). Two of the maps of the square are hA,hBh_A, h_B as correctly identified by you. How is this to be completed to a square? And how would one verify commutativity of that square?

It's all really easy, but I want to hear it.

view this post on Zulip Eric Forgy (Jan 19 2021 at 18:14):

Eric Forgy said: [Edit: Added the quote.]

Out of curiosity, is there a term for different diagrams that have the same limits?

The diagrams
{}
A(f,g)B×BΔBA\overset{(f,g)}\rightarrow B\times B\overset{\Delta}{\leftarrow} B
{}
and
{}
AfgBA\underset{g}{\overset{f}{\rightrightarrows}}B
{}
have, for practical purposes, the same limits and, as far as limits are concerned, are somehow "equivalent" diagrams.

I call it "impedance matched," but suspect there is a better name :nerd:

Both limits involve maps
{}
eq(f,g)A\mathsf{eq}(f,g)\to A
{}
and
{}
eq(f,g)B.\mathsf{eq}(f,g)\to B.
{}
The cospan limit also involves a leg eq(f,g)B×B,\mathsf{eq}(f,g)\to B\times B, but that is just trivially equal to the composite of
{}
eq(f,g)A\mathsf{eq}(f,g)\to A
{}
and
{}
A(f,g)A×BA\overset{(f,g)}{\to} A\times B
{}
and doesn't have any impact and could be removed.

view this post on Zulip Todd Trimble (Jan 19 2021 at 18:16):

Is that in answer to me, or Nathanael?

view this post on Zulip Eric Forgy (Jan 19 2021 at 18:18):

Todd Trimble said:

Is that in answer to me, or Nathanael?

Neither. It was a continuation of my previous comment :sweat_smile:

Asynchronicity :sweat_smile:

view this post on Zulip Todd Trimble (Jan 19 2021 at 18:30):

@Nathanael Arkor I always understood 'cofinal' as an adjective that applies to a functor between categories, in this case between the diagram domain categories. I forget the co conventions, but for two diagrams to give the same co/limit, it's certainly sufficient that you can factor one as the composite of the other with a cofinal functor.

view this post on Zulip Nathanael Arkor (Jan 19 2021 at 18:37):

Agreed, my experience is that cofinal almost always refers to a functor, rather than a pair of diagrams. I feel I have seen this usage for diagrams somewhere (outside the nLab), but I can't recall where now. Perhaps this terminology is a little confusing.

view this post on Zulip Eric Forgy (Jan 19 2021 at 18:42):

Todd Trimble said:

... so I thought that was already the accepted way of proceeding.

{}
Any way you want to proceed is your way and it is great :blush: :raised_hands:
{}

Anyway, you're mighty close.

{}
:tada:
{}

But you still haven't quite identified the square whose commutativity needs checking before you can invoke the universality of the pullback to produce the map ϕ\phi (let's call it ϕ\phi and not (hA,hB)(h_A, h_B) -- the latter is an abuse of language, and it's better to avoid abusing language at this stage of the game). Two of the maps of the square are hA,hBh_A, h_B as correctly identified by you. How is this to be completed to a square? And how would one verify commutativity of that square?

It's all really easy, but I want to hear it.

{}
Ok :thinking:
{}
Looking at this diagram

image.png

{}
I see 4 triangular diagrams:

{}
The equations demonstrating each triangle commutes are respectively

view this post on Zulip Todd Trimble (Jan 19 2021 at 19:13):

There ain't no stinking square there!!! Show me the square.

view this post on Zulip Eric Forgy (Jan 19 2021 at 19:14):

I'm sorry. I don't understand. I don't see any squares and am at a loss.

view this post on Zulip Todd Trimble (Jan 19 2021 at 19:17):

Pullbacks are based on squares! In order to invoke the universal property of a pullback, you need to be dealing with squares! Which square? (Hint: what did we take the pullback of, again?) Exercise: remind yourself what is the universal property of a pullback, exactly.

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:17):

You mean this?

image.png

view this post on Zulip Todd Trimble (Jan 19 2021 at 20:26):

You should de-clutter that diagram, so that we can focus on squares. There are two that are relevant here.

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:27):

image.png

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:28):

That this commutes is given by definition of pullback, isn't it? :thinking:

view this post on Zulip Todd Trimble (Jan 19 2021 at 20:31):

One of those squares commutes by definition of pullback. In order to apply the universal property of pullback, you have to show that the other commutes.

By the way, part of the confusion is inserting ϕ\phi. That's definitely putting the cart before the horse. You can't invoke the existence (and uniqueness) of ϕ\phi without first showing that other square commutes.

view this post on Zulip Todd Trimble (Jan 19 2021 at 20:33):

I strongly recommend reviewing the universal property of pullbacks, in order to make sense of my last comment (in case it doesn't already make sense).

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:34):

I'm confused because we are told that our category has pullbacks and pullbacks are universal and I think the universality of pullback means that diagram commutes :thinking:

view this post on Zulip Todd Trimble (Jan 19 2021 at 20:34):

Yes, of course. But our goal is to construct ϕ\phi.

view this post on Zulip Todd Trimble (Jan 19 2021 at 20:35):

Of course, to make sure, I should ask: which diagram are you taking about?

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:36):

eq(f,g)\mathsf{eq}(f,g) is the pullback that we are told our category has.

view this post on Zulip Todd Trimble (Jan 19 2021 at 20:38):

Well, to be absolutely clear, a pullback is really not just an object, but an object equipped with some data satisfying some properties.

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:38):

And because eq(f,g)\mathsf{eq}(f,g) is a pullback, then for any other commuting square like the one in that image :point_of_information: , there is a unique ϕ:Xeq(f,g).\phi: X\to \mathsf{eq}(f,g).

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:39):

Pulling back the cospan results in a commuting square.

view this post on Zulip Todd Trimble (Jan 19 2021 at 20:39):

You're getting closer. Still misusing language slightly though -- I'll come back to that. But the one in what image*?

view this post on Zulip Todd Trimble (Jan 19 2021 at 20:40):

What other commuting square are you talking about?

view this post on Zulip John Baez (Jan 19 2021 at 20:40):

Todd Trimble said:

John, I'm not very good at deciphering emoji, but the upside-down face usually reads as a negative to me.

It's my trademarked symbol for "just having fun, just goofing around, don't worry".

It's not a frowning person, it's a smiling person doing somersaults.

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:40):

For any other commuting square involving the same cospan, there is a unique ϕ\phi.

view this post on Zulip Todd Trimble (Jan 19 2021 at 20:40):

Please answer my question. What other commuting square?

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:41):

Dimishing returns bro

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:41):

I can't speak your language. Sorry.

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:41):

My language is fine.

view this post on Zulip John Baez (Jan 19 2021 at 20:42):

You said "that diagram", and Todd is wondering which one:

Eric Forgy said:

I'm confused because we are told that our category has pullbacks and pullbacks are universal and I think the universality of pullback means that diagram commutes :thinking:

view this post on Zulip John Baez (Jan 19 2021 at 20:43):

Each time he asks you, you don't answer.

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:43):

The correct diagram :blush:

view this post on Zulip John Baez (Jan 19 2021 at 20:43):

Okay - some diagram or other, and you're not going to say.

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:43):

This diagram:

Eric Forgy said:

image.png

What other diagrams are there?

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:44):

The whole things commutes.

view this post on Zulip Todd Trimble (Jan 19 2021 at 20:44):

Eric, I can see you're getting frustrated, and I don't want for that to be the case. But there are two squares that we need to be discussing. There's the pullback square which commutes by definition of pullback, yes. There's another which for some reason you seem reluctant to put down.

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:44):

Ok

view this post on Zulip Todd Trimble (Jan 19 2021 at 20:44):

No, Eric -- we have to show a certain diagram commutes. The non-pullback square.

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:46):

Isn't pullback a limit? If we say it is a pullback, I thought we are saying that any other commuting square with the same cospan base has to pass through our universal one via ϕ\phi.

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:48):

I'll try to show that the square with XX commutes, but I feel that is given.

view this post on Zulip Todd Trimble (Jan 19 2021 at 20:48):

We don't have ϕ\phi yet!! That's the point! We have to produce ϕ\phi on the basis of showing that this other square commutes, first.

view this post on Zulip Todd Trimble (Jan 19 2021 at 20:49):

Could I ask you to write down this other square, please? You seem to be really fast at doing such things.

view this post on Zulip Todd Trimble (Jan 19 2021 at 20:51):

"I'll try to show that the square with XXX commutes, but I feel that is given."

Given -- no. Easy -- yes.

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:51):

image.png

view this post on Zulip Todd Trimble (Jan 19 2021 at 20:51):

Great, thanks. Okay, the task is to show that square commutes, on the basis of the assumption we started with.

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:53):

By definition of hAh_A, we also have this diagram commutes
image.png

{}
I consider this as given information.

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:55):

We also know this diagram commutes:

image.png

view this post on Zulip Eric Forgy (Jan 19 2021 at 20:57):

I'm not sure if we should consider the parallel morphisms of the pullback as given but we determined that when we worked through pullback earlier so we don't need to do that again.

view this post on Zulip Todd Trimble (Jan 19 2021 at 20:58):

Well, it's confusing to say that that diagram of 3:53 commutes. When you say a diagram commutes, it really means that if you have two paths going from any starting point to any ending point in the diagram, the results are the same. That's not the case starting at AA and ending at BB. But I'll be just as satisfied if you can produce a string of equations that establishes (f,g)hA=ΔhB(f, g) \circ h_A = \Delta \circ h_B.

view this post on Zulip Todd Trimble (Jan 19 2021 at 20:59):

Yeah, forget that last diagram here. It's not relevant for the thing we need to be examining.

view this post on Zulip Eric Forgy (Jan 19 2021 at 21:05):

I just don't get it and obviously cannot speak the same language as you because
{}
(f,g)hA=(fhA,ghA)=(hB,hB)=(idB,idB)hB=ΔhB(f,g)\circ h_A = (f\circ h_A,g\circ h_A) = (h_B,h_B) = (\mathsf{id}_B,\mathsf{id}_B)\circ h_B = \Delta\circ h_B
{}
which is given unless you want me to prove that
{}
(f,g)=(f,g)(f,g) = (f',g')
{}
implies f=ff=f' and g=gg=g', in which case I will pass because that is obvious.

view this post on Zulip Eric Forgy (Jan 19 2021 at 21:07):

I don't know how to say it any other way.

view this post on Zulip Eric Forgy (Jan 19 2021 at 21:23):

I struggle because, in my mind (the only one I have to work with), we are given (fhA,ghA)=(hB,hB).(f\circ h_A,g\circ h_A) = (h_B,h_B).

view this post on Zulip Eric Forgy (Jan 19 2021 at 21:32):

I do find it pretty cool that the simple fact two equations can be packaged up into a tuple like that gives rise to different (yet somehow "equivalent") diagrams, but there is no new info. It is the same info packaged differently into different (equivalent) diagrams.

view this post on Zulip Todd Trimble (Jan 19 2021 at 21:33):

So, referring to your post of 4:05, I think we did establish that first equation somewhere upthread, and the second comes from our starting assumption that fhA=ghAf \circ h_A = g \circ h_A, and the third may have been another lemma somewhere upthread, I don't recall. The fourth is okay; the definitions we've established indicate that (idB,idB)(id_B, id_B) and ΔB\Delta_B are synonymous with each other. So, okay, let's say that you've done what I've asked of you, but it seems to have resulted in your being angry, which is too bad. I'm not trying to fuck with you, really I'm not. But a lot of things have been called "obvious" by you, and I'm trying to walk through and make sure.

(For example, the last bit "unless you want me to prove" sounds a little snarky, but even that may be something to think through, believe it or not -- it's easy to let notations lull one into complacency. But I won't insist.)

Let me put what you've done into different words, to try to pull all this together. To show that two maps α,β:XB×B\alpha, \beta: X \to B \times B into a product are equal, it is necessary and sufficient to establish that p1α=p1βp_1 \circ \alpha = p_1 \circ \beta and p2α=p2βp_2 \circ \alpha = p_2 \circ \beta, where p1,p2:B×BBp_1, p_2: B \times B \to B are the two projections. (That was the "moral" I stated upthread.) Of course we know that p1(f,g)=fp_1 \circ (f, g) = f and p2(f,g)=gp_2 \circ (f, g) = g, because (exploiting the universal property of the product) (f,g)(f, g) is defined to be the unique morphism making those equations true. Likewise, Δ=(1B,1B)\Delta = (1_B, 1_B) is the unique map so that p1Δ=1B=p2Δp_1 \circ \Delta = 1_B = p_2 \circ \Delta. So then, to prove

(f,g)hA=ΔhB,(f, g) \circ h_A = \Delta \circ h_B,

it is necessary and sufficient to write down the following equations:

p1(f,g)hA=fhA=hB=1BhB=p1ΔhBp_1 \circ (f, g) \circ h_A = f \circ h_A = h_B = 1_B \circ h_B = p_1 \circ \Delta \circ h_B

p2(f,g)hA=ghA=hB=1BhB=p2ΔhBp_2 \circ (f, g) \circ h_A = g \circ h_A = h_B = 1_B \circ h_B = p_2 \circ \Delta \circ h_B.

Anyway, let's go on. Now, by the universal property of pullback, having established this last commutative square, we can assert the unique existence of a map ϕ:Xeq(f,g)\phi: X \to \textsf{eq}(f, g) such that π1ϕ=hA\pi_1 \circ \phi = h_A and π2ϕ=hB\pi_2 \circ \phi = h_B, and that concludes the proof that the pullback construction that is asserted to be an equalizer really is an equalizer.

We can continue the discussion to go on to general finite limits -- I'll leave it to you if you want to do that. But it might be best to break here for today. I'm glad that we at least saw this discussion through to a conclusion.

view this post on Zulip Eric Forgy (Jan 19 2021 at 21:47):

Thank you sincerely Todd. Not once in all of this discussion did I ever think you were *** with me :sweat_smile:

I'll send you a note privately with some relevant info about this situation.

view this post on Zulip John Baez (Jan 19 2021 at 23:30):

Eric Forgy said:

I just don't get it and obviously cannot speak the same language as you because
{}
(f,g)hA=(fhA,ghA)=(hB,hB)=(idB,idB)hB=ΔhB(f,g)\circ h_A = (f\circ h_A,g\circ h_A) = (h_B,h_B) = (\mathsf{id}_B,\mathsf{id}_B)\circ h_B = \Delta\circ h_B
{}
which is given unless you want me to prove that
{}
(f,g)=(f,g)(f,g) = (f',g')
{}
implies f=ff=f' and g=gg=g', in which case I will pass because that is obvious.

I don't think that's obvious. It's obvious with the usual definition of the ordered pair (f,g)(f,g), but that's not the definition you're using in this game! You are using (f,g)(f,g) with a certain technical definition involving universal properties - it's nothing like an ordered pair.

view this post on Zulip Eric Forgy (Jan 19 2021 at 23:36):

Yeah. Once I drew this :point_down: , it made a lot of sense. I guess I shouldn't use the word "obvious". "Almost obvious"? :blush:

I see your point though :+1:

Eric Forgy said:

This diagram

image.png

{}

makes it clear that (f,g)h=(fh,gh).(f,g)\circ h = (f\circ h,g\circ h).