# What is a Functor? Definition and Examples, Part 1

Next up in our mini series on basic category theory: functors! We began this series by asking *What is category theory, anyway?* and last week walked through the precise definition of a category along with some examples. As we saw in example #3 in that post, a functor can be viewed an arrow/morphism between two categories.

...every sufficiently good analogy is yearning to become a functor.

- John Baez

## What is a functor?

More precisely, a functor $F:\mathsf{C}\to\mathsf{D}$ from a category $\mathsf{C}$ to a category $\mathsf{D}$ consists of some data that satisfies certain properties.

### The Data

- an object $F(x)$ in $\mathsf{D}$ for every object $x$ in $\mathsf{C}$
- a morphism $F(x)\overset{F(f)}{\longrightarrow}F(y)$ in $\mathsf{D}$ for every morphism $x\overset{f}{\longrightarrow}y$ in $\mathsf{C}$

### The Properties

- $F$ respects composition, i.e. $F(g\circ f)=F(g)\circ F(f)$ in $\mathsf{D}$ whenever $g$ and $f$ are composable morphisms in $\mathsf{C}.$
- $F$ sends identities to identities, i.e. $F(\text{id}_x)=\text{id}_{F(x)}$ for all objects $x$ in $\mathsf{C}.$

## Example #1: a functor between groups

We noted last week that every group $G$ can be viewed as a one-object category called $\mathsf{B}G$. Suppose then that $\mathsf{B}G$ and $\mathsf{B}H$ are two such categories. What would a functor $F:\mathsf{B}G\to\mathsf{B}H$ look like?

To start, it must send the single object ${\color{RubineRed}\bullet}$ of $\mathsf{B}G$ to the single object ${\color{ProcessBlue}\bullet}$ of $\mathsf{B}H$. Moreover, any morphism ${\color{RubineRed}\bullet}\overset{g}{\longrightarrow} {\color{RubineRed}\bullet}$, which, you'll remember, is just a group element $g\in G$, must map to a morphism ${\color{ProcessBlue}\bullet}\overset{F(g)}{\longrightarrow} {\color{ProcessBlue}\bullet}$. That is, $F(g)$ must be an element of $H$. The composition property requires that $F(g\circ g')=F(g)\circ F(g')$ for all group elements $g,g'\in G$. And finally, if ${\color{RubineRed}e}$ denotes the identity morphism on ${\color{RubineRed}\bullet}$ (i.e. the identity element in $G$), then we must have $F({\color{RubineRed}e})={\color{ProcessBlue}e}$ where ${\color{ProcessBlue}e}$ is the identity morphism on ${\color{ProcessBlue}\bullet}$ (i.e. the identity element in $H$).

So what's a functor $F:\mathsf{B}G\to\mathsf{B}H$? It's precisely a group homomorphism from $G$ to $H$!

So in this example, a *functor* is just a *function* (which happens to be compatible with the group structure). But what if the domain/codomain of a functor has more than one object in it?

## Example #2: the fundamental group

There is a functor $\pi_1:\mathsf{Top}\to\mathsf{Group}$ that associates to every topological space* $X$ a group $\pi_1(X)$, called the *fundamental group of $X$*, and which sends every continuous function $X\overset{f}{\longrightarrow}Y$ to a group homomorphism $\pi_1(X)\overset{\pi_1(f)}{\longrightarrow}\pi_1(Y)$.

The elements of $\pi_1(X)$ are (homotopy classes of) maps of the circle into the space $X$. But don't worry if you're not familiar with the phrase "homotopy classes of." Just know that informally $\pi_1$ is a "hole-detector"---it keeps track of the various loops in $X$. And knowing that $\pi_1$ is *functorial* allows you to prove cool things like Brouwer's fixed point theorem. For instance, see the proof of Theorem 1.3.3 here.
Now it turns out that *the fundamental group is an invariant of a topological space.* In other words, if $X$ and $Y$ are homeomorphic spaces then their fundamental groups are isomorphic. (Even better, this sentence is still true if we replace "homeomorphic" by "homotopic" which is a slightly weaker notion of "sameness.") This gives us a handy way to distinguish spaces: if $X$ and $Y$ have *non*isomorphic fundamental groups, then $X$ and $Y$ are guaranteed to be topologically *different*.

##### (Actually, there's nothing special about the number 1 here. For each $n\geq 1$, there is a functor $\pi_n:\mathsf{Top}\to\mathsf{Group}$ that sends $X$ to $\pi_n(X)$ which is again, informally, the group whose elements are maps of the $n$-dimensional sphere into $X$. The groups $\pi_n(X)$ for $n>1$ are called the higher homotopy groups of $X$. And when $X$ is a sphere, cool and spooky things happen.)

In practice it can be helpful to think of a functor $F:\mathsf{C}\to\mathsf{D}$ as encoding an invariant of some sort.

This is because if two objects $x$ and $y$ are "the same" in $\mathsf{C}$, then $F(x)$ and $F(y)$ must be "the same" in $\mathsf{D}$. By "the same," I'm referring to the precise notion of *isomorphic:*

In any category, a morphism $x\overset{f}{\longrightarrow}y$ is said to be an **isomorphism** if there exists a morphism $y\overset{g}{\longrightarrow}x$ so that $g\circ f=\text{id}_x$ and $f\circ g=\text{id}_y$.

Isomorphisms in $\mathsf{Set}$ are called bijections, isomorphisms in $\mathsf{Top}$ are called homeomorphisms, isomorphisms in $\mathsf{Man}$ (the category of smooth manifolds and smooth maps) are called diffeomorphisms, isomorphisms in $\mathsf{Vect}_{\mathbb{k}}$ (the category of $\mathbb{k}$-vector spaces with linear transformations) are called, well, *isomorphisms,* and so on.** So we can rephrase the above more formally: "If $f$ is an isomorphism between $x$ and $y$ then $F(f)$ is an isomorphism between $F(x)$ and $F(y)$." (The proof isn't tricky - it follows directly from the definitions!)
Or, to put it simply, *functors preserve isomorphisms*.
Well, I have a couple more examples of functors that I'm excited to share with you---one of them makes an appearance in a familiar equation from calculus!---but I'll save them for tomorrow.

Stay tuned!

*Technically, they are *pointed* topological spaces, i.e. spaces where you declare a certain point, called a *basepoint*, to be special/distinguished. So really, $\pi_1$ is from $\mathsf{Top}_*$ to $\mathsf{Group}$ where $\mathsf{Top}_*$ denotes the category of pointed spaces with basepoint-preserving maps as morphisms.

**Fun fact: Categories in which every morphism is an isomorphism are given a special name: **groupoids**. (Can you guess why?) Every group, then, is precisely a one-object groupoid. And *yes!* The fundamental groupoid of a topological space is a thing! Perhaps we'll chat about it in a future post....