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: Relationship between spans and bimodules


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

Hello. I've been going in circles trying to understand this and can use some help :pray:

Although scary to admit (because the general topic is over my head), I'm trying to study bicategories Span(C)\mathsf{Span(C)} and Bim.\mathsf{Bim}. Not in their full generality, but a special case.

In particular, when I look at a span E:VVE: V\to V' and a span E:VVE': V'\to V'', their composite is a span E×VE:VVE\times_{V'} E':V\to V''.

Similarly, when I look at a bimodule Ω:AA\Omega:A\to A' and a bimodule Ω:AA\Omega':A'\to A'', their composite is a bimodule ΩAΩ:AA.\Omega\otimes_{A'}\Omega':A\to A''.

The similarities between the two notations cannot be a coincidence. I'm trying to understand this.

The notation ΩAΩ\Omega\otimes_{A'}\Omega' makes me want to think of bimodules as spans (or cospans), where ΩAΩ\Omega\otimes_{A'}\Omega' is a pullback (or push out) somehow.

More specifically, I'm thinking of endomorphisms E:VVE:V\to V in Span(Set)\mathsf{Span(Set)}, a.k.a. directed graphs, and endomorphisms Ω:AA\Omega: A\to A in Bim.\mathsf{Bim}.

An endomorphism span E:VVE:V\to V composes with itself nn times giving the span E×Vn:VV.E^{\times_V n}:V\to V.

An endomorphism bimodule Ω:AA\Omega:A\to A composes with itself nn times giving the bimodule ΩAn:AA.\Omega^{\otimes_A n}:A\to A.

Given a set SS, there two ways to obtain algebras:
{}

  1. K[S],K[S], i.e. the formal linear combinations of elements of SS.
  2. KS,K^S, i.e. functions from SS to KK with product defined pointwise.

{}
In this comment, John nicely (even I understood :sweat_smile:) explained that with KSK^S, we have a functor
{}
Span(Set)Cospan(Alg)\mathsf{Span(Set)}\to\mathsf{Cospan(Alg)}
{}
so we are getting cospans instead of spans. In a prior comment, he also showed how to construct a functor
{}
BimCospan(Alg).\mathsf{Bim\to Cospan(Alg)}.
{}
(Note: Wow. Writing all this down actually gets me some way toward understanding what I'm actually trying to do :sweat_smile: )
Now, if my CT kung fu were a little better, I should be able to make the last connection and relate
{}
Span(Set)Bim.\mathsf{Span(Set)\leftrightarrows Bim}.
{}
My gut tells me there should be some forgetful functor
{}
BimSpan(Set).\mathsf{Bim\to Span(Set)}.
{}
If so, there should be functors (free to the right and forgetful to the left)
{}
Span(Set)Cospan(Alg)Bim.\mathsf{Span(Set)\leftrightarrows Cospan(Alg)\leftrightarrows Bim}.
{}
Unfortunately, this is a little beyond what I'm capable of figuring out on my own at the moment and I need this step to make progress on an applied / engineering paper I'm writing.

Any ideas? :pray:

PS: I came across this (unpublished) note from Urs:

It looks helpful, but it ends abrutly just when it was getting interesting :sweat_smile:

view this post on Zulip Fawzi Hreiki (Jan 14 2021 at 00:40):

Just for clarity, what exactly is the category Bim\text{Bim}?

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

Hi Fawzi :wave:

Bim\mathsf{Bim} is a bicategory with

view this post on Zulip Cole Comfort (Jan 14 2021 at 00:49):

This does not answer your question but (small) profunctors are bimodules in spans of sets

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

Cole Comfort said:

This does not answer your question but (small) profunctors are bimodules in spans of sets

Yeah. I'm trying to read up on profunctors, but it is pushing the limits of my poor brain :sweat_smile:

I also found this on the nLab:

Let V=SetV=\mathsf{Set} and let C=DC=D. Then the hom functor C(,):Cop×CSetC(-,-):C^{op}\times C\to\mathsf{Set} is a bimodule. Bimodules can be thought of as a kind of generalized hom, giving a set of morphisms (or object of VV) between an object of CC and an object of DD.

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

Cole Comfort said:

This does not answer your question but (small) profunctors are bimodules in spans of sets

If I could understand this statement, it would certainly help. Care to elaborate a little? :pray:

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

A found this fact to be pretty cool...

A category internal to some category CC is the same as a monad in Span(C)\mathsf{Span(C)}.

So anywhere I see "category internal to CC", I can think "monad in Span(C)\mathsf{Span(C)}"

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

From the nLab:

Here is the slick definition: let SS be a category with pullbacks. Then the bicategory Prof(S)\mathsf{Prof}(S) of internal categories, profunctors and transformations in SS is defined to be Mod(Span(S))\mathsf{Mod(Span}(S)), the category of monads and bimodules in Span(S)\mathsf{Span}(S), the bicategory of spans in SS.

So an internal profunctor CDC⇸D between internal categories CC and DD is a bimodule from CC to DD. An internal presheaf on CC is a right CC-module, or equivalently a bimodule 1C1⇸C, where 11 is the discrete category on the terminal object of SS (as long as SS has one, of course).

view this post on Zulip Fawzi Hreiki (Jan 14 2021 at 01:27):

Regarding profunctors, I'll just point you to this.

view this post on Zulip Fawzi Hreiki (Jan 14 2021 at 01:28):

The basic idea is that, the same way 2 plays the role of truth values on Set, Set plays the role of truth values in CAT.

view this post on Zulip John Baez (Jan 14 2021 at 01:31):

Eric Forgy said:

Hello. I've been going in circles trying to understand this and can use some help :pray:

Although scary to admit (because the general topic is over my head), I'm trying to study bicategories Span(C)\mathsf{Span(C)} and Bim.\mathsf{Bim}. Not in their full generality, but a special case.

In particular, when I look at a span E:VVE: V\to V' and a span E:VVE': V'\to V'', their composite is a span E×VE:VVE\times_{V'} E':V\to V''.

Similarly, when I look at a bimodule Ω:AA\Omega:A\to A' and a bimodule Ω:AA\Omega':A'\to A'', their composite is a bimodule ΩAΩ:AA.\Omega\otimes_{A'}\Omega':A\to A''.

The similarities between the two notations cannot be a coincidence. I'm trying to understand this.

The notation ΩAΩ\Omega\otimes_{A'}\Omega' makes me want to think of bimodules as spans (or cospans)...

I believe you're stuck because bimodules are not a special case of spans. Spans (of sets, for example) are a special case of bimodules.

I explained it here:

When you understand this you'll be happy. I tried to explain it here on Zulip a while back, but you probably weren't desperate enough back then.

view this post on Zulip Fawzi Hreiki (Jan 14 2021 at 01:33):

At the same time though, bimodules of sets (aka binary relations) are a special case of spans of sets.

view this post on Zulip John Baez (Jan 14 2021 at 01:34):

Anyway, Eric needs to understand what I wrote. I was quite excited when I wrote it:

I always thought bimodules and spans should be related, but only recently did I learn exactly how, thanks to Paul-André Melliès.

view this post on Zulip John Baez (Jan 14 2021 at 01:35):

So I was exactly where Eric is now, until Paul-André explained what's going on here.

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

Hi :wave:

I'm coming back to this stream after putting a lot of elbow grease into:

Bimodules vs Spans

There, we learned that in (Setop,×,)(\mathsf{Set^{op}},\times,*):

view this post on Zulip John Baez (Jan 15 2021 at 20:59):

Yes, that's a nice summary!

So: spans are a special case of the general theory of bimodules.

Then you can have some fun as follows:

Given monoidal categories CC and DD, and a monoidal functor F:CDF: C \to D, FF maps monoid objects in CC to monoid objects in DD in an obvious way, and bimodules to bimodules in an obvious way, preserving composition up to isomorphism. (Details left as an exercise.)

So, we can use a monoidal functor

F:(Setop,×)(Vect,) F: (\mathsf{Set}^{\rm op}, \times) \to (\mathsf{Vect}, \otimes)

to turn monoid objects in (Setop,×) (\mathsf{Set}^{\rm op}, \times), which are just sets, to monoid objects in (Vect,) (\mathsf{Vect}, \otimes) , which are just algebras, and turn bimodules in (Setop,×) (\mathsf{Set}^{\rm op}, \times), which are just spans of sets, to monoid objects in (Vect,) (\mathsf{Vect}, \otimes) , which are just bimodules, in a manner preserving composition.

I'm a little confused here, but I think it works better to use finite sets, since I think I know a very nice monoidal functor

(FinSetop,×)(Vect,) (\mathsf{FinSet}^{\rm op}, \times) \to (\mathsf{Vect}, \otimes)

which does not extend to infinite sets. This monoidal functor sends any finite set XX to kXk^X, where kk is the field we're using to define Vect\mathsf{Vect}, and it sends a function f:XYf: X \to Y to the pullback linear map f:kYkXf^\ast: k^Y \to k^X. Note this contravariance is what we need, to deal with the "op".

view this post on Zulip John Baez (Jan 15 2021 at 21:01):

I believe this is a very nice way to turn spans of finite sets into bimodules, in such a way that composition is preserved up to isomorphism. I think you want to use this in your work.

view this post on Zulip John Baez (Jan 15 2021 at 21:04):

If you need to use infinite sets I think things get a bit tricky.

view this post on Zulip Eric Forgy (Jan 15 2021 at 21:20):

Cool! That is so awesome! :smiley: :mind-blown:

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

In terms of size, I'd like to be able to work with denumerable sets like Zn.\mathbb{Z}^n. Is that possible?

view this post on Zulip Eric Forgy (Jan 15 2021 at 21:37):

I think your (lax) functor should be fine with sets indexed by Z.\mathbb{Z}.

view this post on Zulip Eric Forgy (Jan 15 2021 at 21:41):

An element fkZf\in k^\mathbb{Z} can be written as an infinite sum:
{}
f=iZf(i)ei.\begin{aligned}f = \sum_{i\in\mathbb{Z}} f(i) e^i.\end{aligned}
{}
I think that is nicely enough behaved so that we can write
{}
fkg=i,jZf(i)g(j)eikej\begin{aligned}f\otimes_k g = \sum_{i,j\in\mathbb{Z}} f(i)\, g(j)\, e^i\otimes_k e^j\end{aligned}
{}
right? I hope so :sweat_smile: :pray:

view this post on Zulip Eric Forgy (Jan 15 2021 at 21:42):

If not, I might need some kind of "finite support" condition or something.

view this post on Zulip John Baez (Jan 15 2021 at 21:52):

I said finite and meant finite; countably infinite doesn't work the same.

view this post on Zulip Eric Forgy (Jan 15 2021 at 21:57):

Ok. Then I think I might need to get into some of the tricky stuff :thinking:

view this post on Zulip John Baez (Jan 15 2021 at 22:00):

The point is this: for finite sets we have

kX×YkXkY k^{X \times Y} \cong k^X \otimes k^Y

but if both XX and YY are infinite this is false.

Thus, one can show the contravariant functor sending a finite set XX to kXk^X and a function f:XYf: X \to Y to f:kYkXf^\ast : k^Y \to k^X is monoidal, giving a monoidal functor

(FinSetop,×)(Vect,) (\mathsf{FinSet}^{\text{op}}, \times) \to (\mathsf{Vect}, \otimes)

but this procedure does not give a monoidal functor

(Setop,×)(Vect,) (\mathsf{Set}^{\text{op}}, \times) \to (\mathsf{Vect}, \otimes)

Various attempted workarounds seem to have various problems, which I could explain.

view this post on Zulip Eric Forgy (Jan 15 2021 at 22:05):

You've explained to me a couple times how there are two ways to get a vector space from a set, i.e. kSk^S and k[S]k[S]. Does the other way, i.e. k[S]k[S] suffer the same restriction to finite sets? In that case, we want k[X×Y]k[X]k[Y].k[X\times Y] \cong k[X]\otimes k[Y].

view this post on Zulip John Baez (Jan 15 2021 at 22:07):

There is a covariant functor sending any set XX to k[X]k[X], the free vector space on XX and any function f:XYf: X \to Y to a certain obvious linear map f:k[X]k[Y]f_\ast: k[X] \to k[Y]. This construction obeys

k[X×Y]k[X]k[Y] k[X \times Y] \cong k[X] \otimes k[Y]

for any pair of sets XX or YY, so we get a monoidal functor

(Set,×)(Vect,) (\mathsf{Set}, \times) \to (\mathsf{Vect}, \otimes)

but note: the "op" is not there now! So this sends monoids in (Set,×) (\mathsf{Set}, \times) - that is, ordinary monoids - to algebras.

We can also think of the above functor as a monoidal functor

(Setop,×)(Vectop,) (\mathsf{Set}^{\text{op}}, \times) \to (\mathsf{Vect}^{\text{op}}, \otimes)

This sends sets (monoid objects in (Setop,×)(\mathsf{Set}^{\text{op}}, \times)) to coalgebras (monoid objects in (Vectop,) (\mathsf{Vect}^{\text{op}}, \otimes) ).

view this post on Zulip Eric Forgy (Jan 15 2021 at 22:08):

I see :thinking: Thank you :pray:

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

There are also other tricks one can play, but I'm getting tired and none of them instantly stand out as a panacea.

view this post on Zulip Eric Forgy (Jan 15 2021 at 22:11):

Sure. Understandable. Thank you. This is already a huge help :pray:

view this post on Zulip John Baez (Jan 15 2021 at 22:13):

I will say this: a lot of times when people naively think they need algebras, it turns out coalgebras would work. Finite-dimensional algebras are practically the same as finite-dimensional coalgebras, since the dual of the former is the latter and vice versa, and dualizing twice gets you back where you started. That fails in the infinite-dimensional case. So the need for coalgebras becomes more visible in the infinite-dimensional case, which is exactly the problem we're running up against now.

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

I'm thinking that starting with sets (not restricted to finite sets), we can obtain vectors / coalgebras following the second approach with k[S]k[S] and then I can look at the dual space of that. This is analogous to the vectors / coalgebras being the "space" and then I look at "differential forms" on those spaces. I know that is vague and imprecise, but I'm just trying to convey a vague idea.

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

Yeah, that was one of the "other tricks one can play". But you have to play a few moves of that game before you see if you win or get check-mated.

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

Roughly, I'm thinking along the lines of sets -> chains -> cochains.

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

Those are good thoughts to have. Ultimately it should all make loads of sense.

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

John Baez said:

Yeah, that was one of the "other tricks one can play". But you have to play a few moves of that game before you see if you win or get check-mated.

Yeah. I can imagine. The dual space will need some niceness properties (I've seen the word "Fredholm" that seems relevant).

view this post on Zulip John Baez (Jan 15 2021 at 22:19):

No, "Fredholm" is not relevant, that's more about analysis, like Hilbert spaces.

view this post on Zulip John Baez (Jan 15 2021 at 22:19):

This is just algebra here.

view this post on Zulip Eric Forgy (Jan 15 2021 at 22:20):

Well, I do want Hilbert spaces out of this at the end of the day.

view this post on Zulip John Baez (Jan 15 2021 at 22:20):

Ugh, well, that's a whole other level of math.

view this post on Zulip Eric Forgy (Jan 15 2021 at 22:20):

Yeah. One step at a time :sweat_smile:

view this post on Zulip John Baez (Jan 15 2021 at 22:21):

The good news is, nothing in math fails that deserves to work. And nothing in math works that deserves to fail.

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

That is why I liked working with the 1-category Span(Set)\mathsf{Span(Set)}. It is a dagger category, which makes the road ahead to Hilbert spaces more clear.

view this post on Zulip Eric Forgy (Jan 15 2021 at 22:23):

I think most of the "Bimodules vs Span" discussion can be converted to a discussion about Span(Set)\mathsf{Span(Set)} (or maybe Span(Setop)\mathsf{Span(Set^{op})} or something).

view this post on Zulip Eric Forgy (Jan 15 2021 at 22:24):

A bimodule is a morphism in Span(Setop)\mathsf{Span(Set^{op})} (guessing :sweat_smile: )

view this post on Zulip John Baez (Jan 15 2021 at 22:27):

Why guess stuff? I thought we just showed that a bimodule in (Setop,×)(\mathsf{Set}^{\text{op}},\times) is the same as as a morphism in the bicategory Span(Set)\mathsf{Span}(\mathsf{Set}).

view this post on Zulip John Baez (Jan 15 2021 at 22:27):

(Note if you want a mere category of spans you need to take isomorphism classes of spans, which will correspond to isomorphism classes of bimodules. I prefer to go bicategorical and avoid the "isomorphism class" stuff.)

view this post on Zulip Eric Forgy (Jan 15 2021 at 22:29):

True, but in this case I kind of think of it like A(BC)A\otimes (B\otimes C) and (AB)C(A\otimes B)\otimes C are the "same" :thinking:

view this post on Zulip John Baez (Jan 15 2021 at 22:29):

Btw, you might like this talk I gave, advocating the use of spans in quantum mechanics:

view this post on Zulip Eric Forgy (Jan 15 2021 at 22:29):

Of course. I love all your stuff :blush:

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

Eric Forgy said:

True, but in this case I kind of think of it like A(BC)A\otimes (B\otimes C) and (AB)C(A\otimes B)\otimes C are the "same" :thinking:

So I think I am actually ok with thinking of isomorphism classes of bimodules, but I might change my mind when I get a little more enlightened :blush:

view this post on Zulip Eric Forgy (Jan 15 2021 at 22:32):

This is awesome too:

view this post on Zulip John Baez (Jan 15 2021 at 22:35):

It's okay with working with isomorphism classes of bimodules until you want to talk about something like an element of a bimodule, or a homomorphism between bimodules.

There's no such thing as an element of an isomorphism classes of bimodules. There's no such thing as a homomorphism between isomorphism classes of bimodules. For these you need actual bimodules.

An isomorphism class is like a slippery greased pig twisting around so fast you can't grab any individual part of it. All you can say is "yup, it's a pig".

view this post on Zulip Eric Forgy (Jan 15 2021 at 22:43):

I'll try to do it the right way :muscle: (and forget isomorphism classes)

view this post on Zulip Eric Forgy (Jan 15 2021 at 22:45):

Through out all of this, I still have the functor NSpan(Set)\mathbb{N}\to\mathsf{Span(Set)} in mind, so I have to tie this together somehow :thinking:

view this post on Zulip Eric Forgy (Jan 15 2021 at 22:46):

So I will start treating Span(Set)\mathsf{Span(Set)} as the bicategory that it is.

view this post on Zulip Eric Forgy (Jan 15 2021 at 23:10):

Eric Forgy said:

This is awesome too:

This is also awesome:

view this post on Zulip John Baez (Jan 16 2021 at 02:16):

Thanks, I was actually looking for that one when I found the des Treilles talk.

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

Good morning :coffee:

Unlearning things you thought you knew is tough business :hurt:

Some things I've (un)learned recently:

Thanks to John's puzzles, I now know one important relationship between spans and bimodules.

Some definitions:
{}
Span(C,×)\mathsf{Span}(C,\times) is a bicategory where

{}
Bim(Cop,×)\mathsf{Bim}(C^\mathsf{op},\times) is a bicategory where

Then,


Span(C,×)Bim(Cop,×).\mathsf{Span}(C,\times) \cong \mathsf{Bim}(C^\mathsf{op},\times).


In other words:

{}
(Note: We never discussed 2-morphisms or bicategories, but I have enough faith in the beauty of the universe to feel fairly confident this has to be the case.)

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

Some corrections: "the tensor product of modules is a coproduct". It's true that (for example) the tensor product of commutative rings has, for its underlying additive abelian group, the tensor product of the additive groups of the given rings. And similarly for commutative kk-algebras over a commutative ring kk: you take the tensor product of their underlying (additive) kk-modules. But that's saying something else.

On bicategories of spans: the input data needs to be a category CC with pullbacks. Those are what allow you to compose morphisms = 1-cells. But if you want to do all the things you mention, you will need finite products as well. So you may as well assume CC is finitely complete.

There's a pretty big iceberg of stuff that lies beyond...

I'm probably only going to respond intermittently (if at all). John has been heroically guiding you through this -- I don't have the time myself.

view this post on Zulip Eric Forgy (Jan 17 2021 at 21:36):

Todd Trimble said:

I'm probably only going to respond intermittently (if at all). John has been heroically guiding you through this -- I don't have the time myself.

Thanks Todd :pray: Understood. For what its worth, I consider any intermittent comment from you as golden and very much welcome / appreciated :raised_hands:

Todd Trimble said:

On bicategories of spans: the input data needs to be a category CC with pullbacks. Those are what allow you to compose morphisms = 1-cells. But if you want to do all the things you mention, you will need finite products as well. So you may as well assume CC is finitely complete.

What I defined above, i.e. Span(C,×),\mathsf{Span}(C,\times), is a little more restrictive than the usual Span(C)\mathsf{Span}(C) because I require (C,×)(C,\times) to be cartesian ( Note, the first bullet in my definition. ). Is that sufficient?

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

How do you define the composition of spans?

view this post on Zulip Eric Forgy (Jan 17 2021 at 21:54):

I think I see. Thanks. If I require CC to be finitely complete, then it has finite products AND pullbacks.

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

[Edit: From the nLab, I see that if a category has a terminal object and pullbacks, then it is finitely complete. Since a cartesian monoidal category has a terminal object, then a cartesian monoidal category with pullbacks is finitely complete :+1: ]

I revised the definition to say "cartesian monoidal category with pullbacks (i.e. finitely complete)". Thank you for pointing out my mistake :pray:

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

Well, I could try to play John here and probe further why pullbacks are important here, and is composition associative, and a whole bunch of other things, but you were in the middle of talking about something else I think.

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

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.

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

Todd Trimble said:

Well, I could try to play John here and probe further why pullbacks are important here, and is composition associative, and a whole bunch of other things, but you were in the middle of talking about something else I think.

Yeah, I was hoping to summarize (correctly - so thank you for your corrections :pray: ) what I learned in John's puzzles so I can move on to something else related that I'm thinking about. Hopefully what I said about Span(C,×)\mathsf{Span}(C,\times) and Bim(Cop,×)\mathsf{Bim}(C^\mathsf{op},\times) is correct now :pray:

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

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.)

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

It is not immediately obvious to me and that does sound like good exercise to try :+1: I will think about it. Thanks :pray:

[Edit: I tried it here.]

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

Getting back to this :pray:

Some definitions:
{}
Span(C,×)\mathsf{Span}(C,\times) is a bicategory where

{}
Bim(Cop,×)\mathsf{Bim}(C^\mathsf{op},\times) is a bicategory where

{}
Then,


Span(C,×)Bim(Cop,×).\mathsf{Span}(C,\times) \cong \mathsf{Bim}(C^\mathsf{op},\times).


This is pretty cool and gives us important relationships between spans and bimodules, but there are additional relationships I need to understand and those will probably turn out to be related to these :point_of_information:

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

"Bimodules" are a lot lot lot more general than is apparent from this context. Really pursuing this would lead to profunctors. But, all in good time.

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

Some background info...

Back in November, I decided to try to rewrite my old preprint with Urs:

(as part of a desire to apply for engineering faculty positions, but I'm pretty sure I am too late for that by now :pensive:) in the language of CT in an attempt to simplify the presentation, add some exposition and extend it with some recent new results that I'm excited about.

Back in November, I roughly - very roughly - knew what a bimodule was. I thought of it as a slight generalization of vector spaces with left and right actions by commutative algebras. The bimodules I was working with were clearly related to directed graphs, but I had no idea how to make that connection precise although I knew it was there. I had heard the word "span", but had never knowingly used it in any work I was doing.

I've learned a lot these past couple months thanks to John, Todd and several others. Thank you :pray:

Now, I understand a directed graph (for my purposes) to be an endomorphism in Span(Set)\mathsf{Span(Set)} and I understand that Span(C)\mathsf{Span(C)} and Bim\mathsf{Bim} are both important examples of bicategories, so if I want to express my work in the language of CT, it will involve bicategories. That is real progress :muscle:

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

Initially, I wanted to treat Span(Set)\mathsf{Span(Set)} as a 1-category and I was happy with my new favorite functor
{}
G:NSpan(Set)G: \mathbb{N}\to\mathsf{Span(Set)}
{}
where N\mathbb{N} is a category with one object and morphisms labelled by natural numbers with composition = addition, i.e. mn=m+n.m\circ n = m+n. This is cool because
{}

{}
This seems like it is related to "nerve", but is more suitable to my purposes.

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

Now, John has convinced me to NOT do that so I am rethinking things keeping Span(Set)\mathsf{Span(Set)} as a bicategory, but then that forces me to rethink my favorite functor :thinking:

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

What I'm thinking about now is closer to Span(N),\mathsf{Span}(\mathbb{N}), i.e. functors
{}
G:Span(N)Span(Set),G:\mathsf{Span}(\mathbb{N})\to \mathsf{Span(Set)},
{}
but I still need to think it through. Work in progress.

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

What I'm trying to think about now is the relationships among Span(Set),\mathsf{Span(Set)}, Cospan(Vect),\mathsf{Cospan(Vect)}, and Span(Vect).\mathsf{Span(Vect)}.

For example, we have a contravariant functor
{}
K:Span(Set)Copan(Vect)K^{-}: \mathsf{Span(Set)\to Copan(Vect)}
{}
given by SKS,S\mapsto K^S, on objects and on spans gives:
{}

image.png

{}
and we have a covariant functor
{}
K[]:Span(Set)Span(Vect)K[-]: \mathsf{Span(Set)\to Span(Vect)}
{}
given by SK[S]S\mapsto K[S] on objects and on spans gives:
{}

image.png

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

I see. This is cool :heart_eyes: Set\mathsf{Set} is cartesian, but Vect\mathsf{Vect} is cocartesian so we have
{}
Span(Set,×)Cospan(Setop,×)Bim(Setop,×)\mathsf{Span(Set,\times)\cong Cospan(Set^{op},\times)\cong Bim(Set^{op},\times)}
{}
and
{}
Span(Vectop,)Cospan(Vect,)Bim(Vect,)\mathsf{Span(Vect^{op},\otimes)\cong Cospan(Vect,\otimes)\cong Bim(Vect,\otimes)}
{}
so that
{}
K:Span(Set,×)Cospan(Vect,)Bim(Vect,)K^{\bullet}: \mathsf{Span(Set,\times)\to Cospan(Vect,\otimes) \cong Bim(Vect,\otimes)}
{}
and
{}
K[]:Span(Setop,×)Cospan(Vect,)Bim(Vect,)K[\bullet]: \mathsf{Span(Set^{op},\times)\to Cospan(Vect,\otimes)\cong Bim(Vect,\otimes)}
[Edit: Was missing the op\mathsf{op} when I first posted this.]
{}
so the second diagram is better thought of as
Covariant

{}
This gives some solid justification for what I knew should somehow be true :+1:

It is actually quite beautiful. Thank you for nudging (dragging?) me through the puzzles. It was worth it :pray:

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

Great! Yes, this was the goal of my remarks.

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

I won't apologize for the :heart: emoji. Thank you. Really :blush:

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

However, I think there's a mistake in here, connected to contravariance. KK^\bullet is a contravariant functor and I think you neglected the effect of that contravariance on what you were doing. But K[]K[\bullet] is covariant.

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

I'd have to think about this again to see exactly what's going on...

view this post on Zulip Eric Forgy (Jan 20 2021 at 00:08):

For what it's worth. I didn't neglect contravariance, but it is completely possible that I made a mistake keeping track of it.

view this post on Zulip Eric Forgy (Jan 20 2021 at 00:21):

Yep. I believe you are right. I was missing the op\mathsf{op} in K[].K[\bullet]. I editted it now :+1:

view this post on Zulip John Baez (Jan 20 2021 at 00:45):

By the way, (FinVectop,)(\mathsf{FinVect}^{\rm op}, \otimes) is equivalent to (FinVect,)(\mathsf{FinVect}, \otimes), where FinVect\mathsf{FinVect} means the category of finite-dimensional vector spaces.

view this post on Zulip John Baez (Jan 20 2021 at 00:46):

So if you restrict to finite sets and finite-dimensional vector spaces, certain things get nicer.

view this post on Zulip Eric Forgy (Jan 20 2021 at 00:47):

John Baez said:

So if you restrict to finite sets and finite-dimensional vector spaces, certain things get nicer.

Ok, but I don't want to do that. The simplest example I want to work with is Zn\mathbb{Z}^n :thinking:

view this post on Zulip John Baez (Jan 20 2021 at 00:49):

It's amazing that you can count up to infinity.

view this post on Zulip Eric Forgy (Jan 20 2021 at 08:12):

I spent a few minutes looking at the bicategory Cospan(N,+)\mathsf{Cospan}(\mathbb{N,+}). It is kind of cool.

It is defined as follows:

{}
Composition of cospans is as usual via pushout

image.png

{}
2-morphisms

image.png

{}
are defined only if m=m2m1=n2n10.m = m_2-m_1 = n_2-n_1\ge 0.
{}

Just like my favorite functor
{}
NC\mathbb{N}\to C
{}
is a classifier of endomorphisms in a category CC,
{}
Cospan(N,+)Cospan(C,)\mathsf{Cospan}(\mathbb{N},+)\to\mathsf{Cospan}(C,\sqcup)
{}
seems to play a similar role for bicategories.
{}
(N,+)(\mathbb{N},+) is cocartesian monoidal so we have
{}
Cospan(N,+)Span(Nop,+)Bim(N,+)\mathsf{Cospan}(\mathbb{N},+)\cong \mathsf{Span}(\mathbb{N}^\mathsf{op},+)\cong \mathsf{Bim}(\mathbb{N},+)
{}
and my favorite functor becomes
{}
G:Span(Nop,+)Span(Set,×),G: \mathsf{Span}(\mathbb{N}^\mathsf{op},+)\to \mathsf{Span(Set,\times)},
{}

{}
This definitely feels like I'm on track :+1:

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

Now, I think I can pose a question I raised above more correctly:
{}
Is it possible that
{}
[Span(Nop,+),Span(Set,×)]Span([(Nop,+),(Set,×)],×)[\mathsf{Span}(\mathbb{N}^\mathsf{op},+),\mathsf{Span(Set,\times)}] \cong \mathsf{Span}([(\mathbb{N}^\mathsf{op},+),(\mathsf{Set},\times)],\times)
{}
?

view this post on Zulip Eric Forgy (Jan 20 2021 at 09:29):

Eric Forgy said:

Now, I think I can pose a question I raised above more correctly:
{}
Is it possible that
{}
[Span(Nop,+),Span(Set,×)]Span([(Nop,+),(Set,×)],×)[\mathsf{Span}(\mathbb{N}^\mathsf{op},+),\mathsf{Span(Set,\times)}] \cong \mathsf{Span}([(\mathbb{N}^\mathsf{op},+),(\mathsf{Set},\times)],\times)
{}
?

Between shifus John and Todd, I think I might have learned enough CT kung fu that I might actually be able to take at stab at this :muscle:

Consider the following diagram

image.png

{}
The action of a functor
{}
Span(Nop,+)Span(Set,×)\mathsf{Span}(\mathbb{N}^\mathsf{op},+)\to\mathsf{Span(Set,\times)}
{}
is shown on the left and on the right sides of the commuting box. The horizontal arrows connecting the left and right sides are components of a natural transformation.
{}
The action of a functor
{}
(Nop,+)(Set,×)(\mathbb{N}^\mathsf{op},+)\to (\mathsf{Set},\times)
{}
is again shown on the left and on the right sides of the commuting box. The horizontal arrows connecting the left and right sides are components of a natural transformation.

However, we can insert another functor resulting in the following diagram

image.png

{}
This looks like a span of functors, i.e. one functor in the middle with functors on either side and natural transformations connecting them, so I think it might actually be possible that
{}
[Span(Nop,+),Span(Set,×)]Span([(Nop,+),(Set,×)],×).[\mathsf{Span}(\mathbb{N}^\mathsf{op},+),\mathsf{Span(Set,\times)}] \cong \mathsf{Span}([(\mathbb{N}^\mathsf{op},+),(\mathsf{Set},\times)],\times).
{}
I know this doesn't count as a proof, but I think it might be a reasonable sketch of the beginning of a proof (with possible modifications) :blush:

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

Note: In the diagram, I introduced a new shorthand notation
{}
Em,n:=E×VmE×Vn=E×VnE×VmE^{m,n} := {E^\dagger}^{\times_V m}\circ E^{\times_V n} = E^{\times_V n}\circ {E^\dagger}^{\times_V m}
{}
so that
{}
E0,0=V,E^{0,0} = V,
{}
E0,1=E,E^{0,1} = E,
{}
and
{}
E1,0=E.E^{1,0} = E^\dagger.

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

This is exactly what I needed to make CT contact with discrete differential geometry :+1:

This also helps justify defining a set
{}
E(r)=r=nmEm,n=r=nmE×VmE×V(mr)\begin{aligned} E^{(r)} = \coprod_{r=n-m} E^{m,n} = \coprod_{r=n-m} {E^\dagger}^{\times_V m}\circ E^{\times_V (m-r)}\end{aligned}
{}
which, I think (still need to verify, but its looking good) gets mapped to bimodules
{}
Ω(r)=r=nmΩm,n=r=nmΩ×VmΩ×V(mr).\begin{aligned} \Omega^{(r)} = \bigoplus_{r=n-m} \Omega^{m,n} = \bigoplus_{r=n-m} {\Omega^\dagger}^{\times_V m}\circ \Omega^{\times_V (m-r)}.\end{aligned}
{}
I like it :blush: