An object of a category is projective (with respect to epimorphisms) if for any morphism and any epimorphism , factors through by some morphism .
A category has enough projectives if for every object there is an epimorphism where is projective.
The dual notion is injective object.
If has pullbacks and epimorphisms are preserved by pullback, as is the case in a pretopos, then is projective iff any epimorphism is split.
The axiom of choice can be phrased as “all objects of Set are projective.” See also internally projective object and COSHEP.
There are variations of the definition where “epimorphism” is replaced by some other type of morphism, such as a regular epimorphism or strong epimorphism or the left class in some orthogonal factorization system. In this case one may speak of regular projectives and so on. In a regular category “projective” almost always means “regular projective.”