Category theory


From Cakes, custard and category theory by Eugenia Cheng:

Category theory emphasises the context in which we’re thinking about things, rather than just the things themselves.

Category theory seeks to highlight the context you’re thinking about at that moment, to emphasise its importance and raise our awareness of it. The way it does it [..] is by emphasising relationships between things rather than just their intrinsic characteristics.

Something basic

General

Limit of a functor

Category

Consists of

Example: Set

Example: Categorical logic

More examples

Morphism

Just functions?? Or are functions just a kind of morphisms??

Monomorphisms

aka monic.

An arrow f:B→C is monic if for any two arrows g:A→B and h:A→B in the category, f∘h = g∘h then g = h.

I guess we can say

∀(g h:A→B), (f∘g = f∘h) -> (g = h)

Epimorphisms

aka epic.

Sounds like a 'reversed' form of monomorphism..

An arrow f:A→B is epic if for any two arrows g:B→C and h:B→C of the category, g∘f = h∘f means g = h.

Partial ordering

≤ₚ

Monotone function

Order preserving function. (Sort of like covariance in type theory??)

Monoid

(M,⋅,e) A set M equipped with:

TL;DR: has associative operation with identity element

Monoid homomorphism

f : M -> M'

where M and M' are monoids.

(M, ⋅, e) and (M', ⋅', e')

Properties:

Natural transformation

   α
F ==> G

This means that α is a natural transformation of F to G.

Natural isomorphism

Terminal object (1)

An object 1 of a category C is a terminal object if from any object q∈C, there exists a unique morphism from q to 1.

Terminal category

Adjunction

A relationship between two functors.

F: C ⇆ D : U

'Sort of' means that the categories C and D are 'kinda related'.

Then the functors F and U are said to be adjoint functors.

Monad

'a monoid in the category of endofunctors'. ʷ

Free monad: Monad with no additional constraints


Monads aka triples: (T, η, μ)

        η               μ
T A ----->---- T² A ----->---- T A
   |             |              |
   |             |              |
id v             v μ            v id
   |             |              |
   |             |              |
   +----->----- T A -----<------+                

Essentially, monad is a functor that comes with some additional rules (that supports some additional structure ):

The flattening function μ is called join in Haskell.

-- Like μ
join :: Monad m => m (m a) -> m a

-- Like η
return :: Monad m => a -> M a

Internal vs external binary operation

Horizontal vs vertical composition

Vertical composition.

Consider the 2-category Cat.

Whiskering

Another name for horizontal composition in a 2-category ??

n-category

Category of categories at n levels.

2-category

Category of categories.

k-morphism

A table

Category Objects Arrows
Set Sets Total functions
Pfn Sets Partial functions
Poset Posets monotone functions
Mon Monoids monoid homomorphism
Vect Vector spaces Linear transforms
Top Toplogical spaces Continuous functions
Grp Groups Group homomorphisms

Diagram

Diagrams in categories. Propreties of the category satisfied => the diagram commutes.

           f'
  X →-→-→-→-→-→-→-→-→-→- Z
  ↓                      ↓
g'↓                      ↓ g
  ↓                      ↓
  W →-→-→-→-→-→-→-→-→-→- Y
           f

If this diagram commutes, it means that f∘g' = g∘f'.

Many computer science people prefer to say f;g instead of g∘f (ie, by sort of reversing the order of functions).

Another example:

               succ-int
      int →-→-→-→-→-→-→-→-→- int
       ↓                      ↓
       ↓                      ↓
toreal ↓                      ↓ toreal
       ↓                      ↓
       ↓                      ↓
     real →-→-→-→-→-→-→-→-→- real
               succ-real

This says that toreal(succ-int(int)) ≡ succ-real(toreal(int)).

When a functional language is described as a category, commutative diagrams can be used to assert the validity of program transformations in which the order of operations is permuted.

Product

Products within a category. ie, with objects of the same category.

            C
  +-←-←-←-←-+-→-→-→-→-+
  ↓         ⇣         ↓
  ↓         ⇣         ↓
f ↓         ⇣ ⟨f,g⟩   ↓ g
  ↓         ⇣         ↓
  ↓         ⇣         ↓
  A-←-←-←-A x B-→-→-→-B
      π₁          π₂

(dashed arrows are assertions. Properties that should hold when the rest of the connections in the commutative diagram holds).

ie,

If

then

Coproduct

Written as one of these

Coproduct of two objects A and B is (A+B) along with two arrows ι₁ and ι₂.

If

then

      ι₁         ι₂
  A-→-→-→ A + B ←-←-← B
  ↓         ⇣         ↓
  ↓         ⇣         ↓
f ↓         ⇣ [f,g]   ↓ g
  ↓         ⇣         ↓
  ↓         ⇣         ↓
  +-→-→-→-→ C ←-←-←-←-+

Disjoint-union ʷ

Set theory instance of coproduct is disjoint-union.

It's like a union, where it's still possible to know which element came from which set.

(Kind of reminds one of a wedding with a prenuptial agreement.)

Eg:

A = {1,2,3}
B = {2,3,4}

A + B = {(1,A), (2,A), (3,A), (2,B), (3,B), (4,B)}

Functor

Forgetful functor:

Example:

U: Monoid -> Set

which sends:

String diagrams

Hom-set

Closed Cartesian Category (CCC)

Corresponds to simply typed lambda calculus.

T-algebra ʷ

Given a monad (T, η, μ) on a category C, T-algebra consists of objects of C acted upon by T.

A T-algebra (x,h) where:

(Remember, T is an endofunctor of type C -> C where C is the category.)

T-algebras form a category known as Eilenberg-Moore category (Cᵀ).

Adjunction

For example, for two categories C and D,

L: C -> D
R: D -> C

Extension

New terms

Some 'standard' categories

References

Category theory vs Homotopy theory

Homotopy theory Category theory
Type Spaces Higher dimensional groupoids

Reboot

Category theory in context

Category Object Morphism
Set Sets Functions
Top Topological spaces Continuous functions
Group Set Group homomorphism
Poset Set Order preserving maps

A functor F: C → D consists of:

Awodhey

Rel is a category

Continuing..

It's the arrows that really matter!

Functor

Some categories

Slice category (𝐂/C)

Slice category 𝐂/C of a category 𝐂 over an object C

C = base object

f : X  -> C
f': X' -> C
a : X  -> X'

f'∘a = f

Free monoid

Universal mapping property (UMP)

A monoid M(A) is generated from a set A.

Wikipedia: A monoid is free if it is isomorphic to the free monoid on some set.

Notations:

Given:

then there is a unique monoid homomorphism f̅: M(A) -> N such that:

DBT: 'monoid is a category with only one object'. How?

PS1

Background

Hom-set of a category: set of morphisms between two given objects of the category:

A functor does this:

Faithful functor (injective):

Full functor (surjective):

Fully faithful functor = bijective

1

Categories:

Is ℕ and ℤ isomorphic ???? No, I guess. But why?

3

Every monoid is like an untyped program.

Resources

Glossary


  1. Baez, J. and Stay, M., 2011. Physics, topology, logic and computation: a Rosetta Stone (pp. 95-172). Springer Berlin Heidelberg.
    
    ↩︎