A cofunctor is a kind of morphism between categories (not to be confused with a contravariant functor). In contrast to a functor, the assignment on objects of a cofunctor goes in the opposite direction to the assignment on morphisms.

Cofunctors generalise both bijective-on-objects functors and discrete opfibrations.

Cofunctors arise naturally in the study non-cartesian internal categories.


A cofunctor φ:AB\varphi : A \nrightarrow B from a category AA to a category BB consists of a map sending each object aAa \in A to an object φ 0aB\varphi_{0}a \in B and a map sending each pair (aA,u:φ 0abB)(a \in A, u : \varphi_{0}a \to b \in B) to a morphism φ 1(a,u):aa\varphi_{1}(a, u) : a \to a' in AA, where a=cod(φ 1(a,u))a' = cod(\varphi_{1}(a, u)), such that

  • φ 1\varphi_{1} respects codomains: φ 0a=cod(u)\varphi_{0}a' = cod(u) where a=cod(φ 1(a,u))a' = cod(\varphi_{1}(a, u)),

  • φ 1\varphi_{1} preserves identity morphisms: φ 1(a,1 φ 0a)=1 a\varphi_{1}(a, 1_{\varphi_{0}a}) = 1_{a},

  • φ 1\varphi_{1} preserves composition: φ 1(a,vu)=φ 1(a,v)φ 1(a,u)\varphi_{1}(a, v \circ u) = \varphi_{1}(a', v) \circ \varphi_{1}(a, u) where a=cod(φ 1(a,u))a' = cod(\varphi_{1}(a, u)).

Given a pair of cofunctors φ:AB\varphi : A \nrightarrow B and γ:BC\gamma : B \nrightarrow C, their composite cofunctor γφ:AC\gamma \circ \varphi \colon A \nrightarrow C sends each object aAa \in A to an object γ 0φ 0aC\gamma_{0}\varphi_{0}a \in C and each pair (aA,u:γ 0φ 0acC)(a \in A, u : \gamma_{0}\varphi_{0}a \to c \in C) to a morphism φ 1(a,γ 1(φ 0a,u))\varphi_{1}(a, \gamma_{1}(\varphi_{0}a, u)) in AA. This defines a category Cof\mathbf{Cof} whose objects are small categories, and whose morphisms are cofunctors.



The category Cof\mathbf{Cof} of small categories and cofunctors has an orthogonal factorization system (Bij op,DOpf)(Bij^{op}, DOpf) which factors each cofunctor φ:AB\varphi : A \nrightarrow B into a bijective on objects functor AIA \leftarrow I followed by a discrete opfibration IBI \to B.



The notion of cofunctor first appeared under the name comorphism in the paper:

The definition of internal cofunctor between non-cartesian internal categories was introduced in Section 4.4 of the thesis:

  • Marcelo Aguiar, Internal categories and quantum groups, PhD thesis, Cornell University, 1997 (pdf)

The characterization of cofunctors as morphisms between directed containers is developed in the papers:

The link between cofunctors, delta lenses, and split Grothendieck opfibrations is developed in the papers:

  • Bryce Clarke, Internal lenses as functors and cofunctors, EPTCS, 323, 2020 (doi:10.4204/EPTCS.323.13)

  • Bryce Clarke, Internal split opfibrations and cofunctors, Theory and Applications of Categories, 35, 2020 (link)

Cofunctors between groupoids and the link with inner automorphisms of groupoids is explored in the paper:

The notion of cofunctor between partite internal categories is introduced in Definition 5.5 of the paper:

Last revised on July 4, 2021 at 02:38:51. See the history of this page for a list of all contributions to it.