User:Michiexile/MATH198/Lecture 6

From HaskellWiki
Jump to: navigation, search


Useful limits and colimits

With the tools of limits and colimits at hand, we can start using these to introduce more category theoretical constructions - and some of these turn out to correspond to things we've seen in other areas.

Possibly among the most important are the equalizers and coequalizers (with kernel (nullspace) and images as special cases), and the pullbacks and pushouts (with which we can make explicit the idea of inverse images of functions).

One useful theorem to know about is:

Theorem The following are equivalent for a category C:

  • C has all finite limits.
  • C has all finite products and all equalizers.
  • C has all pullbacks and a terminal object. Also, the following dual statements are equivalent:
  • C has all finite colimits.
  • C has all finite coproducts and all coequalizers.
  • C has all pushouts and an initial object.

For this theorem, we can replace finite with any other cardinality in every place it occurs, and we will still get a valid theorem.

====Equalizer, coequalizer==== Consider the equalizer diagram: EqualizerDiagram.png

A limit over this diagram is an object C and arrows to all diagram objects. The commutativity conditions for the arrows defined force for us fp_A = p_B = gp_A, and thus, keeping this enforced equation in mind, we can summarize the cone diagram as:

EqualizerCone.png Now, the limit condition tells us that this is the least restrictive way we can map into A with some map p such that fp = gp, in that every other way we could map in that way will factor through this way.

As usual, it is helpful to consider the situation in Set to make sense of any categorical definition: and the situation there is helped by the generalized element viewpoint: the limit object C is one representative of a subobject of A that for the case of Set contains all x\in A: f(x) = g(x).

Hence the word we use for this construction: the limit of the diagram above is the equalizer of f, g. It captures the idea of a maximal subset unable to distinguish two given functions, and it introduces a categorical way to define things by equations we require them to respect.

One important special case of the equalizer is the kernel: in a category with a null object, we have a distinguished, unique, member 0 of any homset given by the compositions of the unique arrows to and from the null object. We define the kernel Ker(f) of an arrow f to be the equalizer of f, 0. Keeping in mind the arrow-centric view on categories, we tend to denot the arrow from Ker(f) to the source of f by ker(f).

In the category of vector spaces, and linear maps, the map 0 really is the constant map taking the value 0 everywhere. And the kernel of a linear map f:U\to V is the equalizer of f,0. Thus it is some vector space W with a map i:W\to U such that fi = 0i = 0, and any other map that fulfills this condition factors through W. Certainly the vector space \{u\in U: f(u)=0\} fulfills the requisite condition, nothing larger will do, since then the map composition wouldn't be 0, and nothing smaller will do, since then the maps factoring this space through the smaller candidate would not be unique.

Hence, Ker(f) = \{u\in U: f(u) = 0\} just like we might expect.

Dually, we get the coequalizer as the colimit of the equalizer diagram.

A coequalizer CoequalizerCoCone.png has to fulfill that i_Bf = i_A = i_Bg. Thus, writing q=i_B, we get an object with an arrow (actually, an epimorphism out of B) that identifies f and g. Hence, we can think of i_B:B\to Q as catching the notion of inducing equivalence classes from the functions.

This becomes clear if we pick out one specific example: let R\subseteq X\times X be an equivalence relation, and consider the diagram


where r_1 and r_2 are given by the projection of the inclusion of the relation into the product onto either factor. Then, the coequalizer of this setup is an object X/R such that whenever x\sim_R y, then q(x)=q(y).


The preimage f^{-1}(T) of a subset T\subseteq S along a function f:U\to S is a maximal subset V\subseteq U such that for every v\in V: f(v)\in T.

We recall that subsets are given by (equivalence classes of) monics, and thus we end up being able to frame this in purely categorical terms. Given a diagram like this:


where i is a monomorphism representing the subobject, we need to find an object V with a monomorphism injecting it into U such that the map fi: U\to S factors through T. Thus we're looking for dotted maps making the diagram commute, in a universal manner.

The maximality of the subobject means that any other subobject of U that can be factored through T should factor through V.

Suppose U, V are subsets of some set W. Their intersection U\cap V is a subset of U, a subset of V and a subset of W, maximal with this property.

Translating into categorical language, we can pick representatives for all subobjects in the definition, we get a diagram with all monomorphisms:


where we need the inclusion of U\cap V into W over U is the same as the inclusion over V.


Weakest precondition.


Amalgamations / gluing.

Free and forgetful functors


  • Free and forgetful
  • Curry and uncurry


  1. Prove that an equalizer is a monomorphism.
  2. Prove that a coequalizer is an epimorphism.
  3. Prove that given any relation R\subseteq X\times X, its completion to an equivalence relation is the kernel of the coequalizer of the component maps of the relation