Algebra - 3

Uploaded Last edited

In this entry, we will resolve at least one promise from the last entry.

1 - Cones as Comma Categories

Last time, we saw that given an index category J\mathsf{J}, the category of diagrams in C\mathsf{C} of shape J\mathsf{J} is just the functor category Diag⁡(J,C)\operatorname{Diag}(\mathsf{J}, \mathsf{C}).

We took an interest in special diagrams that very much resemble objects of C\mathsf{C} itself, called constant diagrams A‾\underline{A}, which take every object of J\mathsf{J} to the object A∈CA \in \mathsf{C}, and every morphism of J\mathsf{J} to the identity on AA.

In particular, we saw the diagonal functor Δ:C→Diag⁡(J,C)\Delta: \mathsf{C} \to \operatorname{Diag}(\mathsf{J}, \mathsf{C}), which takes each object AA to the constant diagram A‾\underline{A}, and each morphism f:A→Bf: A \to B to the natural transformation A‾⇒B‾\underline{A} \Rightarrow \underline{B} whose every component is ff.

Moreover, we saw that a fixed diagram D∈Diag⁡(J,C)D \in \operatorname{Diag}(\mathsf{J},\mathsf{C}) can equivalently be represented as a functor D:1→Diag⁡(J,C)\mathscr{D}: \mathsf{1} \to \operatorname{Diag}(\mathsf{J},\mathsf{C}), where the lone object ∗* of 1\mathsf{1} is sent to DD.

Thus, we saw that the category of cones over DD in C\mathsf{C} is the comma category of the two functors Δ,D\Delta, \mathscr{D}.

Commutative diagram

The comma category (Δ↓D)(\Delta \downarrow \mathscr{D}) has objects (A,∗,u:Δ(A)→D(∗))(A, *, u: \Delta(A) \to \mathscr{D}(*)), that is, pairs (A,u:A‾⇒D)(A, u: \underline{A} \Rightarrow D), exactly a cone over DD with apex AA. We may as well take objects of this category as the definition of a cone, but it’s nice to check that it embodies the naive definition of a cone.

Notice that uu is a natural transformation between two functors A‾,D\underline{A}, D, both from J\mathsf{J} to C\mathsf{C}. But notice that for any j∈Jj \in \mathsf{J}, A‾(j)=A\underline{A}(j) = A, and for any morphism s:j→j′s: j \to j' in J\mathsf{J}, A‾(s)=1A\underline{A}(s) = 1_A. In particular, every component of uu, call it uju_j, is a morphism A→D(j)A \to D(j).

Now consider a morphism s:j→j′s: j \to j' in J\mathsf{J}. The naturality square looks like:

Commutative diagram

Since the top arrow is 1A1_A, this simplifies to the triangle:

Commutative diagram

