User:Michiexile/MATH198/Lecture 2

From HaskellWiki
Jump to: navigation, search

This lecture covers material occurring in Awodey sections 2.1-2.4.

Morphisms and objects

Some morphisms and some objects are special enough to garner special names that we will use regularly.

In morphisms, the important properties are

  • cancellability - the categorical notion corresponding to properties we use when solving, e.g., equations over \mathbb N:
3x = 3y \Rightarrow x = y
See also Wikipedia [1], where the relevant definitions and some interesting keywords occur. The article is technical and terse, though.
  • existence of inverses - which is stronger than cancellability. If there are inverses around, this implies cancellability, by applying the inverse to remove the common factor. Cancellability, however, does not imply that inverses exist: we can cancel the 3 above, but this does not imply the existence of 1/3\in\mathbb N.

Thus, we'll talk about isomorphisms - which have two-sided inverses, monomorphisms and epimorphisms - which have cancellability properties, and split morphisms - which are mono's and epi's with correspodning one-sided inverses. We'll talk about what these concepts - defined in terms of equationsolving with arrows - apply to more familiar situations. And we'll talk about how the semantics of some of the more wellknown ideas in mathematics are captured by these notions.

For objects, the properties are interesting in what happens to homsets with the special object as source or target. An empty homset is pretty boring, and a large homset is pretty boring. The real power, we find, is when all homsets with the specific source or target are singleton sets. This allows us to formulate the idea of a 0 in categorical terms, as well as capturing the roles of the empty set and of elements of sets - all using only arrows.


An arrow f:A\to B in a category C is an isomorphism if it has a twosided inverse g. In other words, we require the existence of a g:B\to A such that fg=1_B and gf=1_A.

In Set

In a category of sets with structure with morphisms given by functions that respect the set structure, isomorphism are bijections respecting the structure. In the category of sets, the isomorphisms are bijections.

In wikipedia: [2]

Representative subcategories

Very many mathematical properties and invariants are interesting because they hold for objects regardless of how, exactly, the object is built. As an example, most set theoretical properties are concerned with how large the set is, but not what the elements really are.

If all we care about are our objects up to isomorphisms, and how they relate to each other - we might as well restrict ourselves to one object for each isomorphism class of objects.

Doing this, we get a representative subcategory: a subcategory such that every object of the supercategory is isomorphic to some object in the subcategory.

The representative subcategory ends up being a more categorically interesting concept than the idea of a wide subcategory: it doesn't hit every object in the category, but it hits every object worth hitting in order to capture all the structure.

Example The category of finite sets has a representative subcategory given by all sets [n]=\{1,\ldots,n\}.


A groupoid is a category where all morphisms are isomorphisms. The name originates in that a groupoid with one object is a bona fide group; so that groupoids are the closest equivalent, in one sense, of groups as categories.

A very rich starting point is the wikipedia page [3]. In the categorical definition on this page, the difference to a category is in the existence and properties of the function inv.


We say that an arrow f is left cancellable if for any arrows g_1,g_2 we can show fg_1 = fg_2 \Rightarrow g_1=g_2. In other words, it is left cancellable, if we can remove it from the far left of any equation involving arrows.

We call a left cancellable arrow in a category a monomorphism.

In Set

Left cancellability means that if, when we do first g_1 and then f we get the same as when we do first g_2 and then f, then we had equality already before we followed with f.

In other words, when we work with functions on sets, f doesn't introduce relations that weren't already there. Anything non-equal before we apply f remains non-equal in the image. This, translated to formulae gives us the well-known form for injectivity:

x\neq y\Rightarrow f(x)\neq f(y) or moving out the negations,
f(x)=f(y) \Rightarrow x=y.

In Wikipedia: [4].


Consider the subset \{1,2\}\subset\{1,2,3\}. This is the image of an accordingly chosen injective map from any 2-element set into \{1,2,3\}. Thus, if we want to translate the idea of a subset into categorical language, it is not enough talking about monomorphisms, though the fact that inclusion is an injection indicates that we are on the right track.

The trouble that remains is that we do not want to view \{1,2\} as different subsets when it occurs as an image of the 2-element set \{1,2\} or when it occurs as an image of the 2-element set \{5,6\}. So we need some way of figuring out how to catch these situations and parry for them.

We'll say that a morphism f factors through a morphism g if there is some morphism h such that f=gh.

We can also talk about a morphism f:A\to C factoring through an object B by requiring the existence of morphisms g:A\to B, h:B\to C that compose to f.

