Want to take part in these discussions? Sign in if you have an account, or apply for one below
Vanilla 1.1.10 is a product of Lussumo. More Information: Documentation, Community Support.
How would people feel about renaming distributor to profunctor? I seem to recall that when this came up on the Cafe, I was the main proponent of the former over the latter, and I've since changed my mind.
sure, fine with me
I rather prefer profunctor to distributor, and I have a slight preference for bimodule over profunctor.
I'm moderately in favour of the proposed move.
I made the change moving distributor to profunctor. If you want, Todd, we could discuss whether to use bimodule instead, but I think that term is too confusing for most mathematicians, and/or not specific enough.
I think I know a little bit about bimodules (not much) and I know I don't know anything about profunctors (I even struggle with functors). I remember when Urs had his first Eureka moment about bimodules. I wish I could reproduce that feeling. Is there a way to understand it for someone who thinks of bimodules as "kind of like vectors"? In what way is a profunctor "kind of like a vector space"?
When I look at profunctor, it is completely intimidating and I do not understand a word.
Eric,
the basic kind of module that you are familiar with is a vector space: an additive group (vectors and their addition) on which you can act with a number field, say with the real numbers.
A bimodule is like a vector space, only that there are two possibly different actions of the real numbers on it. A way to multiply a vector by a number from the left -- or from the right.
Every vector space is hence also a bimodule over the ground field, where we take the left and the right multiplication by a number on a vector to be the same.
You know the tensor product of vector spaces. That's "tensoring over the field" that acts on them. If we think of vector spaces as bimodules over te ground field (multiplication by real numbers on vectors from left and right) then the tensor product of with is to be thought of cancelling the right action on V with the left action on W, leaving with the left action on V remaining and the right action on W.
In this way tensoring with W gives an assignment .
This perspective generalizes. There is a way to replace in the above picture vector spaces regarded as one-sided modules with presheaves (one-sided modules) and vector spaces regarded as bimodules with profunctors (= 2-sided modules).
.. and don't forget my favorite example of bimodules, i.e. discrete differential forms :)
The key is the last paragraph of course. I'll have to try to understand that. Thanks!
Profunctoris far more suggestive than distributor for outsiders, which does not even remind of functor...
The term ‘bimodule’ is so general, encompassing the case that Urs describes in #7 above as well, that I would want to keep bimodule what it is, and make profunctor (or distributor, but we've already discussed that) the page that focusses on the case at hand.
Okay, that's fine. Profunctor it is, then, for this case.
I did some reorganizing of profunctor, and also added the two ways to describe them as fibrations or cofibrations.
@Toby #10, bimodule is currently actually about profunctors. I would prefer that bimodule be more general, as you seem to be suggesting, since for many/most mathematicians it is used restricted to the one-object case; with anything there that is specifically about profunctors moved to profunctor. In any case, bimodule should not duplicate profunctor, so if we decide that bimodule should be mostly about profunctors, then I think it should instead just redirect to profunctor.
Given recent remarks on the cat list, perhaps a separate entry on distributors with references to Benabou's work would be a good thing to include, of course, with a clear link to the profunctor page.
In general, I disagree with the idea of having multiple pages about the same thing, regardless of how many names that thing might have. I think it's better to pick a particular name, explain up-front that there are others in use, and use redirects. Of course, adding any additional references to Benabou's work on the profunctor page would be a great idea.
I know that I’m rather late to the party, but the name “profunctor” seems to conflict with the choice of convention that Prof(C,D) to be a functor D^op x C -> Set.
I understand that the motivation for the convention is based on the idea of generalizing the codomain of a functor to be the colimit-completion: i.e. a functor C -> PSh(D). But from the prefix “pro” I would have expected instead generalizing to the limit-completion, and thus to the alternate convention C^op x D -> Set. The given convention might be better named “indfunctor”.
Is the given choices just that profunctor is everyone’s favorite name and the colimit completion is everyone’s favorite concept, and so the two are paired? Or is there some other motivation that I’m missing?
The naming conflict with the ’pro-’ as in ’profinite’ is well-known. ’Profunctor’ is not “everyone’s favorite name”, but the problem is that the name is ancient and entrenched, and we have no plans to change it. (I’m pretty sure we discussed this in another thread.) I don’t know of any case where the conflict led to real confusion.
None of the existing terms for these objects — profunctor, distributor, (bi)module — is ideal. If we could (1) find a term that is completely unproblematic and (2) instantly convince all mathematicians to start using it, and retroactively edit all mathematical papers from the past to use it as well, then I think that would be a good thing. But in practice, even if we could do (1) (note that “ind-functor” is not perfect either, as it has the problem of suggesting a cocompletion under directed colimits only), what would actually happen is that instead of 3 competing terms there would be 4 competing terms, and even more confusion would be produced. As Jaap van Oosten said, “the only thing worse than bad terminology is continually changing terminology”. If a particular terminology is really bad, and nearly everyone agrees that it is bad and can be convinced to switch to the same alternative, then it is sometimes worth trying to change an established term (e.g. triple $\mapsto$ monad); but that case is extremely rare. As Todd says, this particular conflict rarely if ever leads to any actual confusion.
[Administrative note: I have merged an old thread, comments #1-#17, into this one. There is also this old thread, but I’ll not merge that one, since it covers both anafunctors and profunctors, and could fit into either latest changes thread.]
I don’t quite understand what the paragraph is saying, but it doesn’t look right to me. Firstly, the profunctors having right adjoints are actually the ones that appear in the Cauchy completion; if the codomain is not Cauchy complete then they may not all be representable. Secondly, not all profunctors are Mealy morphisms either; I forget exactly what the characterization is in profunctorial terms but it’s not all of them (otherwise the term “Mealy morphism” wouldn’t have been introduced).
(In case it is not clear, Mike in #21 is replying to #18). In case it helps, Mike’s first point more directly is I think that it is not necessarily true in the non-Cauchy complete case that profunctors corresponding to functors are exactly those with a right adjoint. It would be nice with an explicit counterexample!
MIke’s second point is I think that the correct statement is that Mealy morphisms determine profunctors, and that a profunctor can be obtained in this way if and only if it is ’discrete valued’. It comes from a functor if and only if it is total and discrete valued. See these slides of Paré. Thus we have ’inclusions’
Functors -> Mealy morphisms -> Profunctors
where the difference between Functors and Mealy morphisms is totality, and the difference between Mealy morphisms and Profunctors is discrete valuedness. In the Cauchy complete case, totality and discrete valuedness must be equivalent to having a right adjoint.
It would be great to improve the nLab entries on this, and in particular as I say with explicit counterexamples to show that the inclusions are strict, etc. I am no expert, but hopefully somebody else can do it. Great that you have begun on this, Tim!
Moving this old discussion from out of the entry to here:
begin forwarded discussion
+–{.query} Todd: There is an inevitable debate here about whether one should use $C^{op} \otimes D \to V$ or $C \otimes D^{op} \to V$. My own convention is to use the latter. For example, every functor $C \to D$ yields a profunctor by composition with the Yoneda embedding on $D$.
Mike: My convention is $D^{op}\otimes C$. I agree with your reasoning for why $D$ should be contravariant; I like to put it first because in the hom-functor $C(-,-)$ the contravariant variable appears first.
Sridhar Ramesh: But surely, just as well, a functor from $C$ to $D$ yields a contravariant functor from $C$ to $Set^D$ and thus a profunctor $C^{op} \otimes D \to V$, by composition with the contravariant Yoneda embedding of $D$ into $Set^D$? At the moment, I still do not see why there is reason to prefer in the abstract general one to the other of $(c, d) \mapsto Hom_D(F(c), d)$ and $(d, c) \mapsto Hom_D(d, F(c))$, though it’s not an issue I’ve thought very much about or have strong emotions regarding. Are there further reasons beyond the above?
Mike Shulman: Well, the covariant Yoneda embedding is arguably more natural and important than the contravariant one. If a profunctor $C$⇸$D$ is a functor $C\to Set^{D^{op}}$, then we can think of it as assigning to every $c\in C$ a presheaf on $D$, which may or may not be representable. The profunctor “is” a functor just when all its values are representable presheaves. Of course, if instead a profunctor $C$⇸ $D$ were a functor $C^{op}\to Set^D$, i.e. $C\to (Set^D)^{op}$, then we could think of it as assigning to each $c\in C$ a functor $D\to Set$, which might or might not be (co)representable. However, for a bunch of reasons it’s often more natural to think of an object of $D$ as determined by the maps into it, rather than the maps out of it—in other words by its generalized elements, or in yet other words by the presheaf it represents. Although of course formally, there is a complete duality. =–
end forwarded discussion
1 to 25 of 25