with commutativity condition D(s)∘uj=uj′,D(s) \circ u_j = u_{j'}, for every morphism s:j→j′s: j \to j' in J\mathsf{J}. This is exactly the naive, componentwise definition of a cone: a collection of morphisms uj:A→D(j)u_j: A \to D(j), one for each object of J\mathsf{J}, compatible with every morphism of the diagram.

What are morphisms here? Of course, as with any comma category, a morphism in (Δ↓D)(\Delta \downarrow \mathscr{D}) from (P,u)(P,u) to (Q,v)(Q,v) is a pair of morphisms (f:P→Q, 1∗:∗→∗)(f: P\to Q,\ 1_*: *\to *), one in C\mathsf{C}, one in 1\mathsf{1}. Since 1\mathsf{1} has only the identity morphism, this is really just identified with a morphism f:P→Qf: P \to Q in C\mathsf{C}.

Of course, it’s not just any morphism, but one making the following square commute:

Commutative diagram

Since D(1∗)=1D\mathscr{D}(1_*) = 1_D, this collapses to v∘Δ(f)=u,v \circ \Delta(f) = u, an equation of natural transformations P‾⇒D\underline{P} \Rightarrow D. That is, f:P→Qf: P \to Q is a morphism of cones exactly when postcomposing QQ‘s cone with Δ(f)\Delta(f) recovers PP‘s cone.

In particular, Δ(f)\Delta(f) is the natural transformation from the constant diagram at PP to the constant diagram at QQ, all of whose components are ff. We can use componentwise reasoning here, but at the end of the day, objects in the target category Diag⁡(J,C)\operatorname{Diag}(\mathsf{J},\mathsf{C}) are all functors, and morphisms are natural transformations, and the equation above is an equation of natural transformation composition.

That is to say, we have the following commutative (as an evaluation of the one above) diagram, whose objects are functors and whose morphisms are natural transformations:

Commutative diagram

Notice that each P‾,Q‾,D\underline{P}, \underline{Q}, D are functors from J\mathsf{J} to C\mathsf{C}. Thus, we just want the components vΔ(f)(j)∘ujv_{\Delta(f)_{(j)}} \circ u_j wait, let’s restate this properly: we want, for each j∈Jj \in \mathsf{J}, vj∘Δ(f)j=uj.v_j \circ \Delta(f)_j = u_j. Notice that for any object jj, Δ(f)j\Delta(f)_j simply sends the object P‾(j)=P\underline{P}(j) = P to the object Q‾(j)=Q\underline{Q}(j) = Q via ff, that is, Δ(f)j=f\Delta(f)_j = f for every jj. So every component of uu is a morphism from PP to D(j)D(j) in C\mathsf{C}, and every component of vv is a morphism from QQ to D(j)D(j) in C\mathsf{C}, call them uj,vju_j, v_j respectively. We want the triangle to commute, that is, vj∘f=ujfor each j.v_j \circ f = u_j \quad \text{for each } j.


2 - Whiskering

Composing natural transformations can be extended beyond parallel functors.

Imagine categories A,B,C\mathsf{A}, \mathsf{B}, \mathsf{C}, functors F,G:A→BF, G: \mathsf{A}\to\mathsf{B}, and functors H,K:B→CH, K: \mathsf{B}\to\mathsf{C}. Let α:F⇒G\alpha: F\Rightarrow G be a natural transformation, and β:H⇒K\beta: H\Rightarrow K be a natural transformation.

Commutative diagram

with α:F⇒G\alpha: F\Rightarrow G drawn between the two arrows A→B\mathsf{A}\to\mathsf{B}, and β:H⇒K\beta: H\Rightarrow K drawn between the two arrows B→C\mathsf{B}\to\mathsf{C}.

Let’s first tackle the simplest piece we actually need: post-composing a single functor with a natural transformation. Suppose we forget β\beta for a moment, and just have α:F⇒G\alpha: F \Rightarrow G (both A→B\mathsf{A}\to\mathsf{B}), and a single functor H:B→CH: \mathsf{B}\to\mathsf{C}. We want to build a natural transformation HF⇒HGHF \Rightarrow HG, using α\alpha and HH alone.

For each object X∈AX \in \mathsf{A}, α\alpha gives us a morphism αX:F(X)→G(X)\alpha_X: F(X) \to G(X) in B\mathsf{B}. Since HH is a functor, we can apply it: H(αX):HF(X)→HG(X)H(\alpha_X): HF(X) \to HG(X), a morphism in C\mathsf{C}. Define (Hα)X:=H(αX).(H\alpha)_X := H(\alpha_X).

Check naturality. For s:X→Ys: X\to Y in A\mathsf{A}, we need (Hα)Y∘HF(s)=HG(s)∘(Hα)X(H\alpha)_Y \circ HF(s) = HG(s) \circ (H\alpha)_X, i.e. H(αY)∘H(F(s))=H(G(s))∘H(αX)H(\alpha_Y)\circ H(F(s)) = H(G(s))\circ H(\alpha_X). Since HH is a functor, this is H(αY∘F(s))=H(G(s)∘αX)H(\alpha_Y \circ F(s)) = H(G(s)\circ \alpha_X), and this follows by applying HH to both sides of α\alpha‘s own naturality square, αY∘F(s)=G(s)∘αX\alpha_Y\circ F(s) = G(s)\circ\alpha_X, which holds since α\alpha is natural.

So Hα:HF⇒HGH\alpha: HF \Rightarrow HG is a genuine natural transformation, built purely from α\alpha and HH. This operation, sticking a functor onto one side of a natural transformation, is called whiskering.

On the other hand, one wonders the following setup: FF a functor from A\mathsf{A} to B\mathsf{B}, and H,KH,K functors from B\mathsf{B} to C\mathsf{C}, with a natural transformation β:H⇒K\beta: H\Rightarrow K between them. We want a natural transformation between HFHF and KFKF.

Of course, our gut tells us that we must define the component (βF)X(\beta F)_X to simply be βF(X)\beta_{F(X)}, that is, pre-composing FF with a natural transformation has components given by β\beta, evaluated after first applying the functor FF: (βF)X:=βF(X).(\beta F)_X := \beta_{F(X)}.

Check naturality. For s:X→Ys: X\to Y in A\mathsf{A}, we need (βF)Y∘HF(s)=KF(s)∘(βF)X(\beta F)_Y \circ HF(s) = KF(s)\circ(\beta F)_X, i.e. βF(Y)∘H(F(s))=K(F(s))∘βF(X).\beta_{F(Y)} \circ H(F(s)) = K(F(s))\circ \beta_{F(X)}. But this is exactly β\beta‘s own naturality square, applied at the morphism F(s):F(X)→F(Y)F(s): F(X)\to F(Y) in B\mathsf{B}, which holds since β\beta is natural.

So βF:HF⇒KF\beta F: HF \Rightarrow KF is the needed natural transformation.

Now to compose α\alpha with β\beta:

Commutative diagram

The question becomes: how can we make a natural transformation between the functors HFHF and KGKG? And if our whiskering and usual vertical composition are worthy of the title “composite,” it had better be that if we have multiple “composites” of α\alpha and β\beta, they turn out to be equal.

The first way is: whisker FF before β:H⇒K\beta: H \Rightarrow K to get βF:HF⇒KF\beta F: HF \Rightarrow KF. Now whisker KK after α:F⇒G\alpha: F \Rightarrow G to get Kα:KF⇒KGK\alpha: KF \Rightarrow KG. Notice that both these transformations are between functors from A\mathsf{A} to C\mathsf{C}, i.e. we can compose them as usual, giving us a candidate Kα∘βFK\alpha \circ \beta F.

Another way is: whisker HH after α:F⇒G\alpha: F \Rightarrow G to get Hα:HF⇒HGH\alpha: HF \Rightarrow HG. Now whisker GG before β:H⇒K\beta: H \Rightarrow K to get βG:HG⇒KG\beta G: HG \Rightarrow KG, giving us another candidate βG∘Hα\beta G \circ H\alpha.

We know that both these candidates are of course valid natural transformations, however, they had better be equal, that is, have all the same components.

Consider an object XX in A\mathsf{A}. Indeed, αX:F(X)→G(X)\alpha_X: F(X) \to G(X) in B\mathsf{B}. Thus, H(αX):H(F(X))→H(G(X))H(\alpha_X): H(F(X)) \to H(G(X)) is a morphism in C\mathsf{C}. Similarly, βG(X):H(G(X))→K(G(X))\beta_{G(X)}: H(G(X)) \to K(G(X)); the vertical composite of those two simply composes both components.

On the other hand, we have βF(X):H(F(X))→K(F(X))\beta_{F(X)}: H(F(X)) \to K(F(X)), a morphism in C\mathsf{C}, and similarly K(αX):K(F(X))→K(G(X))K(\alpha_X): K(F(X)) \to K(G(X)).

Commutative diagram

Staring at the above diagram, it is not hard to see that it’s just the naturality square for β\beta, applied at the morphism αX:F(X)→G(X)\alpha_X: F(X) \to G(X). Thus, the two paths are equal.


3 - Free Groups

We shall seemingly cut to something else, but don’t worry, we will bring it back.

Suppose you have a set SS. One might think about defining the set of all finite-length words in SS, this depicting some sort of monoid-type structure, with the empty word serving as an identity.

It’s not entirely clear how the binary operator is recovered here, and what the rules should be. So let’s build it up.

Notice, the empty set has the capacity only to make the empty word, so we know that the free group on the empty set should just be, up to isomorphism, the trivial group with just an identity.

What about a singleton? Well, you have S={a}S = \{a\}. You will have to include the empty word, and a symbol that is the inverse of aa, call it a−1a^{-1}. It is not difficult to see that in this case, FG(S)FG(S) consists of words ama^m or (a−1)m(a^{-1})^m for some m∈Nm \in \mathbb{N} (do an induction argument, or otherwise notice that aa−1aa^{-1} or a−1aa^{-1}a, as subwords, evaluate to the empty word).

In particular, defining a−z:=(a−1)za^{-z} := (a^{-1})^z and a0a^0 to be the empty word, it is easy to see that this group is isomorphic to (Z,+)(\mathbb{Z}, +).


4 - The Fundamental Group of Topological Spaces

Let (X,x∗)(X, x^*) be a topological space with a chosen basepoint. One way to study a topological space is to look at the algebra of loops (up to continuous deformation) on that space.

Indeed, a loop is a continuous map l:[0,1]→Xl: [0,1] \to X with l(0)=l(1)=x∗l(0) = l(1) = x^*. At this point, the reader can stop and check out my topology note.

Of course, we want to consider homotopy classes of such maps. We need a product on Hom⁡([0,1],X)/∼\operatorname{Hom}([0,1],X)/\sim, where ∼\sim is the homotopy relation.

Well, let [l],[v][l], [v] be two homotopy classes. By choosing representatives l,vl, v, we may construct l∗1/2v:[0,1]→Xl *_{1/2} v: [0,1] \to X, defined by

t↦{l(2t)t∈[0,1/2]v(2t−1)t∈[1/2,1]t \mapsto \begin{cases} l(2t) & t \in [0, 1/2] \\ v(2t-1) & t \in [1/2, 1] \end{cases}

Again, we invoke the gluing lemma from the topology note to show that l∗vl*v is a continuous map. But of course, we want the induced class [l∗v][l*v] to be well-defined, that is to say, if l∼l′l \sim l' and v∼v′v \sim v', we want l∗v∼l′∗v′l*v \sim l'*v'.

Let H1,H2:[0,1]2→XH_1, H_2: [0,1]^2 \to X be the homotopies between l,l′l, l' and v,v′v, v' respectively. That is, H1,H2H_1, H_2 are continuous maps (product topology on [0,1]2[0,1]^2) with H1(_,0)=lH_1(\_,0) = l, H1(_,1)=l′H_1(\_,1) = l', and H2(_,0)=vH_2(\_,0) = v, H2(_,1)=v′H_2(\_,1) = v'.

Notice that these loops are basepoint preserving, that is, every homotopy slice H1(_,s)H_1(\_,s) and H2(_,s)H_2(\_,s) must be a continuous map [0,1]→X[0,1] \to X such that 0,10, 1 both go to the basepoint x∗x^*.

This suggests we should glue H1H_1 and H2H_2 at t=1/2t=1/2, at double speed, for every fixed value of ss, exactly as we did for l∗vl*v itself. Define H:[0,1]2→XH: [0,1]^2 \to X by

H(t,s)={H1(2t, s)t∈[0,1/2]H2(2t−1, s)t∈[1/2,1]H(t,s) = \begin{cases} H_1(2t,\,s) & t \in [0, 1/2] \\ H_2(2t-1,\,s) & t \in [1/2, 1] \end{cases}

Homotopy of glued loops.png

At the seam t=1/2t=1/2, the two branches must agree for every ss: the top branch gives H1(1,s)H_1(1,s), the bottom gives H2(0,s)H_2(0,s). Since H1,H2H_1, H_2 are basepoint-preserving homotopies, H1(1,s)=x∗=H2(0,s)H_1(1,s) = x^* = H_2(0,s) for every s∈[0,1]s \in [0,1], so the two definitions agree along the entire seam, not merely at s=0,1s=0,1.

By the gluing lemma, HH is therefore continuous. Checking the endpoints in ss:

H(t,0)={H1(2t,0)=l(2t)t∈[0,1/2]H2(2t−1,0)=v(2t−1)t∈[1/2,1]=(l∗v)(t),H(t,0) = \begin{cases} H_1(2t,0) = l(2t) & t\in[0,1/2] \\ H_2(2t-1,0) = v(2t-1) & t\in[1/2,1] \end{cases} = (l*v)(t), H(t,1)={H1(2t,1)=l′(2t)t∈[0,1/2]H2(2t−1,1)=v′(2t−1)t∈[1/2,1]=(l′∗v′)(t).H(t,1) = \begin{cases} H_1(2t,1) = l'(2t) & t\in[0,1/2] \\ H_2(2t-1,1) = v'(2t-1) & t\in[1/2,1] \end{cases} = (l'*v')(t).

So HH is a homotopy from l∗vl*v to l′∗v′l'*v', and moreover HH is itself basepoint preserving (each slice H(_,s)H(\_,s) sends 00 and 11 to x∗x^*, since H1(0,s)=x∗=H2(1,s)H_1(0,s)=x^*=H_2(1,s) for every ss). Thus l∗v∼l′∗v′l*v \sim l'*v', and the product [l]∗[v]:=[l∗v][l]*[v] := [l*v] is well defined on homotopy classes.

Now, to show that this product is associative, it is sufficient to show that ∗* on representatives is associative up to homotopy. That is, to show that (l∗v)∗u∼l∗(v∗u)(l*v)*u \sim l*(v*u).

Associativity

Let’s just do the interval math over here.

(l∗v)∗u(l*v)*u expands (unwinding the outer product, then the inner one) to

((l∗v)∗u)(t)={l(4t)t∈[0,1/4]v(4t−1)t∈[1/4,1/2]u(2t−1)t∈[1/2,1]((l*v)*u)(t) = \begin{cases} l(4t) & t\in[0,1/4] \\ v(4t-1) & t\in[1/4,1/2] \\ u(2t-1) & t\in[1/2,1] \end{cases}

and similarly, l∗(v∗u)l*(v*u) expands to

(l∗(v∗u))(t)={l(2t)t∈[0,1/2]v(4t−2)t∈[1/2,3/4]u(4t−3)t∈[3/4,1](l*(v*u))(t) = \begin{cases} l(2t) & t\in[0,1/2] \\ v(4t-2) & t\in[1/2,3/4] \\ u(4t-3) & t\in[3/4,1] \end{cases}

Notice the two are literally the same three pieces, ll then vv then uu, just with the breakpoints sitting in different places, 1/4,1/21/4,1/2 versus 1/2,3/41/2,3/4.

Let p1(s)=1+s4p_1(s) = \frac{1+s}{4}, p2(s)=2+s4p_2(s) = \frac{2+s}{4}, so p1(0),p2(0)=1/4,1/2p_1(0),p_2(0) = 1/4,1/2 and p1(1),p2(1)=1/2,3/4p_1(1),p_2(1) = 1/2,3/4.

Define the reparametrization maps of the three pieces,

ρ1(t,s)=tp1(s),ρ2(t,s)=t−p1(s)p2(s)−p1(s),ρ3(t,s)=t−p2(s)1−p2(s),\rho_1(t,s) = \frac{t}{p_1(s)}, \qquad \rho_2(t,s) = \frac{t-p_1(s)}{p_2(s)-p_1(s)}, \qquad \rho_3(t,s) = \frac{t-p_2(s)}{1-p_2(s)},

each continuous.

Now define HH by

H(t,s)={l(ρ1(t,s))t∈[0, p1(s)]v(ρ2(t,s))t∈[p1(s), p2(s)]u(ρ3(t,s))t∈[p2(s), 1]H(t,s) = \begin{cases} l(\rho_1(t,s)) & t \in [0,\,p_1(s)] \\ v(\rho_2(t,s)) & t \in [p_1(s),\,p_2(s)] \\ u(\rho_3(t,s)) & t \in [p_2(s),\,1] \end{cases}

Each piece is a composite of two continuous functions, l∘ρ1l\circ\rho_1, v∘ρ2v\circ\rho_2, u∘ρ3u\circ\rho_3, hence continuous.

At the seams, t=p1(s)t=p_1(s) gives l(1)=x∗l(1)=x^* on one side and v(0)=x∗v(0)=x^* on the other, for every ss, and same story at t=p2(s)t=p_2(s) with v(1)=x∗=u(0)v(1)=x^*=u(0). So we may invoke the gluing lemma, and HH is continuous on all of [0,1]2[0,1]^2.

Plugging in s=0,1s=0,1 recovers (l∗v)∗u(l*v)*u and l∗(v∗u)l*(v*u) exactly, and H(0,s)=l(0)=x∗H(0,s)=l(0)=x^*, H(1,s)=u(1)=x∗H(1,s)=u(1)=x^* for every ss, so HH stays a based loop throughout.

Thus (l∗v)∗u∼l∗(v∗u)(l*v)*u \sim l*(v*u), and ∗* is associative on homotopy classes.

Inverses

Now the inverse. It should just be reversing the interval.

Given a loop ll, define lˉ(t):=l(1−t)\bar l(t) := l(1-t), clearly continuous, and lˉ(0)=x∗=lˉ(1)\bar l(0)=x^*=\bar l(1). We want l∗lˉ∼ex∗l*\bar l \sim e_{x^*}.

(l∗lˉ)(t)={l(2t)t∈[0,1/2]lˉ(2t−1)t∈[1/2,1]={l(2t)t∈[0,1/2]l(2−2t)t∈[1/2,1](l*\bar l)(t) = \begin{cases} l(2t) & t\in[0,1/2] \\ \bar l(2t-1) & t\in[1/2,1] \end{cases} = \begin{cases} l(2t) & t\in[0,1/2] \\ l(2-2t) & t\in[1/2,1] \end{cases}

so it walks out along ll then walks straight back.

Define H(t,s)={l((1−s)2t)t∈[0,1/2]l((1−s)(2−2t))t∈[1/2,1]H(t,s) = \begin{cases} l((1-s)2t) & t\in[0,1/2] \\ l((1-s)(2-2t)) & t\in[1/2,1] \end{cases}

at s=0s=0 this is just l∗lˉl*\bar l, at s=1s=1 both pieces are l(0)=x∗l(0)=x^*, so H(⋅,1)=ex∗H(\cdot,1) = e_{x^*}.

Each piece is ll composed with a continuous reparametrization, hence continuous. At the seam t=1/2t=1/2, both pieces give l(1−s)l(1-s), matching for every ss, so we may invoke the gluing lemma and HH is continuous.

H(0,s)=l(0)=x∗H(0,s)=l(0)=x^*, H(1,s)=l(0)=x∗H(1,s)=l(0)=x^* for every ss.

Thus l∗lˉ∼ex∗l*\bar l \sim e_{x^*}, and symmetrically lˉ∗l∼ex∗\bar l * l \sim e_{x^*}, so [lˉ][\bar l] is the two-sided inverse to [l][l].

The group thus obtained is called the fundamental group of XX (at basepoint x∗x^*). Now I must mention that changing basepoints gives isomorphic fundamental groups so long as the space XX is path connected.

Definition of the Fundamental Group

Let (X,x∗)(X,x^*) be a topological space with basepoint x∗x^*. The fundamental group of XX at x∗x^*, denoted π1(X,x∗)\pi_1(X,x^*), is the set of homotopy classes of loops based at x∗x^*,

π1(X,x∗):={l:[0,1]→X∣l continuous, l(0)=l(1)=x∗}/∼,\pi_1(X,x^*) := \{ l : [0,1]\to X \mid l \text{ continuous}, \ l(0)=l(1)=x^* \} \big/ \sim,

equipped with the product [l][v]:=[l∗v][l][v] := [l*v].

This is a group: ∗* is well defined on classes, associative up to homotopy (hence associative on classes), the class of the constant loop ex∗e_{x^*} is a two-sided identity, and [lˉ][\bar l], the class of the reversed loop, is a two-sided inverse to [l][l].


5 - Functoriality of the Fundamental Group

Now, consider the category of groups Grp\mathsf{Grp} and the category of pointed topological spaces Top∗\mathsf{Top}^*. We claim that π1\pi_1, as defined above, with the right choice of “image of continuous maps,” is a functor from Top∗\mathsf{Top}^* to Grp\mathsf{Grp}.

Suppose f:(X,x∗)→(Y,y∗)f: (X,x^*) \to (Y,y^*) is a continuous basepoint-preserving map. Then, of course, π1(X,x∗)\pi_1(X,x^*) contains homotopy classes of loops l:[0,1]→Xl: [0,1] \to X, and we may as well send [l]↦[f∘l][l] \mapsto [f\circ l] via π1(f)\pi_1(f).

For any representative ll of [l][l], it’s easy to show that f∘l:[0,1]→Yf\circ l: [0,1] \to Y is a loop on YY. Of course, the composed map is continuous, and given that l(0)=l(1)=x∗l(0)=l(1)=x^*, we get f(l(0))=f(l(1))=y∗f(l(0)) = f(l(1)) = y^*.

Now we need to show that the map between equivalence classes is well defined, as we have done so many times now. That is, whenever l∼l′l \sim l', where l,l′l,l' are loops on XX, we want to show that f∘l∼f∘l′f\circ l \sim f\circ l'.

Let H:[0,1]2→XH: [0,1]^2 \to X be a homotopy from ll to l′l'. We claim that f∘H:[0,1]2→Yf\circ H: [0,1]^2 \to Y is a homotopy from f∘lf\circ l to f∘l′f\circ l'.

Firstly, it’s clear that f∘Hf\circ H is continuous. Next, we claim that any slice f∘H(_,s)f\circ H(\_,s) is a loop on YY: since H(_,s)H(\_,s) is a loop, H(0,s)=H(1,s)=x∗H(0,s)=H(1,s)=x^* for each s∈[0,1]s\in[0,1], so, composing with ff, f∘H(_,s)f\circ H(\_,s) is indeed a loop.

Next, since H(_,0)=lH(\_,0)=l and H(_,1)=l′H(\_,1)=l', we get f∘H(_,0)=f∘lf\circ H(\_,0) = f\circ l and f∘H(_,1)=f∘l′f\circ H(\_,1) = f\circ l'.

π1(f)\pi_1(f) Is a Homomorphism

Consider π1(f)([l][v])\pi_1(f)([l][v]). By definition of our product on equivalence classes, this is equal to π1(f)([l∗v])=[f∘(l∗v)]\pi_1(f)([l*v]) = [f\circ(l*v)].

On the other hand, π1(f)([l]) π1(f)([v])=[f∘l][f∘v]=[(f∘l)∗(f∘v)]\pi_1(f)([l])\,\pi_1(f)([v]) = [f\circ l][f\circ v] = [(f\circ l)*(f\circ v)], the last equality again by definition of our product.

Now, the reader can convince themselves that, picking representatives l,vl,v, the functions (f∘l)∗(f∘v)(f\circ l)*(f\circ v) and f∘(l∗v)f\circ(l*v) are literally equal, so the two equivalence classes are equal too.

Now it’s clear that π1\pi_1 preserves identity maps. Thus only one question remains: is π1(g∘f)=π1(g)∘π1(f)\pi_1(g\circ f) = \pi_1(g) \circ \pi_1(f)? Well, π1(g∘f)\pi_1(g\circ f) sends a loop [l][l] to [g∘f∘l][g\circ f \circ l], which is indeed π1(g)([f∘l])=π1(g)(π1(f)([l]))\pi_1(g)([f \circ l]) = \pi_1(g)(\pi_1(f)([l])).


6 - Towards the Fundamental Group of the Torus

Let us compute some homotopy groups (in general this is a pain).

Consider the torus. It is built by identifying the ends of a cylinder as equivalent (with the same direction). A cylinder itself is built by identifying the top and bottom of a square as equivalent.

Consider the space S=[0,1]2S = [0,1]^2 with the standard topology (inherited as a subspace). We say

(x,y)∼(x′,y′)  ⟺  (x,y)=(x′,y′)  or  (y=y′ and {x,x′}={0,1})(x,y) \sim (x',y') \iff (x,y)=(x',y') \ \text{ or } \ \big(y=y' \text{ and } \{x,x'\}=\{0,1\}\big) \\  or  (x=x′ and {y,y′}={0,1}).\text{ or } \ \big(x=x' \text{ and } \{y,y'\}=\{0,1\}\big).

To get the torus, put the quotient topology on S/∼S/\sim, i.e., UU is open if and only if π−1(U)\pi^{-1}(U) is open in SS, where π:S→S/∼\pi: S \to S/\sim is the canonical projection map.

First, we shall show that S/∼S/\sim is path connected. Note that a topological space XX is path connected if for any x,y∈Xx,y \in X, there exists a continuous map cx,y:[0,1]→Xc_{x,y}: [0,1] \to X such that cx,y(0)=xc_{x,y}(0) = x, cx,y(1)=yc_{x,y}(1) = y.

Let [x],[y]∈S/∼[x],[y] \in S/\sim. Pick representatives x′∈[x]x' \in [x], y′∈[y]y' \in [y].

Notice that the map u:[0,1]→Su: [0,1] \to S given by u(t)=x′+t(y′−x′)u(t) = x' + t(y'-x') is continuous, where of course x′,y′∈[0,1]2x',y' \in [0,1]^2 and the algebra is that of vector spaces. Also, u(0)=x′u(0) = x', u(1)=y′u(1) = y'.

Obviously then, π∘u\pi \circ u is continuous, and π∘u(0)=π(x′)=[x′]=[x]\pi\circ u(0) = \pi(x') = [x']=[x], π∘u(1)=π(y′)=[y′]=[y]\pi\circ u(1) = \pi(y') = [y'] = [y].

So π∘u:[0,1]→S/∼\pi\circ u: [0,1] \to S/\sim is a continuous map with π∘u(0)=[x]\pi\circ u(0)=[x] and π∘u(1)=[y]\pi\circ u(1)=[y], exactly a path from [x][x] to [y][y]. Since [x],[y][x],[y] were arbitrary, S/∼S/\sim is path connected.

Note: we must be careful that the range of uu does not go outside of [0,1]2[0,1]^2; that is, we must show that 0≤u(t)0,u(t)1≤10 \leq u(t)_0, u(t)_1 \leq 1 for each t∈[0,1]t \in [0,1]. For example, notice that each component of uu has a constant derivative, so its extremal points are the minimum and maximum, which are both within the unit interval.

All this to say, we don’t care about what basepoint [s∗][s^*] we pick in S/∼S/\sim for our loops.

One question that is tempting us right now is, “Is there some nice way to relate the fundamental group of a topological space and a quotient space on it?”

It will have to wait for the next note :)