Let be a symmetric closed monoidal category and , , enriched categories over . Then a profunctor from to is a -functor from to , we write
A profunctor is also sometimes called a (bi)module or a distributor or a correspondence, though the latter word is also used for a span.
Such profunctors are composed by using a coend to “trace out” the middle variable:
for and profunctors, their composite is defined to be
This yields a bicategory with
objects are -enriched categories;
morphisms are profunctors with the above composition;
2-morphisms are natural transformations.
At least for a morphism in is often called a profunctor and the bicategory is then often denoted . See the Catlab for the theory of set valued distributors.
A basic fact (e.g. Kashiwara, Schapira, Categories and Sheaves, corollary 2.7.4, page 63) is that for a cocomplete category, colimit-preserving functors from presheaves on some category to are canonically equivalent to functors from to : we have an equivalence of functor categories
This may be thought of as a consequence of the co-Yoneda lemma (and hence, of course, of the Yoneda lemma) which says that every presheaf is colimit over representables, i.e. over objects in the image of the Yoneda embedding . This immediate implies that a colimit-preserving functor on is already determined by its restriction along to .
Now, profunctors are adjunct to functors . Hence by the above, profunctors are equivalent to colimit-preserving functors
Indeed, there is an equivalence of bicategories and that of categories and colimit-preserving functors and natural transformation between their presheaf categories.
An explicit statement of this can be found for instance as prop. 4.2.4
This formulation plays a big role also in the context of (∞,1)-categories. A presentable (∞,1)-category is one equivalent to a localization of some (∞,1)-category of (∞,1)-presheaves (i.e. some reflective (∞,1)-subcategory of the latter). The collection of all presentable (∞,1)-categories and colimit-preserving (∞,1)-functors betweem them forms the symmetric monoidal (∞,1)-category of presentable (∞,1)-categories, whose tensor product is the “bilinear” tensor product coming from interpreting colimit-preserving functors as “linear” (reading: colimit sum).
This -category therefore is an -analog of . In geometric ∞-function theory one finds (see section 4 there) that morphisms in encode the “correspondence operations” such as Fourier-Mukai and its generalizations. See in that context also the examples below.
Recall that a one-object Vect-enriched category is just an algebra, while a general Vect-enriched category is an algebroid. The full sub-bicategory of on one-object -enriched categories is the familiar category of algebras, bimodules and bimodule homomorphisms.
For , is the bicategory of locally small categories, profunctors and transformations.
The full sub-bicategory on discrete categories is that of sets, spans of sets and morphisms of spans:
Accordingly for we get the bicategory of cospans
Every ordinary -functor yields a profunctor which is the adjunct of the postcomposition
with the Yoneda embedding under the Hom-adjunction. This extends to a bifunctor
For this is the generalization of how every morphism of algebras induces the - bimodule which as a vector space is with obvious right action and left -action induced by first mapping to via and then using multiplication in .
For this is the fact that every map of sets induces the span
(what is a good comprehensive reference?)
Some exposition at
The common generalization of bimodules and spans in terms of profunctors has been discussed on the blog at
There is a discussion of profunctors in the recently republished:
Excellent notes from a course on distributors given by Jean Bénabou in June 2000 at TU Darmstadt, and prepared by Thomas Streicher, are available from his website http://www.mathematik.tu-darmstadt.de/~streicher.
Profunctors are often notated with a slashed or barred arrow, as in , which is U+21F8 in Unicode. It is not always obvious how to draw this character, so here are some hints.
On the nLab (or anywhere that accepts SGML character entities, including raw HTML on the web), it can be found using a Unicode entity:
⇸
In LaTeX, one can use \nrightarrow (producing ‘’) in a pinch, but a nice-looking extensible barred arrow command can also be produced with the following preamble code (modified from amsmath’s \xrightarrow):
\makeatletter
\def\slashedarrowfill@#1#2#3#4#5{%
$\m@th\thickmuskip0mu\medmuskip\thickmuskip\thinmuskip\thickmuskip
\relax#5#1\mkern-7mu%
\cleaders\hbox{$#5\mkern-2mu#2\mkern-2mu$}\hfill
\mathclap{#3}\mathclap{#2}%
\cleaders\hbox{$#5\mkern-2mu#2\mkern-2mu$}\hfill
\mkern-7mu#4$%
}
\def\rightslashedarrowfill@{%
\slashedarrowfill@\relbar\relbar\mapstochar\rightarrow}
\newcommand\xslashedrightarrow[2][]{%
\ext@arrow 0055{\rightslashedarrowfill@}{#1}{#2}}
\makeatother
In Xypic, a barred arrow (to the right, in this example) can be produced with
\ar[r]|-@{|}
On a previous version of this entry with opposite convention on where to put the Todd has remarked
Todd: There is an inevitable debate here about whether one should use or . My own convention is to use the latter. For example, every functor yields a profunctor by composition with the Yoneda embedding on .
Mike: My convention is . I agree with your reasoning for why should be contravariant; I like to put it first because in the hom-functor the contravariant variable appears first.
Sridhar Ramesh: But surely, just as well, a functor from to yields a contravariant functor from to and thus a profunctor , by composition with the contravariant Yoneda embedding of into ? At the moment, I still do not see why there is reason to prefer in the abstract general one to the other of and , 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 is a functor , then we can think of it as assigning to every a presheaf on , 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 were a functor , i.e. , then we could think of it as assigning to each a functor , 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 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. Athough of course formally, there is a complete duality.