Now, we can form an equivalence relation on monomorphisms into an object A, by saying f\sim g if f factors through g and g factors through f. The arrows implied by the factoring are inverse to each other, and the source objects of equivalent arrows are isomorphic.

Equipped with this equivalence relation, we define a subobject of an object A to be an equivalence class of monomorphisms.

Wikipedia has an accurate exposition [5].


Right cancellability, by duality, is the implication

g_1f = g_2f \Rightarrow g_1 = g_2

The name, here comes from that we can remove the right cancellable f from the right of any equation it is involved in.

A right cancellable arrow in a category is an epimorphism.

In Set

For epimorphims the interpretation in set functions is that whatever f does, it doesn't hide any part of the things g_1 and g_2 do. So applying f first doesn't influence the total available scope g_1 and g_2 have.

In Wikipedia: [6].

More on factoring

In Set, and in many other categories, any morphism can be expressed by a factorization of the form f=ip where i is a monomorphism and p is an epimorphism. For instance, in Set, we know that a function is surjective onto its image, which in turn is a subset of the domain, giving a factorization into an epimorphism - the projection onto the image - followed by a monomorphism - the inclusion of the image into the domain.

A generalization of this situation is sketched out on the Wikipedia page for Factorization systems [7].

Note that in Set, every morphisms that is both a mono and an epi is immediately an isomorphism. We shall see in the homework that the converse does not necessarily hold.

Initial and Terminal objects

An object 0 is initial if for every other object C, there is a unique morphism 0\to C. Dually, an object 1 is terminal if there is a unique morphism C\to 1.

First off, we note that the uniqueness above makes initial and terminal objects unique up to isomorphism whenever they exist: we shall perform the proof for one of the cases, the other is almost identical.

Proposition Initial (terminal) objects are unique up to isomorphism.

Proof: Suppose C and C' are both initial (terminal). Then there is a unique arrow C\to C' and a unique arrow C'\to C. The compositions of these arrows are all endoarrows of one or the other. Since all arrows from (to) an initial (terminal) objects are unique, these compositions have to be the identity arrows. Hence the arrows we found between the two objects are isomorphisms. QED.

  • In Sets, the empty set is initial, and any singleton set is terminal.
  • In the category of Vector spaces, the single element vector space 0 is both initial and terminal.

On Wikipedia, there is a terse definition, and a good range of examples and properties: [8].

Note that terminal objects are sometimes called final, and are as such used in the formal logic specification of algebraic structures.

Zero objects

This last example is worth taking up in higher detail. We call an object in a category a zero object if it is simultaneously initial and terminal.

Some categories exhibit a richness of structure similar to the category of vectorspaces: all kernels exist (nullspaces), homsets are themselves abelian groups (or even vectorspaces), et.c. With the correct amount of richness, the category is called an Abelian category, and forms the basis for homological algebra, where techniques from topology are introduced to study algebraic objects.

One of the core requirements for an Abelian category is the existence of zero objects in it: if a category does have a zero object 0, then for any Hom(A,B), the composite A\to 0\to B is a uniquely determined member of the homset, and the addition on the homsets of an Abelian category has this particular morphism as its identity element.

Pointless sets and generalized elements

Arrows to initial objects and from terminal objects are interesting too - and as opposed to the arrows from initial and to the terminals, there is no guarantee for these arrows to be uniquely determined. Let us start with arrows A\to 0 into initial objects.

In the category of sets, such an arrow only exists if A is already the empty set.

In the category of all monoids, with monoid homomorphisms, we have a zero object, so such an arrow is uniquely determined.

For arrows 1\to A, however, the situation is significantly more interesting. Let us start with the situation in Set. 1 is some singleton set, hence a function from 1 picks out one element as its image. Thus, at least in Set, we get an isomorphism of sets A = Hom(1,A).

As with so much else here, we build up a general definition by analogy to what we see happening in the category of sets. Thus, we shall say that a global element, or a point, or a constant of an object A in a category with terminal objects is a morphism x:1\to A.

This allows us to talk about elements without requiring our objects to even be sets to begin with, and thus reduces everything to a matter of just morphisms. This approach is fruitful both in topology and in Haskell, and is sometimes called pointless.

The important point here is that we can replace function application f(x) by the already existing and studied function composition. If a constant x is just a morphism x:1\to A, then the value f(x) is just the composition f\circ x:1\to A\to B. Note, also, that since 1 is terminal, it has exactly one point.

In the idealized Haskell category, we have the same phenomenon for constants, but slightly disguised: a global constant is 0-ary function. Thus the type declaration

x :: a

