Plenty faces of a profunctor

What is a profunctor?

Recall that a category is a directed graph equipped with an associative and unital composition of its edges. In the categorical context, the nodes of the graph are also called objects and edges are called arrows or morphisms. The unitality requirement says that each object a has a unit arrow a\to a, called identity, which doesn’t affect the result of the compositions.

A functor is a composition and identity preserving graph morphism from a category to a category.

A profunctor, on the other hand, connects up two categories by (potentially) adding more morphisms in between them ‘from the outer world’. In other perspective, we can describe this setting as one of the two categories acting from the left and the other one acting from the right on the newly added morphisms. This can also be grasped as simply being a two variable functor to the category of sets, contravariant in the first argument.
Continue reading “Plenty faces of a profunctor”

Functor as a fibration


In topology, any continuous function f:A\to B can be considered as a fibration over space B, with total space A, where the fibres f^{-1}(b) are glued together according to the topology of A.

Likewise, any functor F:\ct A\to \ct B can be regarded as a kind of fibration over \ct B. Each object b\in Ob\ct B determines a fibre category F^{-1}(b) with arrows which are mapped to 1_b.

In this generality, the fibres connect up by means of profunctors between them and then F and the original composition of \ct A are encapsulated in the arising mapping \ct B\to \ct Prof.

Continue reading “Functor as a fibration”