An anafunctor[note 1] is a notion introduced by Makkai (1996) for ordinary categories that is a generalization of functors.[1] In category theory, some statements require the axiom of choice, but the axiom of choice can sometimes be avoided when using an anafunctor.[2] For example, the statement "every fully faithful and essentially surjective functor is an equivalence of categories" is equivalent to the axiom of choice, but we can usually follow the same statement without the axiom of choice by using anafunctor instead of functor.[1][3]
Let X and A be categories. An anafunctor F with domain (source) X and codomain (target) A, and between categories X and A is a category , in a notation , is given by the following conditions:[1][4][5][6][7]
An anafunctor following condition:[2][8][9]