can be understood as syntactic sugar for the type declaration

x :: () -> a

thus reducing everything to function types.

Similarly to the global elements, it may be useful to talk about variable elements, by which we mean non-specified arrows f:T\to A. Allowing T to range over all objects, and f to range over all morphisms into A, we are able to recover some of the element-centered styles of arguments we are used to. We say that f is parametried over T.

Using this, it turns out that f is a monomorphism if for any variable elements x,y:T\to A, if x\neq y then f\circ x\neq f\circ y.

Internal and external hom

If f:B\to C, then f induces a set function Hom(A,f):Hom(A,B)\to Hom(A,C) through Hom(A,f)(g) = f\circ g. Similarly, it induces a set function Hom(f,A):Hom(C,A)\to Hom(
B,A) through Hom(f,A)(g) = g\circ f.

Using this, we have an occasionally enlightening

Proposition An arrow f:B\to C is

  1. a monomorphism if and only if Hom(A,f) is injective for every object A.
  2. an epimorphism if and only if Hom(f,A) is injective for every object A.
  3. a split monomorphism if and only if Hom(f,A) is surjective for every object A.
  4. a split epimorphism if and only if Hom(A,f) is surjective for every object A.
  5. an isomorphism if and only if any one of the following equivalent conditions hold:
    1. it is both a split epi and a mono.
    2. it is both an epi and a split mono.
    3. Hom(A,f) is bijective for every A.
    4. Hom(f,A) is bijective for every A.

For any A,B in a category, the homset is a set of morphisms between the objects. For many categories, though, homsets may end up being objects of that category as well.

As an example, the set of all linear maps between two fixed vector spaces is itself a vector space.

Alternatively, the function type a -> b is an actual Haskell type, and captures the morphisms of the idealized Haskell category.

We shall return to this situation later, when we are better equipped to give a formal scaffolding to the idea of having elements in objects in a category act as morphisms. For now, we shall introduce the notations [A\to B] or B^A to denote the internal hom - where the morphisms between two objects live as an object of the category. This distinguishes B^A from Hom(A,B).

To gain a better understanding of the choice of notation, it is worth noting that |Hom_{Set}(A,B)|=|B|^{|A|}.


Passing mark requires at least 4 of 11.

  1. Suppose g,h are two-sided inverses to f. Prove that g=h.
  2. (requires some familiarity with analysis) There is a category with object \mathbb R (or even all smooth manifolds) and with morphisms smooth (infinitely differentiable) functions f:\mathbb R\to\mathbb R. Prove that being a bijection does not imply being an isomorphisms. Hint: What about x\mapsto x^3?. Wikipedia definition of smoothness: [9]. Moral of the definition is that all derivatives and derivatives of derivatives, et.c. are everywhere finite and continuous.
  3. (try to do this if you don't do 2) In the category of posets, with order-preserving maps as morphisms, show that not all bijective homomorphisms are isomorphisms. See the notes for Lecture 1 for details on posets and order-preserving maps, as well as wikipedia links.
  4. Consider the partially ordered set P as a category. Prove: every arrow is both monic and epic. Is every arrow thus an isomorphism?
  5. What are the terminal and initial objects in a poset? Give an example each of a poset that has both, either and none. Give an example of a poset that has a zero object.
  6. What are the terminal and initial objects in the category with objects graphs and morphisms graph homomorphisms? Definition of a graph and a graph homomorphism occurred in Lecture 1.
  7. Prove that if a category has one zero object, then all initial and all terminal objects are all isomorphic and they are all zero objects.
  8. Prove that the composition of two monomorphisms is a monomorphism and that the composition of two epimorphisms is an epimorphism. If g\circ f is monic, do any of g,f have to be monic? If the composition is epic, do any of the factors have to be epic?
  9. Verify that the equivalence relation used in defining subobjects really is an equivalence relation. Further verify that this fixes the motivating problem.
  10. Describe a representative subcategory each of:
    • The category of vectorspaces over the reals.
    • The category formed by the preordered set of the integers \mathbb Z and the order relation a\leq b if a|b. Recall that a preordered set is a set P equipped with a relation \leq that fulfills transitivity and reflexivity, but not necessarily anti-symmetry.
  11. * An arrow f:A\to A in a category C is an idempotent if f\circ f = f. We say that f is a split idempotent if there is some g:A\to B, h:B\to A such that h\circ g=f and g\circ h=1_B. Show that in Set, f is idempotent if and only if its image equals its set of fixed points. Show that every idempotent in Set is split. Give an example of a category with a non-split idempotent.