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.
I'm interested in understanding how "tensor-hom" adjunctions arise, and when such an adjunction is in fact a geometric morphism. I'm specifically interested in understanding how tensor-hom adjunctions can arise from profunctors, and I'd like to try this out with a few examples. It could also be interesting to note some common patterns that can be used to construct profunctors. Along the way, I want to learn how to compose profunctors - and to use this as a chance to learn a little bit about coends.
I'm hoping to structure this thread around specific questions and specific exercises. I'm not sure quite yet which specific question or exercise I'd like to start with, but I wanted to get this thread started! Going forward, I'm currently planning to reference discussion and exercises from "Sheaves in Geometry and Logic" (by Mac Lane and Moerdijk) and/or "Coend calculus" (by Fosco Loregian).
If anyone has any initial thoughts or suggestions at the start of this thread, please feel free to share those! Otherwise, I will plan to create a second post in this thread once I have a specific first exercise or discussion topic in mind.
This paper https://arxiv.org/abs/2404.01406 talks about how different notions of pro functor presentation lead to failure or success of composition of presentations. If you need to compose specific finitely presented pro functors, the algorithms in that paper are implemented at http://categoricaldata.net
Thanks for your comment @Ryan Wisnesky. I hadn't heard about "presentations" of profunctors before. I'll keep that paper in mind in case I want to learn more about that, at some point.
Here's the first specific question I'd like to explore in this thread: What are some examples of profunctors?
The nLab informs me that if is a symmetric closed monoidal category (such as the category of sets), and and are categories enriched over , then a profunctor from to is a -functor .
I don't know what this is doing, yet - I guess there is some notion of tensor product between -enriched categories. However, in the case that , I do know that a profunctor from a category to a category is just a functor .
Puzzle. Guess what the tensor product of -enriched categories and might be. For starters figure out the set of objects of , and then for any pair of objects in their hom-object, which is an object in .
Hint: copy the product of ordinary categories, replacing the cartesian product of sets by the tensor product of objects in whenever called for (and not otherwise).
A lot of basic enriched category theory is straightforward generalization of ordinary category theory, so it's good to get used to doing those generalizations without breaking a sweat. This lets you focus on the really novel aspects, like how limits and colimits get replaced by [[weighted limits]] and [[weighted colimits]]. These are connected to ends and coends, so they may become important when composing [[enriched profunctors]].
David Egolf said:
Here's the first specific question I'd like to explore in this thread: What are some examples of profunctors?
The most important profunctor is If you have functors then there’s the restricted hom If or picks out a single object then this restricted hom is a representable presheaf or copresheaf in the familiar sense! So one things profunctors do immediately is generalize representability to a concept that can vary in both variables at once.
A very different feel of example comes from drawing any category you like over the partial order The inverse image of becomes the domain of a profunctor and the inverse image of , the codomain, while the arrows over the nontrivial arrow in becomes the values. You might like to try to flesh out this sketch to show these things really do give profunctors, but it could also be useful just to draw some tiny examples in this way.
Thanks to both of you! Both of your responses will be interesting to work through.
To begin with, I think the puzzle @John Baez provided would be a great place to start. So let me see if I can guess what the tensor product of two -enriched categories and might be.
If we assume that and are small, they each have a set of objects. So it seems reasonable to try setting the objects of to be the cartesian product of the set of objects of with the set of objects of .
(I suppose that if or were categories internal to some category, then they might not have a set of objects, and we might want to do something fancier to form our new "object of objects".)
Next, we'd like to find the hom-object for any ordered pair of objects in . So, let's try to figure out the hom-object from to .
I expect this to be something in the spirit of the "product" of the morphisms in with the morphisms in . So, maybe we can try setting this hom object to be .
Great! There is really nothing else you could have done.
Of course you're not done yet, but you are following the tao of mathematics, like swimming downstream in a fast current.
I'm alluding to Chapter 19 of the Chuang-Tzu:
Confucius was looking at the cataract near the gorge of Lü, which fell a height of 240 cubits, and the spray of which floated a distance of forty lî, (producing a turbulence) in which no tortoise, gavial, fish, or turtle could play. He saw, however, an old man swimming about in it, as if he had sustained some great calamity, and wished to end his life.
Confucius made his disciples hasten along the stream to rescue the man; and by the time they had gone several hundred paces, he was walking along singing, with his hair dishevelled, and enjoying himself at the foot of the embankment. Confucius followed and asked him, saying, 'I thought you were a sprite; but, when I look closely at you, I see that you are a man. Let me ask if you have any particular way of treading the water.'
The man said, 'No, I have no particular way. I began (to learn the art) at the very earliest time; as I grew up, it became my nature to practise it; and my success in it is now as sure as fate. I enter and go down with the water in the very centre of its whirl, and come up again with it when it whirls the other way. I follow the way of the water, and do nothing contrary to it of myself;—this is how I tread it.
David Egolf said:
I expect this to be something in the spirit of the "product" of the morphisms in with the morphisms in . So, maybe we can try setting this hom object to be .
Note that symmetry is needed to define composition: the only possible definition is
Wow, so generically categories enriched in a non-symmetric monoidal category don't even have a tensor product? I guess you can get one though if you enrich in the colax product of a [[duoidal category]] -- then the other (lax) product induces a tensor product on -enriched categories.
Yes, this is Proposition 18 of Garner and López Franco's Commutativity. (See also section 13 of Lucyshyn-Wright's V-graded categories and V-W-bigraded categories.)
You can define:
Note that in the last step it "stabilizes".
I believe all this should generalize to higher columns in the periodic table, e.g. for 2-categories (by which I really mean bicategories, sorry) you should be able to define
I assume this means you should be able to define a 2-category (3-category) of these things. What happens if you want a (symmetric/sylleptic/braided) monoidal 2-category of the things, or for that matter if you're content with just a 2-graph of them?
That's a great question, but maybe you can guess the pattern as well as I can - I haven't thought about this question recently. I think the method of working out a few simple cases and then wildly extrapolating to pose some general conjectures is good here.
You can also do a [[horizontal categorification]] and define categories enriched in a bicategory, or even a (virtual) double category. In this case, it's straightforward to see that you get a tensor product of enriched categories if you enrich in a monoidal double category, using the tensor product on the double category to tensor hom-objects together (in contrast to how the composition of the double category is used when defining composition in enriched categories).
This "explains" why you need braiding in the case of enrichment over a monoidal category, since a one-object monoidal double category is essentially a category with two interchanging monoidal structures, which by the Eckmann-Hilton argument (the [[delooping hypothesis]]) is the same as a braided monoidal category.
Let me see if I can figure out how composition works. For any three objects in , we want a "composition" morphism:
We saw just above that , and we can use this to rewrite the above expression. Upon doing so, we get:
If is a braided monoidal category, then we intuitively have the ability to re-order the left side. There is then a morphism corresponding to our composition morphism of following type:
There is a morphism of this type that stands out to me. Because and are -enriched, we have composition morphisms:
Both of these morphisms are morphisms of , and so we can tensor them together to get a morphism presumably corresponding to our composition morphism.
It's not immediately clear to me that needs to be a symmetric monoidal category. (I think I only ended up using a braiding.) Is that needed so that this composition becomes associative, maybe?
It's not needed.
It's just that symmetric monoidal categories are so much more common than merely-braided ones that a lot of people don't bother being careful to check in what cases a braiding suffices.
Is all that story here supposed to generalize further to something like: the (n+1)-cat of V-enriched n-cats for V (k+1)-tuply monoidal is k-tuply monoidal?
It must. Proving this would be a very nice challenge for higher category theorists: each person with their own approach to higher categories gets to prove their own version!
John Baez said:
It must. Proving this would be a very nice challenge for higher category theorists: each person with their own approach to higher categories gets to prove their own version!
My bad. I've edited my wondering question. But you probably already got what I meant before that.
Anyways, if that's true, it should be somewhere in Lurie's HA for (n,1).
It remains to work out what the identity elements are in . For any object we want an identity element, which is a certain morphism . Here is the tensor unit object of our enriching monoidal category . Since , we are looking for a morphism .
Since and are -categories, we have already identity elements and . Then we can form . Finally, using a unitor isomorphism , we can get our identity element for .
I think that concludes the exercise of guessing what might be! Going forward, I think knowing how to form will be helpful for finding examples of profunctors.
Next, I'll plan to explore this comment:
Kevin Carlson said:
David Egolf said:
Here's the first specific question I'd like to explore in this thread: What are some examples of profunctors?
The most important profunctor is If you have functors then there’s the restricted hom If or picks out a single object then this restricted hom is a representable presheaf or copresheaf in the familiar sense! So one things profunctors do immediately is generalize representability to a concept that can vary in both variables at once.
I've been thinking about this Hom profunctor! One thing I like about this example is that it gives a profunctor for every -category, where is a symmetric closed monoidal category. So we get a large source of examples of profunctors.
Another thing I like about the Hom profunctor is that it suggests this intuition: a profunctor assigns to a pair of objects a thing that is "between" them. In this case, we have between and the -object . The action of the profunctor on morphisms intuitively I think has to do with "extending" what's between objects, via generalized pre/post composition. I'm hopeful that this intuition will be helpful for learning about composition of profunctors.
I am curious as to why we have this profunctor . I think this relates to how functors can induce profunctors, and I want to get to that shortly.
Before doing that, I first want to consider the case where we have functors and . Can we somehow use these to create a new "restricted hom" profunctor ?
If we can form some then we might be in business, as we could maybe form some -functor by "tensoring" somehow. Then, precomposing this -functor before our hom functor I think presumably would give our restricted hom functor.
I don't actually know, though, if we can:
It looks like page 12 of "Basic Concepts of Enriched Category Theory" (by Kelly) is relevant to both of these questions!
In short, it sounds like we can do both of these things, and so we can presumably form the restricted hom functor as I outlined above. (It would probably be a good exercise to check (1) and (2) work out in the "obvious" way, but I'm not sure I want to do that right now.)
You're absolutely right about all of that! And in fact, these restricted hom-profunctors are extremely important. If you want a hint as to one reason why, you could try asking yourself what they might have to do with -adjunctions.
You could also focus on the idea of restricting hom in the non-enriched setting; learning about profunctors and learning about enriched category theory are substantially orthogonal goals, although profunctors serve certain more important roles in the enriched theory that don't tend to fully show up in the unenriched case.
As for why Hom exists, it's kind of like asking why identity morphisms exist. Hom is fundamental as a profunctor, not derived from anywhere else.
I don't think it's quite the same as why identity morphisms exist. I would say it's more analogous to why representable functors exist, or why the action of a group on itself exists. Those facts all depend in particular on associativity: a magma (even a unital magma) doesn't act on itself, at least not in the obvious way.
Thanks to both of your for your comments!
It probably does make sense to focus on the non-enriched setting, at least to start out with. I wanted to think about the enriched setting at least a little bit though, just to have access to more examples. But maybe now I'll switch focus to the non-enriched setting.
Mike Shulman said:
You're absolutely right about all of that! And in fact, these restricted hom-profunctors are extremely important. If you want a hint as to one reason why, you could try asking yourself what they might have to do with -adjunctions.
I do want to understand how profunctors relate to tensor-hom adjunctions, and maybe this is in that spirit. I'm not quite sure where to start with this line of thought, though.
What sort of relationship between profunctors and tensor-hom adjunctions do you have in mind?
I mean, did you see someone say that they are related in a particular way and you want to understand that?
Mike Shulman said:
What sort of relationship between profunctors and tensor-hom adjunctions do you have in mind?
So, I'm thinking of a profunctor as like a bimodule: something that describes two compatible "actions" on something. That's the kind of thing we need to define a tensor product, I believe. For example, we can tensor a set with two compatible monoid actions against a set with an appropriate monoid action. Or we can tensor a commutative group with two compatible ring actions (a bimodule) against a commutative group with an appropriate ring action (a module).
"Sheaves in Geometry and Logic" also introduces a "tensor product" of set-valued functors on p. 353.
Ah, so you mean tensor products of profunctors.
I am hoping that all this tensoring is secretly tensoring of profunctors.
So maybe what I want to understand next is how to tensor profunctors, and maybe to see how this gives the appropriate thing in some special cases.
Your examples sounded to me like examples of what I'd call composing profunctors.
It's the same thing.
(I mean, there are also other kinds of tensor products of profunctors, but I think it's reasonable to also call the "composition" of profunctors a "tensor product".)
Okay. I will call it composition of profunctors, but for some reason I will also call it tensoring of bimodules. I guess it's just a cultural thing.
When David talked about tensoring profunctors, I imagine taking profunctors and and tensoring them to get . But anyway, he's not talking about that.
I'm just trying to figure out what he's interested in, and I think maybe I know by now, from his examples.
For example if I have a set with compatible left and right actions of monoids and , that's the same as a profunctor from the 1-object category to the 1-object category .
And then if I have a set with compatible left and right actions of and , I can "tensor" and and get a set with compatible left and right actions of and . And that's an example of composing profunctors.
(David was looking at an example where one of these actions was trivial so it looked like you had a set with just one monoid acting on it.)
For some reason I don't know a super-standard name for a set with compatible left and right actions of two monoids; it should be called something like a "biaction". But there's a super-standard name for the same thing in the Ab-enriched world, namely an abelian group with compatible left and right actions of two rings. Everyone calls this is a "bimodule".
So, sometimes the word "bimodule" gets extended to mean "enriched profunctor".
Yes, this is all exactly the kind of thing I'm interested in. I'm also keeping in mind the example (hopefully I'm not misremembering and it is actually an example!) of composition of relations. I think this is also a tensoring of profunctors.
I would like to build on all this intuition to understand the general definition of compositon/tensoring of profunctors. (And then I'm curious if we can understand how to build a tensor-hom adjunction from a given profunctor. But one step at a time!)
John Baez said:
For some reason I don't know a super-standard name for a set with compatible left and right actions of two monoids; it should be called something like a "biaction".
I feel like I may have seen this called a "G-H-biset", analogous to "G-set" for a set with a single action.
David Egolf said:
Yes, this is all exactly the kind of thing I'm interested in. I'm also keeping in mind the example (hopefully I'm not misremembering and it is actually an example!) of composition of relations. I think this is also a tensoring of profunctors.
A relation is an example of a Bool-enriched profunctor, since for each pair of elements in your two sets it's giving you a boolean. (A plain old profunctor gives you, for each pair of objects in your two categories, a set.)
Composing relations can then be seen as composing Bool-enriched profunctors.
One thing relations have that general profunctors don't is the converse, because sets are all groupoids. There's a notion of "ordered relation" of posets that doesn't have the converse!
Bool is like a "baby" or "decategorified" version of Set, so compared to ordinary Set-enriched things, Bool-enriched things tend to be simpler, and the word "enriched" is a bit misleading: I actually feel like saying "impoverished" in this particular case!
Thanks everyone! I'll stop here for today as I'm getting tired, but next time I think I'll start to move towards understanding the composition/tensoring of profunctors. This involves a "coend", so this may be a great chance for me to learn a bit about coends!
Indeed, coends and profunctors go hand in hand!
Each time you've been saying you want to learn about profunctors and hom-tensor adjunctions, I've been scratching my head thinking you should either be saying "I want to learn about profunctors and coends" or "I want to learn about hom-tensor adjunctions and closed categories".
John Baez said:
Each time you've been saying you want to learn about profunctors and hom-tensor adjunctions, I've been scratching my head thinking you should either be saying "I want to learn about profunctors and coends" or "I want to learn about hom-tensor adjunctions and closed categories".
At first I had thought I might really be wanting to learn about closed categories. However, in a closed category the "tensor against a fixed object" functor is an endofunctor. By contrast, tensoring against a bimodule/"biaction" takes in a thing of one kind and produces a thing of a different kind.
So - how to compose/tensor profunctors? A profunctor from to is a functor . I will sometimes view this as a morphism in a category from to , and sometimes view this as a functor from to .
If we have a profunctor and another , the book "Coend calculus" states that we can define their composite as follows:
...where the right side is apparently a "coend". So it will take some learning to unravel what exactly this definition means.
When reading that formula, I hope your heart sings out "matrix multiplication".
Oh! Thanks for pointing that out! It is indeed a lot like the matrix multiplication formula, although I hadn't noticed that yet.
The intuition I had so far was more from composing relations: a way in which and are related, together with a way in which and are related - that gives us a way in which and are related.
I found a set of slides from a talk you gave in 2007, which maybe visualizes the matrix multiplication intuition:
Yes, there I was showing how composing spans is a special case of matrix multiplication.
We can work with matrices valued in any [[rig]], since we just need to know how to add and multiply matrix entries in a way that obeys the usual laws. Composing relations is matrix multiplication where the matrices take values in the boolean rig .
Composing spans is a bit more sophisticated because the matrix entries are sets, which are objects in a kind of '2-rig'.
Composing profunctors is like that, but we also need to replace addition by a colimit, as hinted by that integral sign you wrote down.
So, it's good to think of all these things - relations, matrices, spans and profunctors - as different examples of the same idea. This will allow you to save a lot of work relearning things over and over. Even if you don't know the formal abstraction that captures all these examples, you can still mentally put them all on the same shelf in your mind. It's all "linear algebra", as far as I'm concerned.
I think it's very cool when so many ideas can be grouped together helpfully like that! One thing I like about that is this: if you recognize that two ideas are secretly in the same spirit, then intuition or concepts about one have hope to be transferred to intuition or concepts for another. This might not always work out, but probably can lead to surprising and fun questions like "Do we have a notion of an eigenvector for a relation?". This can also probably help one understand new concepts more quickly by analogy.
For the profunctor case, I'm wondering if this intuition will be helpful: is like a set of paths from to .
Exploring this idea a little bit - if we have a morphism in , then lets us create a path from to given a path from to , using . That seems intuitively reasonable.
Yes, that's a good point of view. As you may have seen (maybe in those slides of mine), Heisenberg thought of as the amplitude to get from to , which is a number. Feynman later computed these amplitudes as an integral over the set of all paths from to .
So Feynman was doing a kind of decategorification of the idea you are talking about now, where you are imagining as the set of paths from to . It's decategorification because he was taking a set (an object in a category) and turning it into a number (an element of a set).
(It wasn't just a bare set, of course: to integrate you need a set with a measure on it, and maybe also a function on it. But I'm trying to talk in a broad-brush way here.)
In short, yes: relations, matrices, spans and profunctors are all about how you can get from to , or whether you can get from to , or with what probability or amplitude can you get from to .
But you're focusing in on profunctors, and pointing out that if and are objects of categories, then we can combine any way to go from to with a morphism in and/or to get a way to go from to .
This extra twist doesn't show up for the simplest sort of relations, matrices or spans - it's characteristic of profunctors, simply because profunctors go between categories. It also shows why you want an 'op' in the definition of profunctor.
Just to spell that out a bit more: if we have a morphism in , then we intuitively want a way to convert paths to paths using . So we need an "op" to make this a functor.
So if I were to naively guess as to how to compose two profunctors and , my first guess would be as follows. To find all the paths from to , we first form the product for each . Each such set contains as elements the information needed to describe a path from to . Then I'd want to take the disjoint union of all these sets.
Right! Very good. But "disjoint union" is obviously a bit wrong when your category has a bunch of isomorphic objects, or even a bunch of "morphic" objects. So you gotta be a bit more sophisticated.
And this will lead you to invent coends....
Hmm I see! If and are isomorphic, then maybe we don't want to count paths from to that pass through either or as really different, for example. So some thought will be needed to properly come up with all the distinct paths.
And yes! I'm hoping that thinking in this direction will help the definition of coend make some intuitive sense. :sweat_smile:
You'll just automatically reinvent it by trying to straighten out this "redundancy" problem.
Even if and are just "morphic", i.e. there's a morphism , you don't want to count paths from to that pass through either or as completely different.
This is the redundancy problem.
Oh! That's surprising to me. I guess I don't fully understand which paths we want to count then.
Or maybe this speaks to some limitation of the "paths" intuition.
I'll think about this for a while. :slight_smile:
You just need to sharpen up your intuition. If you start with categories that are groupoids, you don't have to worry about certain nuances, and you can focus on trying to eliminate redundancies due to isomorphisms. But in a general category, you're not going to want to treat isomorphisms in a completely different way from other morphisms - that's too ugly, you never want to do a "case by case" definition in category theory. So you need a nice thing to do with morphisms that does what you want when they're isomorphisms.
I think I was able to visualize the situation:
path redundancy
There's a single "path" here, from to to to . However we can build it up in two ways:
To do this, we made use our ability to travel from to , which presumably corresponds to a morphism in from to . So we see that having even just "morphically" related objects can result in multiple ways to build up the same path.
(I say "path" but it's more like a "travel route". We're not keeping track of the "speed" at which are traversing from one object to another, and we aren't associating each part of an "interval" to parts of our traversal.)
Yes, this is a key idea left in the notion of coend! Maybe you’re ready to start thinking mathematically about what this picture means you ought to do with that disjoint union of products you’d mentioned earlier?
I would like to do that! There are some elements of that correspond to the same routes, as visualized in the image above. So, I am guessing there is a diagram involving the (as varies) such that taking the colimit give us all the distinct routes. I'm not quite sure how to dream up this diagram yet, though.
Drawing inspiration from the drawing above, I'm currently thinking of a route from to as involving three parts:
And the thing "between the categories" needs to be compatible with the morphisms in (1) and (3).
I suppose in the case of a route from to that passes through , the thing "between the categories" and includes a few pieces:
I don't know if trying to express the routes in the picture above using a decomposition like this will be helpful for figuring out an appropriate colimit.
Oh, I remembered the term "heteromorphism" - maybe that's relevant when thinking about things "between" objects in different categories.
Intuitively, maybe what I'm trying to understand relates to the idea that some "composition" of heteromorphisms should be associative.
Following the principle that it's good to draw everything you've got in a diagram, it might be useful to see what maps you have between sets of the form
given the fact that and are functors, and try to draw these maps in a diagram, and let that guide your thoughts a bit.
Thanks for the hint! I am planning to give your hint some thought.
I'm also realizing that we can write a route in two pieces, say . Here is a route that starts in and ends in , while is a route that starts in and ends in . Then we can consider the case where one of these two pieces is given by "extending" some smaller piece, so we have something like or . Then extending the first piece "at the end" should give the same route as extending the second piece "at the start".
So I think that and should give the same route. Keeping something like this in mind might be helpful as I search for a colimit diagram.
[If we use instead of , then we're wanting to view as the same as . And if I write to mean , we want to view as the same as . This starts to reminds me of the tensor product of modules!]
David Egolf said:
So I think that and should give the same route. Keeping something like this in mind might be helpful as I search for a colimit diagram.
Yes, this sounds like a crucial observation. You could have gotten it by following my suggestion to just draw all the maps between sets of the form
But you got it in a more thoughtful way. My approach is nice for when you're feeling clueless: you just draw all the maps and see when two might be equal and what it would mean for them to be equal.
I think I can encode part of what I want in a pushout diagram. If we have an "almost" route that is just missing a middle piece, here are two ways to fill in that missing piece: we can extend the first part of the incomplete route, or we can extend the second part. If we use the same "route segment" to do this, these two approaches should intuitively yield the same route.
(Here, I think of as in the spirit of "precomposing a route with ".)
So if we have a route from to and a route from to , we can make a route from to given a morphism in two ways:
I think the pushout will end up being the disjoint union of and , except that we identify two routes if they can both be formed from the same incomplete route in using .
However, this is not yet what I want! There may be additional elements that I would like to identify between and . In particular, if there is another morphism from to , then I will want to identify additional elements.
Beyond this, I also want to do a similar "gluing"/quotienting process as and vary. So there is a lot of "quotienting" that I want to somehow organize tidily!
I guess I'm hoping to get a nice clean colimit diagram that gives in terms of and as varies. But maybe that's hoping for too much?
I may take a look at some references and see how they organize this information. In particular, this might be a good time to look at the definition of a coend - hopefully it relates to the intuition developed in this thread!
It would be fantastic if the notion of "coend" cleanly organizes all the quotienting I want to do in the context of composition of profunctors.
You almost stated the definition of coend just now! The diagram you drew is the key part in the definition of coend, or at least one popular definition. What you wrote will look more like the usual coend if you abstract from the situation at hand, and write
hiding the role of and , which are fixed in the process you are focused on, and highlighting the role of and . Note that is covariant in and contravariant in - or maybe the other way around if I'm confused, but the main point is that they have opposite variances.
So a coend is a thing you can construct whenever you have a thing like this , and you've pretty much explained how to construct it.
Thanks for explaining that! I think this is making sense to me.
In this context, let me now write out the definition of a coend (from "Coend Calculus"). I anticipate this will be interesting to compare with the discussion above.
Referencing Definition 1.1.6 in Coend Calculus, I think a coend for a functor is an "initial cowedge" for .
A "cowedge" for is a dinatural transformation , where is a functor constant at some .
By the way, I'm right now at a retreat for math grad students at a country house in Scotland, and they loved the 'plane trips and taxi rides' story about composing profunctors, and used it to come up with the definition of coend (with a little nudging from me), and then polished it up into a colimit over a twisted arrow category, and also came up with another approach using the [[collage]] of a profunctor.
Nice! I've noted the phrase "twisted arrow category" as well as "collage" for possible future exploration. :slight_smile:
I notice that "extranatural transformations" can also be used to define profunctors, instead of "dinatural transformations". But, for the purpose of starting somewhere, I'll stick with dinatural transformations for the moment.
So for the definition above to be useful, we need to know what a dinatural transformation is.
Even those are a bit too fancy for me to have incorporated them into my ways of defining coends, but that's probably just my own fault. I just know how to construct coends, not describe their universal property as an 'initial cowedge'.
I see! Well, I'm curious to try and understand this definition from "Coend calculus". If it ends up being a bit too fancy for me to intuitively understand at this point, then that's fine as well. But I'll give it a try!
So, here is the notion of "dinatural transformation".
Let be functors. A dinatural transformation is first of all a family of morphisms (in ) indexed by the objects of . We also require that for any in the following diagram to commute:
diagram
I wonder if we can understand this intuitively in the spirit of the discussion above. Maybe we can think of as in the spirit of a set of "routes" that travel to , are interrupted, and then pick up again at (with some fixed but unstated overall starting and ending points).
If we can understand in a similar way (as providing potentially "partial" routes), then perhaps we can try to understand a dinatural transformation as describing a way to relate the partial routes of to the partial routes of .
I guess my current question that I'd like to explore is this: How can we intuitively (possibly through examples) understand the notion of "dinatural transformation"?
Actually, I think I specifically want to focus on the case where is a constant functor. (This relates closely to cowedges!) Next time, I may start by redrawing the diagram above for that case.
Here's what part of a cowedge under looks like (so is a constant functor):
cowedge
This looks very much like the pushout diagram I drew above! However, in this case, we don't require the square to be a pushout diagram.
I was thinking that the constant (set) output of needs to be a pushout for all such squares simultaneously. But that doesn't make sense: each such square only requires us to identify certain routes. So if we identify too many, we won't get a pushout square.
Instead, our set (which is the same for all ) needs to just make each square commute and then be initial with respect to that property. Each individual square requires that we "glue together" certain routes, and making each such square commute means that all of the desired routes are glued together.
If we think of as specifying "partial routes" with a fixed start point and end point, then I suspect an initial cowedge under gives us exactly the unique "completed" routes from that starting point to that end point. Requiring the cowedge to be initial I think means that we avoid identifying too many routes, and avoid introducing new unwanted elements.
If this is on the right track, I think I can then begin to see how using a coend makes sense for composition of profunctors!
[Perhaps one thing I can take away from this: If one has many diagrams one wants to make commute, sometimes this situation can be organized by using something in the spirit of a natural transformation.]
I feel pretty happy with the above! Next, I think I would like to work out a special case of profunctor composition.
Specifically, I would like to work out the composition of a profunctor with a profunctor . And to start with, I'll consider the case where and both have a single object.
(By I mean a terminal category, having a single object and a single morphism.)
A profunctor is a functor . When has a single object, I think this amounts to a right action of a monoid. A profunctor is a functor . When and have a single object, I think such a profunctor amounts to a set together with a left action of some monoid on it, compatible with the right action of some monoid on it. Upon composing these profunctors, we'll get a profunctor , which is a right action of the monoid on some set.
But how exactly does this work? I'd like to use the discussion above regarding profunctor composition to work this out in some detail.
So let us imagine we have profunctors and , where and are monoids (thought of as categories with a single object). Then . This corresponds to a functor . If we call the single object of by the name , and the single object of by the name , then there is a set . What is this set?
I expect to be something like a set of "tensors". Let's see what we get!
Here's a picture to visualize the situation: [EDIT: I ended up creating a second version of this picture and accompanying discussion below, which I think improves on this one]
forming "routes"
We can start with a partial route, which consists of: the identity morphism in , together with some morphism in . This is missing just some to complete the route.
We get two complete routes that we want to consider the same:
We might write these two routes as follows: and .
I'm getting tired, so I'll stop here for today. Next time, to avoid getting confused, I'm hoping to draw the diagram that describes what a cowedge is in this setting.
One thing you almost but didn't quite do in your previous round of exploring profunctor composition, is to explicitly describe the set , or more generally the sets for any composite of profunctors (they work exactly like the example you're doing now). So I'm eager to see the explicit description you get out of this cowedge stuff.
Before stopping for today, I want to adjust the discussion I provided above relating to this picture:
I've labelled the black lines this time, which I'm now thinking as being elements of the profunctors involved. So is a "route" from to , and is an element of . Similarly, is an element of .
I've also removed from the drawing, as I don't think we need it right now.
Then we have two things we can do with : (1) we can use to act on using to create a new route or (2) we can use to act on to create a new route .
We might intuitively write this as . Or perhaps .
Next time, I'll try to describe this using a diagram involving cowedges! And hopefully that is then helpful for explicitly describing .
is there an underlying mathematical or philosophical reason why work on profunctors seems to be dominated by considering them as A*B^op->Set rather than A->Set^B^op?
David wrote:
We might intuitively write this as . Or perhaps .
Okay, now you've come EXTREMELY close to explicitly describing . Let me finish the job, because I can't stand the torture any more. :wink:
Here's the explicit description:
First you're taking the coproduct over all objects of the product of homsets
Then you're taking a quotient of this by the equivalence relation generated by .
So, you're first doing a coproduct and then a coequalizer! Since both these are colimits, you're doing a colimit.
There are more elegant ways to write this colimit, but this is perfectly serviceable.
More generally, any coend is a colimit rather similar to this one.
I feel I'm not saying anything you don't know. I'm just making your thoughts more explicit by writing them out as a formula for the composite profunctor .