In the sequel, we will give a general treatment of universal properties. It is advisable to study several examples first: product? and [direct sum]?, tensor product, inverse limit and [direct limit]?, kernel and cokernel?, pullback?, pushout? and equalizer?.
Let C and D be categories and F : C -> D be a functor. A universal construction assigns to every object X of D an object AX of C and a morphism φX : F(AX) -> X in D, such that the following universal property is satisfied:
From this definition, it follows that the pair (AX, φX) is determined up to a unique isomorphism by X, in the following sense: if A'X is another object of C and φ'X : F(A'X) -> X is another morphism which has the univeral property, then there exists a unique isomorphism f : AX -> A'X such that φ'X f = φX.
Furthermore, if h : X1 -> X2 is a morphism in D, then there exists a unique morphism Ah: AX1 -> AX2 such that φX<sub>2</sub> F(Ah) = φX1. The assignment X |-> AX and h |-> Ah defines a covariant functor from D to C, the right-adjoint of F.
The dual concept of a co-universal construction also exists: it assigns to every object X of D an object of BX of C and a morphism ρX: X -> F(BX) in D, such that the following universal property is satisfied:
It is important to realize that not every functor F has a right-adjoint or a left adjoint; in other words: while one may always write down a universal property for an object AX, that does not mean that such an object also exists.