Coequalizer

In category theory, a coequalizer (or coequaliser) is a generalization of a quotient by an equivalence relation to objects in an arbitrary category. It is the categorical construction dual to the equalizer.
Definition.
A coequalizer is a colimit of the diagram consisting of two objects "X" and "Y" and two parallel morphisms "f", "g" : "X" → "Y".
More explicitly, a coequalizer can be defined as an object "Q" together with a morphism "q" : "Y" → "Q" such that "q" ∘ "f" = "q" ∘ "g". Moreover, the pair ("Q", "q") must be universal in the sense that given any other such pair ("Q"′, "q"′) there exists a unique morphism "u" : "Q" → "Q"′ such that "u" ∘ "q" = "q"′. This information can be captured by the following commutative diagram:
As with all universal constructions, a coequalizer, if it exists, is unique up to a unique isomorphism (this is why, by abuse of language, one sometimes speaks of "the" coequalizer of two parallel arrows).
It can be shown that a coequalizer "q" is an epimorphism in any category.
Special cases.
In categories with zero morphisms, one can define a "cokernel" of a morphism "f" as the coequalizer of "f" and the parallel zero morphism.
In preadditive categories it makes sense to add and subtract morphisms (the hom-sets actually form abelian groups). In such categories, one can define the coequalizer of two morphisms "f" and "g" as the cokernel of their difference:
A stronger notion is that of an absolute coequalizer, this is a coequalizer that is preserved under all functors.
Formally, an absolute coequalizer of a pair of parallel arrows "f", "g" : "X" → "Y" in a category "C" is a coequalizer as defined above, but with the added property that given any functor "F": "C" → "D", "F"("Q") together with "F"("q") is the coequalizer of "F"("f") and "F"("g") in the category "D". Split coequalizers are examples of absolute coequalizers.