\documentclass[12pt,titlepage]{article} \usepackage{amsmath} \usepackage{mathrsfs} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsthm} \usepackage{mathtools} \usepackage{graphicx} \usepackage{color} \usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage{xparse} \usepackage{hyperref} %----Macros---------- % % Unresolved issues: % % \righttoleftarrow % \lefttorightarrow % % \color{} with HTML colorspec % \bgcolor % \array with options (without options, it's equivalent to the matrix environment) % Of the standard HTML named colors, white, black, red, green, blue and yellow % are predefined in the color package. Here are the rest. \definecolor{aqua}{rgb}{0, 1.0, 1.0} \definecolor{fuschia}{rgb}{1.0, 0, 1.0} \definecolor{gray}{rgb}{0.502, 0.502, 0.502} \definecolor{lime}{rgb}{0, 1.0, 0} \definecolor{maroon}{rgb}{0.502, 0, 0} \definecolor{navy}{rgb}{0, 0, 0.502} \definecolor{olive}{rgb}{0.502, 0.502, 0} \definecolor{purple}{rgb}{0.502, 0, 0.502} \definecolor{silver}{rgb}{0.753, 0.753, 0.753} \definecolor{teal}{rgb}{0, 0.502, 0.502} % Because of conflicts, \space and \mathop are converted to % \itexspace and \operatorname during preprocessing. % itex: \space{ht}{dp}{wd} % % Height and baseline depth measurements are in units of tenths of an ex while % the width is measured in tenths of an em. \makeatletter \newdimen\itex@wd% \newdimen\itex@dp% \newdimen\itex@thd% \def\itexspace#1#2#3{\itex@wd=#3em% \itex@wd=0.1\itex@wd% \itex@dp=#2ex% \itex@dp=0.1\itex@dp% \itex@thd=#1ex% \itex@thd=0.1\itex@thd% \advance\itex@thd\the\itex@dp% \makebox[\the\itex@wd]{\rule[-\the\itex@dp]{0cm}{\the\itex@thd}}} \makeatother % \tensor and \multiscript \makeatletter \newif\if@sup \newtoks\@sups \def\append@sup#1{\edef\act{\noexpand\@sups={\the\@sups #1}}\act}% \def\reset@sup{\@supfalse\@sups={}}% \def\mk@scripts#1#2{\if #2/ \if@sup ^{\the\@sups}\fi \else% \ifx #1_ \if@sup ^{\the\@sups}\reset@sup \fi {}_{#2}% \else \append@sup#2 \@suptrue \fi% \expandafter\mk@scripts\fi} \def\tensor#1#2{\reset@sup#1\mk@scripts#2_/} \def\multiscripts#1#2#3{\reset@sup{}\mk@scripts#1_/#2% \reset@sup\mk@scripts#3_/} \makeatother % \slash \makeatletter \newbox\slashbox \setbox\slashbox=\hbox{$/$} \def\itex@pslash#1{\setbox\@tempboxa=\hbox{$#1$} \@tempdima=0.5\wd\slashbox \advance\@tempdima 0.5\wd\@tempboxa \copy\slashbox \kern-\@tempdima \box\@tempboxa} \def\slash{\protect\itex@pslash} \makeatother % math-mode versions of \rlap, etc % from Alexander Perlis, "A complement to \smash, \llap, and lap" % http://math.arizona.edu/~aprl/publications/mathclap/ \def\clap#1{\hbox to 0pt{\hss#1\hss}} \def\mathllap{\mathpalette\mathllapinternal} \def\mathrlap{\mathpalette\mathrlapinternal} \def\mathclap{\mathpalette\mathclapinternal} \def\mathllapinternal#1#2{\llap{$\mathsurround=0pt#1{#2}$}} \def\mathrlapinternal#1#2{\rlap{$\mathsurround=0pt#1{#2}$}} \def\mathclapinternal#1#2{\clap{$\mathsurround=0pt#1{#2}$}} % Renames \sqrt as \oldsqrt and redefine root to result in \sqrt[#1]{#2} \let\oldroot\root \def\root#1#2{\oldroot #1 \of{#2}} \renewcommand{\sqrt}[2][]{\oldroot #1 \of{#2}} % Manually declare the txfonts symbolsC font \DeclareSymbolFont{symbolsC}{U}{txsyc}{m}{n} \SetSymbolFont{symbolsC}{bold}{U}{txsyc}{bx}{n} \DeclareFontSubstitution{U}{txsyc}{m}{n} % Manually declare the stmaryrd font \DeclareSymbolFont{stmry}{U}{stmry}{m}{n} \SetSymbolFont{stmry}{bold}{U}{stmry}{b}{n} % Manually declare the MnSymbolE font \DeclareFontFamily{OMX}{MnSymbolE}{} \DeclareSymbolFont{mnomx}{OMX}{MnSymbolE}{m}{n} \SetSymbolFont{mnomx}{bold}{OMX}{MnSymbolE}{b}{n} \DeclareFontShape{OMX}{MnSymbolE}{m}{n}{ <-6> MnSymbolE5 <6-7> MnSymbolE6 <7-8> MnSymbolE7 <8-9> MnSymbolE8 <9-10> MnSymbolE9 <10-12> MnSymbolE10 <12-> MnSymbolE12}{} % Declare specific arrows from txfonts without loading the full package \makeatletter \def\re@DeclareMathSymbol#1#2#3#4{% \let#1=\undefined \DeclareMathSymbol{#1}{#2}{#3}{#4}} \re@DeclareMathSymbol{\neArrow}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\neArr}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\seArrow}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\seArr}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\nwArrow}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\nwArr}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\swArrow}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\swArr}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\nequiv}{\mathrel}{symbolsC}{46} \re@DeclareMathSymbol{\Perp}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\Vbar}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\sslash}{\mathrel}{stmry}{12} \re@DeclareMathSymbol{\bigsqcap}{\mathop}{stmry}{"64} \re@DeclareMathSymbol{\biginterleave}{\mathop}{stmry}{"6} \re@DeclareMathSymbol{\invamp}{\mathrel}{symbolsC}{77} \re@DeclareMathSymbol{\parr}{\mathrel}{symbolsC}{77} \makeatother % \llangle, \rrangle, \lmoustache and \rmoustache from MnSymbolE \makeatletter \def\Decl@Mn@Delim#1#2#3#4{% \if\relax\noexpand#1% \let#1\undefined \fi \DeclareMathDelimiter{#1}{#2}{#3}{#4}{#3}{#4}} \def\Decl@Mn@Open#1#2#3{\Decl@Mn@Delim{#1}{\mathopen}{#2}{#3}} \def\Decl@Mn@Close#1#2#3{\Decl@Mn@Delim{#1}{\mathclose}{#2}{#3}} \Decl@Mn@Open{\llangle}{mnomx}{'164} \Decl@Mn@Close{\rrangle}{mnomx}{'171} \Decl@Mn@Open{\lmoustache}{mnomx}{'245} \Decl@Mn@Close{\rmoustache}{mnomx}{'244} \makeatother % Widecheck \makeatletter \DeclareRobustCommand\widecheck[1]{{\mathpalette\@widecheck{#1}}} \def\@widecheck#1#2{% \setbox\z@\hbox{\m@th$#1#2$}% \setbox\tw@\hbox{\m@th$#1% \widehat{% \vrule\@width\z@\@height\ht\z@ \vrule\@height\z@\@width\wd\z@}$}% \dp\tw@-\ht\z@ \@tempdima\ht\z@ \advance\@tempdima2\ht\tw@ \divide\@tempdima\thr@@ \setbox\tw@\hbox{% \raise\@tempdima\hbox{\scalebox{1}[-1]{\lower\@tempdima\box \tw@}}}% {\ooalign{\box\tw@ \cr \box\z@}}} \makeatother % \mathraisebox{voffset}[height][depth]{something} \makeatletter \NewDocumentCommand\mathraisebox{moom}{% \IfNoValueTF{#2}{\def\@temp##1##2{\raisebox{#1}{$\m@th##1##2$}}}{% \IfNoValueTF{#3}{\def\@temp##1##2{\raisebox{#1}[#2]{$\m@th##1##2$}}% }{\def\@temp##1##2{\raisebox{#1}[#2][#3]{$\m@th##1##2$}}}}% \mathpalette\@temp{#4}} \makeatletter % udots (taken from yhmath) \makeatletter \def\udots{\mathinner{\mkern2mu\raise\p@\hbox{.} \mkern2mu\raise4\p@\hbox{.}\mkern1mu \raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern1mu}} \makeatother %% Fix array \newcommand{\itexarray}[1]{\begin{matrix}#1\end{matrix}} %% \itexnum is a noop \newcommand{\itexnum}[1]{#1} %% Renaming existing commands \newcommand{\underoverset}[3]{\underset{#1}{\overset{#2}{#3}}} \newcommand{\widevec}{\overrightarrow} \newcommand{\darr}{\downarrow} \newcommand{\nearr}{\nearrow} \newcommand{\nwarr}{\nwarrow} \newcommand{\searr}{\searrow} \newcommand{\swarr}{\swarrow} \newcommand{\curvearrowbotright}{\curvearrowright} \newcommand{\uparr}{\uparrow} \newcommand{\downuparrow}{\updownarrow} \newcommand{\duparr}{\updownarrow} \newcommand{\updarr}{\updownarrow} \newcommand{\gt}{>} \newcommand{\lt}{<} \newcommand{\map}{\mapsto} \newcommand{\embedsin}{\hookrightarrow} \newcommand{\Alpha}{A} \newcommand{\Beta}{B} \newcommand{\Zeta}{Z} \newcommand{\Eta}{H} \newcommand{\Iota}{I} \newcommand{\Kappa}{K} \newcommand{\Mu}{M} \newcommand{\Nu}{N} \newcommand{\Rho}{P} \newcommand{\Tau}{T} \newcommand{\Upsi}{\Upsilon} \newcommand{\omicron}{o} \newcommand{\lang}{\langle} \newcommand{\rang}{\rangle} \newcommand{\Union}{\bigcup} \newcommand{\Intersection}{\bigcap} \newcommand{\Oplus}{\bigoplus} \newcommand{\Otimes}{\bigotimes} \newcommand{\Wedge}{\bigwedge} \newcommand{\Vee}{\bigvee} \newcommand{\coproduct}{\coprod} \newcommand{\product}{\prod} \newcommand{\closure}{\overline} \newcommand{\integral}{\int} \newcommand{\doubleintegral}{\iint} \newcommand{\tripleintegral}{\iiint} \newcommand{\quadrupleintegral}{\iiiint} \newcommand{\conint}{\oint} \newcommand{\contourintegral}{\oint} \newcommand{\infinity}{\infty} \newcommand{\bottom}{\bot} \newcommand{\minusb}{\boxminus} \newcommand{\plusb}{\boxplus} \newcommand{\timesb}{\boxtimes} \newcommand{\intersection}{\cap} \newcommand{\union}{\cup} \newcommand{\Del}{\nabla} \newcommand{\odash}{\circleddash} \newcommand{\negspace}{\!} \newcommand{\widebar}{\overline} \newcommand{\textsize}{\normalsize} \renewcommand{\scriptsize}{\scriptstyle} \newcommand{\scriptscriptsize}{\scriptscriptstyle} \newcommand{\mathfr}{\mathfrak} \newcommand{\statusline}[2]{#2} \newcommand{\tooltip}[2]{#2} \newcommand{\toggle}[2]{#2} % Theorem Environments \theoremstyle{plain} \newtheorem{theorem}{Theorem} \newtheorem{lemma}{Lemma} \newtheorem{prop}{Proposition} \newtheorem{cor}{Corollary} \newtheorem*{utheorem}{Theorem} \newtheorem*{ulemma}{Lemma} \newtheorem*{uprop}{Proposition} \newtheorem*{ucor}{Corollary} \theoremstyle{definition} \newtheorem{defn}{Definition} \newtheorem{example}{Example} \newtheorem*{udefn}{Definition} \newtheorem*{uexample}{Example} \theoremstyle{remark} \newtheorem{remark}{Remark} \newtheorem{note}{Note} \newtheorem*{uremark}{Remark} \newtheorem*{unote}{Note} %------------------------------------------------------------------- \begin{document} %------------------------------------------------------------------- \section*{profunctor} \hypertarget{context}{}\subsubsection*{{Context}}\label{context} \hypertarget{category_theory}{}\paragraph*{{Category theory}}\label{category_theory} [[!include category theory - contents]] \hypertarget{enriched_category_theory}{}\paragraph*{{Enriched category theory}}\label{enriched_category_theory} [[!include enriched category theory contents]] \hypertarget{contents}{}\section*{{Contents}}\label{contents} \noindent\hyperlink{idea}{Idea}\dotfill \pageref*{idea} \linebreak \noindent\hyperlink{definition}{Definition}\dotfill \pageref*{definition} \linebreak \noindent\hyperlink{the_bicategory_of_profunctors}{The bicategory of profunctors}\dotfill \pageref*{the_bicategory_of_profunctors} \linebreak \noindent\hyperlink{alternative_definitions}{Alternative definitions}\dotfill \pageref*{alternative_definitions} \linebreak \noindent\hyperlink{FuncsOnPresheaves}{In terms of colimit-preserving functors on presheaf categories}\dotfill \pageref*{FuncsOnPresheaves} \linebreak \noindent\hyperlink{in_terms_of_twosided_discrete_fibrations}{In terms of two-sided discrete fibrations}\dotfill \pageref*{in_terms_of_twosided_discrete_fibrations} \linebreak \noindent\hyperlink{in_terms_of_twosided_codiscrete_cofibrations}{In terms of two-sided codiscrete cofibrations}\dotfill \pageref*{in_terms_of_twosided_codiscrete_cofibrations} \linebreak \noindent\hyperlink{comparing_fibrations_and_cofibrations}{Comparing fibrations and cofibrations}\dotfill \pageref*{comparing_fibrations_and_cofibrations} \linebreak \noindent\hyperlink{examples}{Examples}\dotfill \pageref*{examples} \linebreak \noindent\hyperlink{Properties}{Properties}\dotfill \pageref*{Properties} \linebreak \noindent\hyperlink{related_entries}{Related entries}\dotfill \pageref*{related_entries} \linebreak \noindent\hyperlink{references}{References}\dotfill \pageref*{references} \linebreak \noindent\hyperlink{original_sources}{Original sources}\dotfill \pageref*{original_sources} \linebreak \noindent\hyperlink{more_recent_accounts}{More recent accounts}\dotfill \pageref*{more_recent_accounts} \linebreak \noindent\hyperlink{expositions}{Expositions}\dotfill \pageref*{expositions} \linebreak \noindent\hyperlink{notation}{Notation}\dotfill \pageref*{notation} \linebreak \noindent\hyperlink{discussion}{Discussion}\dotfill \pageref*{discussion} \linebreak \hypertarget{idea}{}\subsection*{{Idea}}\label{idea} The concept of \emph{profunctor} is a generalization of the concept of [[functor]] in much the same way that the concept of [[bimodule]] generalizes that of [[associative algebra|algebra]] [[homomorphism]] (in fact, this may be understood as a special case of enriched profunctors). \hypertarget{definition}{}\subsection*{{Definition}}\label{definition} If $C$ and $D$ are [[categories]], then a \textbf{profunctor} from $C$ to $D$ is a [[functor]] of the form \begin{displaymath} H_F \colon D^{op}\times C \to Set \,. \end{displaymath} Such a profunctor is usually written as $F\colon C$$D$. For $d \in D$ and $c \in C$ the set $H_F(d,c)$ is also called the set of [[heteromorphisms]] from $d$ to $c$. Every [[functor]] $f\colon C\to D$ induces two profunctors $D(1,f)\colon C$$D$ and $D(f,1)\colon D$$C$, defined by $D(1,f)(d,c) = D(d,f(c))$ and $D(f,1)(c,d) = D(f(c),d)$. (Here $D(-,-)$ denotes the [[hom functor]] of $D$ and $1$ denotes the identity functor on the respective category.) Since this construction may be thought of as the [[adjunct]] of the composition of $f$ with the [[Yoneda embedding]] $C \stackrel{f}{\longrightarrow} D \stackrel{Yoneda}{\longrightarrow} [D^{op},Set]$, these profunctors are called \emph{representable} (or sometimes one of them is called \emph{corepresentable}) and this way profunctors subsume and generalize ordinary functors. In particular the identity profunctor $Id \colon C$$C$ is represented by the identity functor and hence is given by the [[hom-functor]] $C(-,-) : C^{op} \times C \to Set$ itself. The notion generalizes to many other kinds of categories. For instance, if $C$ and $D$ are [[enriched category|enriched]] over some symmetric [[closed monoidal category]] $V$, then a profunctor from $C$ to $D$ is a $V$-functor $D^{op} \otimes C\to V$. If they are [[internal categories]], then a profunctor $C$$D$ is an [[internal diagram]] on $D^{op}\times C$, and so on. There are also other equivalent definitions in each case; see below. A profunctor is also sometimes called a \textbf{[[bimodule|(bi)module]]} or a \textbf{distributor} or a \textbf{correspondence}, though the latter word is also used for a [[span]]. The term ``module'' tends to be common in Australia, especially in the enriched case; here the intuition is that for one-object $V$-categories, i.e. monoids in $V$, profunctors really are the same as [[bimodules]] between such monoids in the usual sense. ``Profunctor'' is perhaps more common in the Set-based and internal cases (but is also used in the enriched case); here the intuition is that a profunctor is a generalization of a functor, via the construction of ``representable'' profunctors. Jean B\'e{}nabou, who invented the term and originally used ``profunctor,'' now prefers ``distributor,'' which is supposed to carry the intuition that a distribut\textbf{or} generalizes a funct\textbf{or} in a similar way to how a [[distribution]] generalizes a [[function]]. Note that the convention that a profunctor is a functor $D^{op}\times C \to Set$ is not universal; some authors reverse $C$ and $D$ and/or put the ``op'' on the other one. See the discussion below. \hypertarget{the_bicategory_of_profunctors}{}\subsection*{{The bicategory of profunctors}}\label{the_bicategory_of_profunctors} Profunctors are composed by using a [[coend]] to ``trace out'' the middle variable. Specifically, for profunctors $F : C$$D$ and $G : D$$E$, their composite $G \circ F: C$$E$ is defined to be \begin{displaymath} G \circ F := \int^{d \in D} F(d,-)\otimes G(-,d) \,. \end{displaymath} This yields a [[bicategory]] in which \begin{itemize}% \item [[objects]] are [[categories]], \item [[morphism]]s are profunctors with the above composition, and \item [[2-morphisms]] are [[natural transformation]]s. \end{itemize} This bicategory is variously denoted [[Prof]], $Mod$, or $Dist$, according to one's chosen name for profunctors. In the $V$-enriched case, it is written $V Prof$ or $V Mod$ or $V Dist$. The construction of the ``representable'' profunctors $D(1,f)$ and $D(f,1)$ from a functor $f\colon C\to D$ yield two identity-on-objects functors $Cat \to Prof$ and $Cat^{op}\to Prof$. Moreover, it is easy to check that $D(1,f) \vdash D(f,1)$ in the bicategory $Prof$; thus $Cat\to Prof$ is a [[proarrow equipment]] in the sense of Wood (in fact, the prototypical one). This same fact can also be expressed by defining a (pseudo) [[double category]] in which functors and profunctors are the two kinds of arrows; the construction of representable profunctors is then given by [[companion]]s and [[conjoint]]s in this double category, which make it a [[framed bicategory]], hence an equivalent representation of a proarrow equipment. The [[full sub-2-category]] $Prof_{rep}$ on representable profunctors is equivalent to $Cat_{ana}$, the 2-category of [[anafunctor]]s. See there for more details. \hypertarget{alternative_definitions}{}\subsection*{{Alternative definitions}}\label{alternative_definitions} \hypertarget{FuncsOnPresheaves}{}\subsubsection*{{In terms of colimit-preserving functors on presheaf categories}}\label{FuncsOnPresheaves} A basic fact (e.g. Kashiwara, Schapira, [[Categories and Sheaves]], corollary 2.7.4, page 63) is that for $A$ a [[cocomplete category]], [[cocontinuous functor|colimit-preserving functors]] from [[presheaf|presheaves]] on some small category $C$ to $A$ are canonically equivalent to functors from $C$ to $A$: we have an equivalence of [[functor category|functor categories]] \begin{displaymath} Cocont(PSh(C),A) \simeq Func(C,A) \,. \end{displaymath} 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 a colimit over [[representable functor|representables]], i.e. over objects in the image of the [[Yoneda embedding]] $Y : C \to PSh(C)$. This immediately implies that a colimit-preserving functor on $PSh(C)$ is already determined by its restriction along $Y$ to $C$. Now, profunctors $D^{op} \otimes C \to V$ are [[adjunct]] to functors $C \to [D^{op}, V] \simeq PSh(D)$. Hence by the above, profunctors are equivalent to colimit-preserving functors \begin{displaymath} PSh(C) \to PSh(D) \,. \end{displaymath} Indeed, there is an equivalence of bicategories between $V Prof$ and the 2-category of categories and colimit-preserving functors and natural transformations between their presheaf categories. Note that the latter is a [[strict 2-category]] which can thus serve as a ``natural'' strictification of $V Prof$. An explicit statement of this can be found for instance as prop. 4.2.4 in \begin{itemize}% \item Gian Luca Cattani, PhD thesis from BRICS, University of Aarhus (\href{http://www.brics.dk/DS/99/1/BRICS-DS-99-1.pdf}{pdf}) \end{itemize} From this perspective, the representable profunctor induced by an ordinary $V$-functor $f : C \to D$ is the [[adjunct]] of the postcomposition \begin{displaymath} C \stackrel{f}{\to} D \stackrel{Y}{\to} [D^{op},V] \end{displaymath} with the [[Yoneda embedding]] under the Hom-adjunction. The formulation of profunctors as colimit-preserving functors on presheaf categories 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 $\sim$ sum). This $(\infty,1)$-category $Pr^L$ therefore is an $(\infty,1)$-analog of $Set\text{-}Mod$. In [[geometric ∞-function theory]] one finds (see section 4 there) that morphisms in $Pr^L$ encode the ``correspondence operations'' such as Fourier-Mukai and its generalizations. See in that context also the examples below. \hypertarget{in_terms_of_twosided_discrete_fibrations}{}\subsubsection*{{In terms of two-sided discrete fibrations}}\label{in_terms_of_twosided_discrete_fibrations} Recall that a functor $D^{op}\to Set$ can equivalently be described as a [[discrete fibration|discrete]] [[(Grothendieck) fibration]], and similarly a functor $C\to Set$ can be described as a discrete opfibration. Thus, a profunctor $D^{op}\times C\to Set$ could be described by a discrete opfibration over $D^{op}\times C$, or a discrete fibration over $D\times C^{op}$, but there is also a more directly ``two-sided'' fibrational description. A \emph{[[two-sided fibration]]} from $C$ to $D$ is a functor $E\to C\times D$ which is a fibration over $D$ and an opfibration over $C$ in a compatible way. Such a fibration represents a pseudofunctor $D^{op}\times C\to Cat$, and hence if it is discrete it represents a profunctor $D^{op}\times C\to Set$. This definition/characterization of profunctors works for internal categories as well, but \emph{not} for enriched ones. It is sometimes called the [[graph of a profunctor]] (although this is sometimes also used for the other fibrational representations mentioned above). \hypertarget{in_terms_of_twosided_codiscrete_cofibrations}{}\subsubsection*{{In terms of two-sided codiscrete cofibrations}}\label{in_terms_of_twosided_codiscrete_cofibrations} Yet another way of representing profunctors is via their [[collages]], also called [[cograph of a profunctor|cographs]]. The collage of a profunctor $H\colon C$$D$ is, in particular, a category $\bar{H}$ equipped with functors $C\to \bar{H}$ and $D\to\bar{H}$ which are [[fully faithful functor|fully faithful]] and jointly bijective on objects. In fact, the objects of the [[undercategory]] $(C\sqcup D)/Cat$ which are collages of profunctors $C$$D$ can be characterized, up to equivalence, as the two-sided [[codiscrete cofibrations]], i.e. the two-sided discrete fibrations in $Cat^{op}$. In simpler and more explicit language, these are the categories $M$ which contain $C$ and $D$ as disjoint full subcategories which are jointly-[[wide subcategory|wide]] (i.e. together contain all the objects), and such that there are no morphisms from an object of $C$ to an object of $D$. Equivalently, they are the categories which admit a functor to the [[interval category]] $I$ such that $D$ is the fiber over $0$ and $C$ is the fiber over $1$. When viewing a profunctor $H\colon C$$D$ in this way, one may sometimes speak of elements of $H(d,c)$ as \emph{heteromorphisms} from $d$ to $c$, since they are morphisms in the category $\bar{H}$ and can be ``composed'' with morphisms of $C$ and $D$ (this corresponds to the ``action'' of $C$ and $D$ on $H$ in the other formulations), but they go between objects of two different categories (namely $C$ and $D$). This characterization works just as well in both the internal and enriched case. Perhaps surprisingly, it also tends to give the ``right'' notion of profunctor starting with many other, even more exotic, 2-categories. However, it is trickier to figure out how to define the composite of profunctors viewed as codiscrete cofibrations; see [[codiscrete cofibration]]. \hypertarget{comparing_fibrations_and_cofibrations}{}\subsubsection*{{Comparing fibrations and cofibrations}}\label{comparing_fibrations_and_cofibrations} If $C \overset{g}{\to} \bar{H} \overset{f}{\leftarrow} D$ is a codiscrete cofibration representing a profunctor $H$ from $C$ to $D$, then the two-sided discrete fibration representing the same profunctor can be obtained as the [[comma category]] $(f\downarrow g)$ with its two projections to $C$ and $D$. Dually, if $C \overset{p}{\leftarrow} E \overset{q}{\to} D$ is a two-sided discrete fibration representing a profunctor from $C$ to $D$, then the codiscrete cofibration representing the same profunctor can be obtained as the [[cocomma object]] $(q\uparrow p)$ with the two inclusions of $C$ and $D$. In fact, in any 2-category with comma and cocomma objects, we have an [[adjunction]] \begin{displaymath} cocomma: Span(C,D) \;\rightleftarrows\; Cospan(C,D) : comma. \end{displaymath} One can show that comma objects are always discrete fibrations, and dually cocomma objects are always codiscrete cofibrations. In $Cat$ and other similar 2-categories, this adjunction is [[idempotent adjunction|idempotent]] and restricts to an equivalence between the categories of discrete fibrations and codiscrete cofibrations (both of which are of course equivalent to the category of profunctors from $C$ to $D$). This is a two-sided version of the [[Grothendieck construction]]. \hypertarget{examples}{}\subsection*{{Examples}}\label{examples} \begin{itemize}% \item 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 $Vect\Mod$ on one-object $Vect$-enriched categories is the familiar category of [[algebras]], [[bimodules]] and bimodule homomorphisms. In this case, the ``representable'' profunctors correspond to the way in which every morphism $A \to B$ of [[algebras]] induces the $A$-$B$ bimodule which as a vector space is $B$ with obvious right $B$ action and left $A$-action induced by first mapping $A$ to $B$ via $f$ and then using multiplication in $B$. \item The full sub-bicategory of $Set Prof$ on [[discrete category|discrete categories]] is the bicategory of sets, [[spans]] of sets and morphisms of spans: \begin{displaymath} Set\Mod_{disc} \simeq Span(Set) \,. \end{displaymath} In particular a [[relation]] between sets is a special case of this. From this point of view the 2-category [[Prof]] of profunctors is a [[categorification]] of the category [[Rel]] of sets and relations. Moreover, the representable profunctor between discrete category induced by a [[function]] $f : C \to D$ of sets is the span \begin{displaymath} \itexarray{ && C \\ & {}^{Id}\swarrow && \searrow^{f} \\ C &&&& D } \,. \end{displaymath} \item Similarly, the full sub-bicategory of internal profunctors in $S = (Set^{op}, \times)$ on ``discrete categories'' is the bicategory of [[cospans]] \begin{displaymath} Set^{op}\Mod_{disc} \simeq Span(Set^{op}) = Cospan(Set) \,. \end{displaymath} \item for [[enriched category|enrichment]] over a [[category of chain complexes]] an [[enriched category]] is a [[dg-category]] and a profunctor is now a dg-[[bimodule]] of dg-categories. This appears notably in the definition of [[noncommutative motives]]. \end{itemize} \hypertarget{Properties}{}\subsection*{{Properties}}\label{Properties} \begin{itemize}% \item If a [[functor]] represents a given profunctor, then the action of the functor on morphisms is determined by the action of the profunctor and the representation isomorphism. For details see at \emph{[[representability determines functoriality]]} \item If $\mathcal{D}$ is [[Cauchy complete category|Cauchy complete]], then the profunctors that correspond to functors (via Yoneda, which here looks like $F\mapsto F_*$, with $F_*(d,c)=\mathcal{D}(d,Fc)$) are exactly those that admit right adjoints. In general, right adjoint profunctors correspond to profunctors into the [[Cauchy complete category\#InOrdinaryCatTheoryByProfunctors|Cauchy completion]] of their codomain. \end{itemize} \hypertarget{related_entries}{}\subsection*{{Related entries}}\label{related_entries} \begin{itemize}% \item [[module]] \item [[2-vector space]] \item [[double profunctor]] \item [[nucleus of a profunctor]] \item [[Mealy morphism]] \end{itemize} \hypertarget{references}{}\subsection*{{References}}\label{references} \hypertarget{original_sources}{}\subsubsection*{{Original sources}}\label{original_sources} The original published source for profunctors is \begin{itemize}% \item [[Jean Bénabou]], \emph{Les distributeurs}, Universit\'e{} Catholique de Louvain, Institut de Math\'e{}matique Pure et Appliqu\'e{}e, rapport 33, 1973 \end{itemize} based on several series of lectures starting in 1969, but these notes are hard to come by. They are available from the author by request. Much (if not most) of the existing work on profunctors has been developed by B\'e{}nabou. [[Marta Bunge]] independently considered profunctors in chapter 3 of her unpublished 1966 PhD thesis \begin{itemize}% \item [[Marta Bunge]], \emph{Categories of Set-Valued Functors}, University of Pennsylvania, 1966 \end{itemize} based on suggestions by [[Bill Lawvere]], including the monograph \begin{itemize}% \item [[Michel Andre]], \emph{Categories of Functors and Adjoint Functors}, Batelle Institute at Geneva, 1964 \end{itemize} Some of these ideas were exposed at Oberwolfach in 1966. There are extant notes taken by [[Anders Kock]] of a talk by Bill Lawvere, but there is only a passing mention of `generalised functors' (what are now called profunctors) and their `generalised matrix multiplication'. \hypertarget{more_recent_accounts}{}\subsubsection*{{More recent accounts}}\label{more_recent_accounts} A standard reference is \begin{itemize}% \item [[Francis Borceux]], \emph{Handbook of Categorical Algebra I}, Cambridge UP 1994. (sec. 7.7.) \end{itemize} Excellent notes from a course on distributors given by Jean B\'e{}nabou in June 2000 at TU Darmstadt, and prepared by Thomas Streicher: \begin{itemize}% \item [[Jean Bénabou]], \emph{Distributors at work}, (2000), \href{http://www.mathematik.tu-darmstadt.de/~streicher/FIBR/DiWo.pdf}{pdf} \end{itemize} A nice example of profunctors between Lawvere [[metric spaces]] can be found in \href{http://golem.ph.utexas.edu/category/2009/11/equipments.html#c029633}{this comment}. The following classic paper is a good appetizer \begin{itemize}% \item [[William Lawvere]], \emph{Metric Spaces, Generalized Logic, and Closed Categories} , Rendiconti di Seminario mat\'e{}matico e fisico di Milano XLIII (1973) pp.135-166. Reprinted in TAC Reprints no.1 (2002) pp.1-37. (\href{http://www.tac.mta.ca/tac/reprints/articles/1/tr1abs.html}{tac}) \end{itemize} See the [[joyalscatlab:HomePage|Joyal's CatLab]] for the theory of [[Set]]-valued distributors: \begin{itemize}% \item [[Andre Joyal]], \emph{[[joyalscatlab:Distributors and barrels]]} . \end{itemize} Internal profunctors are considered in \begin{itemize}% \item [[Peter Johnstone]], \emph{Topos Theory} , Academic Press New York 1977. (Dover reprint Minneola 2014; sect. 2.4) \item [[Peter Johnstone]], \emph{Sketches of an [[Elephant]] I}, Oxford UP 2002. (pp.359-367) \end{itemize} Profunctors play an important in categorical [[shape theory]]. The original source is \begin{itemize}% \item D. Bourn, J.-M. Cordier, \emph{Distributeurs et th\'e{}orie de la forme}, Cah. Top. G\'e{}om. Diff. Cat. \textbf{21} no.2 (1980) pp.161-189. (\href{http://archive.numdam.org/ARCHIVE/CTGDC/CTGDC_1980__21_2/CTGDC_1980__21_2_161_0/CTGDC_1980__21_2_161_0.pdf}{pdf}) \end{itemize} The material together with a general discussion of profunctors is also available in English in the reprinted monograph \begin{itemize}% \item J.-M. Cordier , [[Tim Porter]], \emph{Shape Theory: Categorical Methods of Approximation} , (1989), Mathematics and its Applications, Ellis Horwood. Reprinted Dover (2008). \end{itemize} M. Batanin discusses simplicial enriched profunctors in the context of strong shape theory in \begin{itemize}% \item M. Batanin , \emph{Categorical Strong Shape Theory} , Cah. Top. G\'e{}om. Diff. Cat. \textbf{38} no.1 (1997) pp.3-66. (\href{http://archive.numdam.org/ARCHIVE/CTGDC/CTGDC_1997__38_1/CTGDC_1997__38_1_3_0/CTGDC_1997__38_1_3_0.pdf}{pdf}) \end{itemize} For an overview and application in computer science see \begin{itemize}% \item G. L. Cattani, G. Winskel, \emph{Profunctors, Open Maps, and Bisimulation} , BRICS Report \textbf{04-22} (2004). (\href{http://www.brics.dk/RS/04/22/BRICS-RS-04-22.pdf}{pdf}) \end{itemize} \hypertarget{expositions}{}\subsubsection*{{Expositions}}\label{expositions} There is some exposition of profunctors at \begin{itemize}% \item [[John Baez]], \emph{Re: Klein 2-Geometry VII} (\href{http://golem.ph.utexas.edu/category/2006/11/klein_2geometry_vii.html#c005985}{blog}) \end{itemize} The common generalization of [[bimodules]] and [[spans]] in terms of profunctors has been discussed on the blog at \begin{itemize}% \item [[John Baez]], \emph{Bimodules versus spans} (\href{http://golem.ph.utexas.edu/category/2008/08/bimodules_versus_spans.html}{blog}) \end{itemize} \hypertarget{notation}{}\subsection*{{Notation}}\label{notation} Profunctors are often notated with a slashed or barred arrow, as in $C$$D$, which is U+21F8 in Unicode. It is not always obvious how to draw this character, so here are some hints. \begin{itemize}% \item On the nLab (or anywhere that accepts SGML character entities, including raw HTML on the web), it can be found using a Unicode entity: \begin{verbatim}⇸\end{verbatim} \item In \LaTeX\xspace , one can use {\colorbox[rgb]{1.00,0.93,1.00}{\tt ~nrightarrow}} (producing `$\nrightarrow$') in a pinch, but a nice-looking extensible barred arrow command {\colorbox[rgb]{1.00,0.93,1.00}{\tt ~xslashedrightarrow}} can also be produced with the following preamble code (modified from amsmath's {\colorbox[rgb]{1.00,0.93,1.00}{\tt ~xrightarrow}}). It requires the packages {\colorbox[rgb]{1.00,0.93,1.00}{\tt amsmath}} and {\colorbox[rgb]{1.00,0.93,1.00}{\tt mathtools}} to be loaded. \begin{verbatim}\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 \end{verbatim} The command {\colorbox[rgb]{1.00,0.93,1.00}{\tt ~xslashedrightarrow}} can then be used with one required argument and one optional argument, just like {\colorbox[rgb]{1.00,0.93,1.00}{\tt ~xrightarrow}}. A version taking no arguments can of course be defined with \begin{verbatim}\def\slashedrightarrow{\xslashedrightarrow{}}\end{verbatim} A simpler barred arrow taking no arguments can be created with \begin{verbatim}\def\slashedrightarrow{\relbar\joinrel\mapstochar\joinrel\rightarrow}\end{verbatim} \item In Xypic, a barred arrow (to the right, in this example) can be produced with \begin{verbatim}\ar[r]|-@{|}\end{verbatim} \end{itemize} \hypertarget{discussion}{}\subsection*{{Discussion}}\label{discussion} The following discussion is about where to put the ``op'' in the definition of a profunctor. \emph{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 Shulman|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 \emph{into} it, rather than the maps \emph{out} of it---in other words by its [[generalized elements]], or in yet other words by the presheaf it represents. Although of course \emph{formally}, there is a complete duality. [[!redirects profunctors]] [[!redirects distributor]] [[!redirects distributors]] [[!redirects representable profunctor]] [[!redirects representable profunctors]] \end{document}