Profunctor Explained

In category theory, a branch of mathematics, profunctors are a generalization of relations and also of bimodules.

Definition

A profunctor (also named distributor by the French school and module by the Sydney school)

\phi

from a category

C

to a category

D

, written

\phi:C\nrightarrowD

,is defined to be a functor

\phi:Dop x C\toSet

where

Dop

denotes the opposite category of

D

and

Set

denotes the category of sets. Given morphisms

f:d\tod',g:c\toc'

respectively in

D,C

and an element

x\in\phi(d',c)

, we write

xf\in\phi(d,c),gx\in\phi(d',c')

to denote the actions.

Using the cartesian closure of

Cat

, the category of small categories, the profunctor

\phi

can be seen as a functor

\hat{\phi}:C\to\hat{D}

where

\hat{D}

denotes the category
Dop
Set
of presheaves over

D

.

A correspondence from

C

to

D

is a profunctor

D\nrightarrowC

.

Profunctors as categories

An equivalent definition of a profunctor

\phi:C\nrightarrowD

is a category whose objects are the disjoint union of the objects of

C

and the objects of

D

, and whose morphisms are the morphisms of

C

and the morphisms of

D

, plus zero or more additional morphisms from objects of

D

to objects of

C

. The sets in the formal definition above are the hom-sets between objects of

D

and objects of

C

. (These are also known as het-sets, since the corresponding morphisms can be called heteromorphisms.) The previous definition can be recovered by the restriction of the hom-functor

\phiop x \phi\toSet

to

Dop x C

.

This also makes it clear that a profunctor can be thought of as a relation between the objects of

C

and the objects of

D

, where each member of the relation is associated with a set of morphisms. A functor is a special case of a profunctor in the same way that a function is a special case of a relation.

Composition of profunctors

The composite

\psi\phi

of two profunctors

\phi:C\nrightarrowD

and

\psi:D\nrightarrowE

is given by
\psi\phi=Lan
YD

(\hat{\psi})\circ\hat\phi

where
Lan
YD

(\hat{\psi})

is the left Kan extension of the functor

\hat{\psi}

along the Yoneda functor

YD:D\to\hatD

of

D

(which to every object

d

of

D

associates the functor

D(-,d):Dop\toSet

).

It can be shown that

(\psi\phi)(e,c)=\left(\coprodd\in\psi(e,d) x \phi(d,c)\right)/\sim

where

\sim

is the least equivalence relation such that

(y',x')\sim(y,x)

whenever there exists a morphism

v

in

D

such that

y'=vy\in\psi(e,d')

and

x'v=x\in\phi(d,c)

.Equivalently, profunctor composition can be written using a coend

(\psi\phi)(e,c)=\intd\colon\psi(e,d) x \phi(d,c)

Bicategory of profunctors

Composition of profunctors is associative only up to isomorphism (because the product is not strictly associative in Set). The best one can hope is therefore to build a bicategory Prof whose

Properties

Lifting functors to profunctors

A functor

F:C\toD

can be seen as a profunctor

\phiF:C\nrightarrowD

by postcomposing with the Yoneda functor:

\phiF=YD\circF

.

It can be shown that such a profunctor

\phiF

has a right adjoint. Moreover, this is a characterization: a profunctor

\phi:C\nrightarrowD

has a right adjoint if and only if

\hat\phi:C\to\hatD

factors through the Cauchy completion of

D

, i.e. there exists a functor

F:C\toD

such that

\hat\phi=YD\circF

.

See also

References