After learning Haskell I finally decided to jump the train and start learning Category Theory with the help of the book Conceptual Mathematics – A first introduction to categories. I greatly encourage you to do the same, especially if you are a self-taught programmer.
The following is a simple cheat sheet that is meant to help me (and maybe you?) remember all those new words and constructs. Please poke me if you find any errors or have an improvement suggestion.
The order of operator application does not matter.
The order of the operands does not matter.
Idempotent [idem + potence = (same + power)]
The endomorphism is idempotent under composition if
The automorphism is an involution of A if
What makes a Category?
– Morphisms (maps)
– For each object in an identity map must exist.
– For each pair of maps and a composite map must exist.
– Composition must follow the identity and associative laws:
Monomorphism (injective) [monos = one]
– left cancellative
A monomorphism which has a left inverse for which , i.e. a retraction.
Epimorphism (surjective) [epis = against]
– right cancellative
An epimorphism which has a right inverse for which , i.e. a section.
Isomorphism (bijective) [isos = equal]
– is a monomorphism and epimorphism
– domain and codomain have the ‘same size’
Automorphism [auto = self]
– is an isomorphism
– also called permutation
Homomorphism [homos = same]
– structure preserving map
– if and are groups, then f is a homomorphism if
Endomorphism [endos = inside]
– is a homomorphism
A map is called constant if all elements of A are send onto the same element of B.
Division of maps
Determination or extension
If it has a solution g, we say h is ‘determined by’ f or h ‘depends only on’ f.
Special case of the determination problem in which and
– is an epimorphism
– left inverse of
Choice or lifting
Special case of the choice problem in which and
– is a monomorphism
– right inverse of