PMATH 467: Algebraic Topology
Doug Park
Estimated study time: 3 hr 51 min
Table of contents
Sources and References
Primary textbooks — J. R. Munkres, Elements of Algebraic Topology, 1st ed.; A. Hatcher, Algebraic Topology, Cambridge University Press, 2002 (freely available at https://pi.math.cornell.edu/~hatcher/). Supplementary texts — W. S. Massey, A Basic Course in Algebraic Topology; J. R. Munkres, Topology, 2nd ed. Online resources — J. Lazovskis, compact course notes for PMATH 467/667 (Winter 2013); MIT OCW 18.905 Algebraic Topology; Gabriel Islambouli, Algebraic Topology lecture series (PMATH 467, Winter 2021, University of Waterloo), https://youtube.com/playlist?list=PLevbjS885lNS9Nk8ve13FE5tMdZejsTrE.
Historical and Motivational Overview
The central question of topology is deceptively simple: when are two spaces “the same”? In the late eighteenth and early nineteenth centuries, mathematicians had no systematic language to answer this question. The first deep hint that global shape carries algebraic content came from Leonhard Euler’s 1752 observation that for any convex polyhedron, the alternating sum \( V - E + F = 2 \) is always two. Euler’s formula was not merely a curiosity about polyhedra; it was the first instance of a topological invariant — a number attached to a space that does not change under continuous deformations. In the 1860s, August Möbius and Johann Benedict Listing independently studied surfaces and introduced the notion of orientability, recognising that the Möbius band and the sphere are genuinely different kinds of objects. These investigations culminated in Henri Poincaré’s landmark 1895 memoir Analysis Situs, which laid the foundations of what we now call algebraic topology. Poincaré introduced the Betti numbers as counts of independent cycles in each dimension, and he introduced the fundamental group as a way to detect one-dimensional “holes” that cannot be filled. His work made it clear that topological problems could be translated, at least in part, into problems about groups and linear algebra.
The period from 1895 to 1935 saw the algebraisation of Poincaré’s ideas proceed rapidly. Emmy Noether, in a series of lectures in Göttingen around 1925–1927, proposed that Betti numbers and torsion coefficients should be understood not as individual numbers but as the ranks and torsion parts of homology groups — abelian groups encoding connectivity data. This conceptual shift, from numbers to groups, transformed the subject. Solomon Lefschetz developed intersection theory and proved his celebrated fixed-point theorem using homology. Heinz Hopf discovered nontrivial maps \( S^3 \to S^2 \), showing that higher-dimensional analogues of the fundamental group — the higher homotopy groups introduced by Witold Hurewicz in 1935 — were far more complex than anyone had expected. Eduard Čech and Leopold Vietoris introduced cohomological methods that would later be formalised by Samuel Eilenberg and Norman Steenrod into the axiomatic framework that defines homology theories today. The Eilenberg–MacLane paper of 1944, introducing singular homology, provided a definition that worked for every topological space without requiring any simplicial or polyhedral structure.
By the middle of the twentieth century, algebraic topology had become a mature machine for converting topological questions into algebraic ones. J. H. C. Whitehead’s introduction of CW complexes in 1949 gave a flexible combinatorial language for building spaces cell by cell, making computations tractable. Serre’s spectral sequences (1951) allowed the computation of homotopy groups of spheres. The language of category theory, invented by Eilenberg and MacLane precisely to organise the functorial relationships in algebraic topology, grew into a discipline of its own. This course covers the core of this machine: the fundamental group and covering spaces, simplicial and singular homology, cellular homology for CW complexes, the major applications (Brouwer fixed-point theorem, Borsuk–Ulam, invariance of domain, Lefschetz fixed-point theorem), and an introduction to higher homotopy groups, fibrations, and the Hurewicz and Whitehead theorems. The unifying philosophy is that every topological problem carries algebraic shadows, and understanding those shadows illuminates the geometry.
Chapter 0: Geometric Notions and CW Complexes
Before introducing algebraic invariants, one must have a precise vocabulary for the spaces and maps being studied. The key notion is that of homotopy equivalence: two spaces are homotopy equivalent if each can be continuously deformed into the other, in a sense made precise below. This is a strictly weaker relation than homeomorphism — for instance, any contractible space is homotopy equivalent to a point, even though it may not be homeomorphic to one. The second foundational ingredient is the language of CW complexes, introduced by J. H. C. Whitehead in his 1949 paper “Combinatorial Homotopy I”. CW complexes provide a cell-by-cell description of spaces like spheres, projective spaces, and surfaces that is ideally suited to homological computation. Nearly every space that arises in practice is either a CW complex or homotopy equivalent to one.
The historical impetus for these definitions came from the difficulty of working with arbitrary topological spaces. Poincaré’s original homology theory required triangulations — decompositions into simplices — but not every topological space admits a triangulation, and even when it does, the triangulation is far from unique. Whitehead’s CW complexes resolved this by allowing cells of any dimension, attached in order of increasing dimension via arbitrary continuous maps. The resulting theory is both more flexible and more computable than triangulation-based approaches, and it has become the standard setting for modern algebraic topology.
Section 0.1: Homotopy and Homotopy Equivalence
We begin by formalising the notion of continuous deformation between maps. Informally, two maps \( f, g : X \to Y \) are homotopic if one can be continuously “slid” into the other as time \( t \) progresses from 0 to 1. This is the topologist’s analogue of the analyst’s notion of a one-parameter family of functions. The difference is that no smoothness or linearity is required: the deformation \( H(\cdot, t) \) is merely required to be continuous at each time \( t \), and jointly continuous in \( (x,t) \).
Homotopy equivalence is the correct notion of “sameness” in homotopy theory. It captures more than homeomorphism in some directions (contractible spaces of different dimensions are all homotopy equivalent) and less in others (homeomorphic spaces are always homotopy equivalent, but not conversely). The key feature is that all the algebraic invariants of algebraic topology — fundamental group, homology, homotopy groups — are invariant under homotopy equivalence, not just homeomorphism. This is why homotopy equivalence is the “right” relation to study.
Homotopy defines an equivalence relation on the set of continuous maps \( X \to Y \): reflexivity follows by taking \( H(x,t) = f(x) \); symmetry by \( H'(x,t) = H(x,1-t) \); transitivity by concatenating homotopies via the formula \( H \cdot K(x,t) = H(x,2t) \) for \( t \leq \tfrac{1}{2} \) and \( K(x,2t-1) \) for \( t \geq \tfrac{1}{2} \).
If \( A \) is a deformation retract of \( X \), then the inclusion \( i : A \hookrightarrow X \) is a homotopy equivalence with homotopy inverse \( r \). Deformation retracts arise constantly: the figure-eight \( S^1 \vee S^1 \) is a deformation retract of the punctured torus, and any graph deformation retracts onto any spanning tree’s complement.
Section 0.2: CW Complexes
A CW complex is built inductively by attaching cells. The letter “C” stands for “closure-finite” (each cell meets only finitely many other cells) and “W” stands for “weak topology,” though these technical conditions are automatic in the finite-dimensional or finite case.
The power of the CW complex framework lies in its combination of combinatorial explicitness and topological flexibility. On the combinatorial side, a CW complex is completely described by its cells and attaching maps — finite data in the finite-dimensional finite case. On the topological side, the attaching maps are arbitrary continuous maps, not required to be linear or piecewise-linear. This flexibility means virtually every space of geometric interest is a CW complex or homotopy equivalent to one: manifolds, algebraic varieties (over \( \mathbb{C} \)), Lie groups, classifying spaces of groups, loop spaces, and so on.
The inductive construction of CW complexes mirrors the proof strategies in algebraic topology: one proves a result for 0-cells (points), then shows the result is preserved under cell attachment, deducing the result for all CW complexes by induction on skeleta. This inductive approach underlies the proofs of cellular approximation, the Whitehead theorem, and the Hurewicz theorem.
- The 0-skeleton \( X^0 \) is a discrete set of points (the 0-cells).
- The \( n \)-skeleton \( X^n \) is obtained from \( X^{n-1} \) by attaching a (possibly empty) collection of \( n \)-cells: for each \( n \)-cell \( e^n_\alpha \), there is an attaching map \( \phi_\alpha : S^{n-1} \to X^{n-1} \), and \( X^n = X^{n-1} \sqcup_{\sqcup \phi_\alpha} \sqcup_\alpha D^n \).
- If \( X \) is finite-dimensional, \( X = X^n \) for some \( n \). Otherwise \( X \) carries the weak topology: \( U \subseteq X \) is open iff \( U \cap X^n \) is open in \( X^n \) for all \( n \).
Section 0.3: Operations on Spaces
The operations of wedge sum, smash product, and suspension are the basic “building blocks” of stable homotopy theory. They allow us to construct new spaces from old ones in controlled ways, and the algebraic invariants of the new space are often computable in terms of those of the pieces. The suspension operation is particularly central: the Freudenthal suspension theorem (Chapter 6) says that the homotopy groups of \( S^n \) stabilise as \( n \to \infty \), and the stable groups are computed from the suspension structure. The smash product is the tensor product of based spaces and is the cornerstone of the symmetric monoidal structure on the stable homotopy category.
- \( \chi(T^2) = \chi(S^1 \times S^1) = \chi(S^1)^2 = 0 \cdot 0 = 0 \). Alternatively, using cells: \( 1 - 2 + 1 = 0 \).
- \( \chi(\mathbb{CP}^1) = \chi(S^2) = 2 \), consistent with \( \mathbb{CP}^1 \cong S^2 \) and the CW structure \( e^0 \cup e^2 \).
- \( \chi(\mathbb{CP}^2) = 3 \) (cells in dimensions 0, 2, 4), and for the Hopf fibration \( S^1 \hookrightarrow S^3 \to S^2 \): \( \chi(S^3) = 0 = \chi(S^1) \cdot \chi(S^2) = 0 \cdot 2 = 0 \). Consistent.
- For a closed orientable surface \( \Sigma_g \): \( \chi = 2 - 2g \). The genus-2 surface \( \Sigma_2 \) has \( \chi = -2 \), confirming the CW count \( 1 - 4 + 1 = -2 \).
Chapter 1: The Fundamental Group
The fundamental group \( \pi_1(X, x_0) \) is the first and most accessible algebraic invariant of a topological space. The idea, due to Poincaré in Analysis Situs, is to study loops at a basepoint up to continuous deformation. Two spaces with non-isomorphic fundamental groups cannot be homeomorphic — or even homotopy equivalent — so the fundamental group is a powerful tool for distinguishing spaces. For instance, the circle \( S^1 \) and the disk \( D^2 \) are not homotopy equivalent: \( \pi_1(S^1) \cong \mathbb{Z} \) while \( \pi_1(D^2) = 0 \). Poincaré’s original insight was that loops representing different “winding numbers” around a hole are genuinely different, and the group structure captures how loops can be concatenated.
The computation of \( \pi_1(S^1) \cong \mathbb{Z} \) is the cornerstone theorem of this chapter. Its proof uses the theory of covering spaces — in particular, the covering \( p : \mathbb{R} \to S^1 \) given by \( p(t) = e^{2\pi i t} \). The integers index the sheets of this cover, and the winding number of a loop at 1 is the integer endpoint of its unique lift starting at 0. This connection between covering spaces and the fundamental group will be vastly generalised in Chapter 2.
Section 1.1: Paths and the Fundamental Group
The definition of path-homotopy deserves careful thought. The key feature is that endpoints are held fixed throughout the homotopy: a path from \( x_0 \) to \( x_1 \) must be homotoped through paths that also go from \( x_0 \) to \( x_1 \). Without this constraint, any two paths in a path-connected space would be homotopic (just move everything to a constant path). The endpoint-fixing condition is what gives \( \pi_1 \) its nontrivial content: it asks not just “can this loop be deformed to a point?” but “can it be deformed to the constant loop while keeping the basepoint fixed at all times?”
A second subtlety is the parametrisation: we always parametrise paths on \( [0,1] \), and path-homotopy is a homotopy of parametrised paths. A reparametrisation \( \gamma \circ \phi \) (where \( \phi : [0,1] \to [0,1] \) is a homeomorphism with \( \phi(0)=0 \) and \( \phi(1)=1 \)) is always path-homotopic to \( \gamma \), since \( H(s,t) = \gamma((1-t)\phi(s) + ts) \) provides the homotopy. This means that concatenation is associative up to reparametrisation, hence associative in the quotient \( \pi_1 \).
- \( H(s,0) = \gamma_0(s) \) and \( H(s,1) = \gamma_1(s) \) for all \( s \),
- \( H(0,t) = \gamma_0(0) \) and \( H(1,t) = \gamma_0(1) \) for all \( t \).
Well-definedness: If \( \gamma_0 \simeq_p \gamma_1 \) via \( H \) and \( \delta_0 \simeq_p \delta_1 \) via \( K \), define \( L(s,t) = H(2s,t) \) for \( s \leq \tfrac{1}{2} \) and \( K(2s-1,t) \) for \( s \geq \tfrac{1}{2} \). This is continuous by the gluing lemma and shows \( \gamma_0 \cdot \delta_0 \simeq_p \gamma_1 \cdot \delta_1 \).
\[ H(s,t) = \begin{cases} \gamma\!\left(\dfrac{4s}{t+1}\right) & 0 \leq s \leq \dfrac{t+1}{4}, \\[4pt] \delta(4s - t - 1) & \dfrac{t+1}{4} \leq s \leq \dfrac{t+2}{4}, \\[4pt] \varepsilon\!\left(\dfrac{4s - t - 2}{2-t}\right) & \dfrac{t+2}{4} \leq s \leq 1. \end{cases} \]At \( t=0 \), the breakpoints are \( \tfrac{1}{4}, \tfrac{1}{2} \), giving \( (\gamma \cdot \delta) \cdot \varepsilon \); at \( t=1 \), the breakpoints are \( \tfrac{1}{2}, \tfrac{3}{4} \), giving \( \gamma \cdot (\delta \cdot \varepsilon) \).
Identity: For the right identity, define \( H(s,t) = \gamma\!\left(\dfrac{2s}{1+t}\right) \) for \( s \leq \dfrac{1+t}{2} \) and \( H(s,t) = x_1 \) for \( s \geq \dfrac{1+t}{2} \), where \( x_1 = \gamma(1) \). This is a homotopy from \( \gamma \cdot c_{x_1} \) (at \( t=0 \)) to \( \gamma \) (at \( t=1 \), where the formula gives \( \gamma(s) \) for \( s \leq 1 \)).
\[ H(s,t) = \begin{cases} \gamma(2s) & 0 \leq s \leq \dfrac{1-t}{2}, \\ \gamma(1-t) & \dfrac{1-t}{2} \leq s \leq \dfrac{1+t}{2}, \\ \gamma(2-2s) & \dfrac{1+t}{2} \leq s \leq 1 \end{cases} \]is a path-homotopy from \( \gamma \cdot \bar\gamma \) (at \( t=0 \)) to the constant loop \( c_{x_0} \) (at \( t=1 \), where the middle segment occupies all of \( [0,1] \)). \( \square \)
Section 1.2: The Fundamental Group of the Circle
This is the most important single computation in algebraic topology. We will show that \( \pi_1(S^1) \cong \mathbb{Z} \), where the isomorphism is given by the winding number.
The intuition is clear: a loop on the circle either wraps around 0 times (a contractible loop), or wraps around \( n \) times for some nonzero integer \( n \). The integer \( n \) is the winding number. Positive \( n \) means counterclockwise wrapping, negative means clockwise. Two loops are homotopic if and only if they have the same winding number. The group structure is addition of winding numbers: if \( \gamma \) wraps \( m \) times and \( \delta \) wraps \( n \) times, then \( \gamma \cdot \delta \) wraps \( m + n \) times.
The formal proof uses the exponential covering \( p : \mathbb{R} \to S^1 \), \( p(t) = e^{2\pi it} \). This covering “unrolls” the circle into the real line, and the winding number becomes the endpoint of the lifted path — an integer because both endpoints of the loop must project to the same point \( 1 \in S^1 \).
Consider the covering map \( p : \mathbb{R} \to S^1 \) defined by \( p(t) = e^{2\pi it} \).
Well-defined: If \( \gamma_0 \simeq_p \gamma_1 \) via a homotopy \( H \), the homotopy lifting property gives a lifted homotopy \( \tilde H \) fixing the starting value \( 0 \). Since \( \tilde H(1,t) \in \mathbb{Z} \) is continuous in \( t \) and \( \mathbb{Z} \) is discrete, \( \tilde H(1,t) \) is constant, so \( \tilde\gamma_0(1) = \tilde H(1,0) = \tilde H(1,1) = \tilde\gamma_1(1) \). Thus \( \Phi \) is well-defined.
\[ \widetilde{\gamma \cdot \delta}(s) = \begin{cases} \tilde\gamma(2s) & s \leq \tfrac{1}{2}, \\ m + \tilde\delta(2s-1) & s \geq \tfrac{1}{2}. \end{cases} \]This lift ends at \( m + n \). So \( \Phi([\gamma][\delta]) = m+n = \Phi([\gamma]) + \Phi([\delta]) \).
Surjectivity: For each \( n \in \mathbb{Z} \), define the loop \( \omega_n(s) = e^{2\pi ins} \). Its lift starting at 0 is the path \( \tilde\omega_n(s) = ns \), which ends at \( n \). So \( \Phi([\omega_n]) = n \), and \( \Phi \) is surjective. Geometrically, \( \omega_n \) winds around the circle \( n \) times counterclockwise (or \( |n| \) times clockwise if \( n < 0 \)).
Injectivity: Suppose \( \Phi([\gamma]) = 0 \), i.e., the lift \( \tilde\gamma \) satisfies \( \tilde\gamma(0) = \tilde\gamma(1) = 0 \). Then \( \tilde\gamma \) is a loop in \( \mathbb{R} \) based at \( 0 \). Since \( \mathbb{R} \) is convex, it is contractible (the straight-line homotopy \( \tilde H(s,t) = (1-t)\tilde\gamma(s) \) contracts \( \tilde\gamma \) to the constant loop at 0, keeping the basepoint fixed since \( \tilde H(0,t) = (1-t) \cdot 0 = 0 \) and \( \tilde H(1,t) = (1-t) \cdot 0 = 0 \)). Hence \( \tilde\gamma \simeq_p c_0 \) in \( \mathbb{R} \) via \( \tilde H \). Then \( H = p \circ \tilde H \) is a path-homotopy from \( p \circ \tilde\gamma = \gamma \) to \( p \circ c_0 = c_1 \) in \( S^1 \). Hence \( [\gamma] = [c_1] \) is the identity. \( \square \)
- The constant loop \( c_1(s) = 1 \) lifts to \( \tilde c(s) = 0 \), so \( \deg(c_1) = 0 \).
- The loop \( \omega_1(s) = e^{2\pi is} \) (one counterclockwise revolution) lifts to \( \tilde\omega_1(s) = s \), ending at 1, so \( \deg(\omega_1) = 1 \).
- The loop \( \omega_{-1}(s) = e^{-2\pi is} \) (one clockwise revolution) lifts to \( \tilde\omega_{-1}(s) = -s \), ending at \( -1 \), so \( \deg(\omega_{-1}) = -1 \).
- The loop \( \omega_2(s) = e^{4\pi is} \) (two counterclockwise revolutions) lifts to \( \tilde\omega_2(s) = 2s \), ending at 2, so \( \deg(\omega_2) = 2 \).
- The concatenation \( \omega_m \cdot \omega_n \) has winding number \( m + n \), confirming the homomorphism property.
| Space \( X \) | \( \pi_1(X) \) | Method |
|---|---|---|
| \( \mathbb{R}^n \) | 0 | Contractible |
| \( D^n \) | 0 | Contractible |
| \( S^n \), \( n \geq 2 \) | 0 | Van Kampen (Chapter 2) |
| \( S^1 \) | \( \mathbb{Z} \) | Exponential covering |
| \( T^2 \) | \( \mathbb{Z}^2 \) | Van Kampen |
| \( \Sigma_g \) | \( \langle a_i,b_i \mid \prod [a_i,b_i] \rangle \) | Van Kampen |
| \( \mathbb{RP}^1 \) | \( \mathbb{Z} \) | \( \mathbb{RP}^1 \cong S^1 \) |
| \( \mathbb{RP}^2 \) | \( \mathbb{Z}/2 \) | Van Kampen |
| \( \mathbb{RP}^n \), \( n \geq 2 \) | \( \mathbb{Z}/2 \) | Double covering \( S^n \to \mathbb{RP}^n \) |
| \( \mathbb{CP}^n \) | 0 | Cells only in even dimensions |
| \( S^1 \vee S^1 \) | \( F_2 \) | Van Kampen |
| Klein bottle | \( \langle a,b \mid abab^{-1} \rangle \) | Van Kampen |
- \( \mathbb{R}^n \) for all \( n \): contractible, hence simply connected.
- \( D^n \) for all \( n \): contractible.
- \( S^n \) for \( n \geq 2 \): since \( S^n = e^0 \cup e^n \) and the attaching map of the \( n \)-cell is constant, there are no 1-cells, so \( \pi_1(S^n) = 0 \) by van Kampen (to be proved in Chapter 2). Alternatively: \( S^n \) minus a point is homeomorphic to \( \mathbb{R}^n \), which is simply connected; the Seifert–van Kampen theorem with the two punctured-hemisphere decomposition gives trivial \( \pi_1 \).
- \( \mathbb{CP}^n \) for all \( n \geq 1 \): since the 1-skeleton of \( \mathbb{CP}^n \) is just a point (cells only in even dimensions), there are no loops to generate \( \pi_1 \).
Section 1.3: Applications of \( \pi_1 \)
The results in this section all follow the same template: use the functor \( \pi_1 \) to convert a topological statement into an algebraic one, and then derive a contradiction from the algebraic impossibility. In each case, the argument has the form: “if the topological conclusion fails, then there is a retraction of a simply connected space onto a space with nontrivial \( \pi_1 \), which is impossible.” This pattern — assuming the conclusion fails, constructing a map with contradictory algebraic properties, and applying functoriality — is the fundamental method of algebraic topology.
Chapter 2: Van Kampen’s Theorem and Covering Spaces
Van Kampen’s theorem, in its simplest form, tells us how to compute the fundamental group of a space assembled from two pieces. Seifert stated a version in 1930 and van Kampen gave the general formulation in 1933. The theorem converts the topological problem of computing \( \pi_1 \) into a purely algebraic one involving amalgamated free products. It is the primary computational tool for fundamental groups of surfaces, knot complements, and graphs of spaces.
Covering space theory provides a deep bridge between topology and group theory: the connected covering spaces of a “nice” space \( X \) are classified (up to isomorphism over \( X \)) by the conjugacy classes of subgroups of \( \pi_1(X) \). This classification theorem was known in spirit to Poincaré and was made rigorous by Seifert and Threlfall in the 1930s. The universality of the infinite cyclic cover \( \mathbb{R} \to S^1 \) and the infinite tree covering \( S^1 \vee S^1 \) illustrates the power of the theory. The classification will be made fully precise once we study lifting criteria.
Section 2.1: Free Products and Amalgamated Products
Free products and amalgamated free products are the group-theoretic analogues of topological operations. The free product \( G * H \) corresponds to the wedge sum \( X \vee Y \) of spaces with \( \pi_1(X) = G \) and \( \pi_1(Y) = H \): van Kampen gives \( \pi_1(X \vee Y) \cong G * H \) when \( X \) and \( Y \) share only a basepoint. The amalgamated free product \( G *_A H \) corresponds to gluing \( X \) and \( Y \) along a common subspace \( Z \) with \( \pi_1(Z) = A \): van Kampen gives \( \pi_1(X \cup_Z Y) \cong G *_A H \).
The universal property of the free product states that the free product is the “most general” group generated by copies of \( G \) and \( H \) that do not interact. The amalgamation forces a specific subgroup of \( G \) to coincide with a specific subgroup of \( H \), reflecting the fact that paths in \( X \cap Y \) can be pushed into either \( X \) or \( Y \).
Section 2.2: The Seifert–van Kampen Theorem
Van Kampen’s theorem is to the fundamental group what the Mayer–Vietoris sequence is to homology: it computes the algebraic invariant of a union in terms of the invariants of the pieces and their intersection. The two results are in fact related — the Mayer–Vietoris sequence for \( H_1 \) can be derived from van Kampen by abelianising. The key difference is that van Kampen works at the level of groups (before abelianisation) and gives the amalgamated free product, while Mayer–Vietoris gives a long exact sequence of abelian groups.
The hypotheses of van Kampen require both \( U \) and \( V \) to be path-connected, open, and their intersection \( U \cap V \) to be path-connected. These conditions ensure that loops in \( X \) can be subdivided into loops in \( U \) and \( V \), and that the subdivision points can be connected to the basepoint within \( U \cap V \). If \( U \cap V \) is not connected, the theorem generalises to give a “free product with multiple amalgamations” (a pushout over a disconnected group), but this case arises less often in practice.
Each factor is a loop in \( U \) or \( V \), hence lies in the image of \( \Phi \).
Injectivity. Suppose \( w = [u_1][v_1]\cdots[u_m][v_m] \in G \) (with \( u_i \in \pi_1(U) \), \( v_i \in \pi_1(V) \)) satisfies \( \Phi(w) = 1 \) in \( \pi_1(X) \). Then the corresponding concatenated loop \( \gamma \) is null-homotopic in \( X \): there is a homotopy \( H : [0,1]^2 \to X \) from \( \gamma \) to the constant loop. Subdivide \( [0,1]^2 \) into a fine enough grid so each square maps into \( U \) or \( V \). By an inductive procedure — adjusting the edges of the grid that pass through \( U \cap V \) using paths in \( U \cap V \) — one shows that the null-homotopy \( H \) can be decomposed into a sequence of homotopies each taking place entirely in \( U \) or entirely in \( V \). Each such homotopy is an instance of a relation in the amalgamated product, either a relation within \( \pi_1(U) \), within \( \pi_1(V) \), or the amalgamation relation \( [(i_U)_*(c)] = [(i_V)_*(c)] \) for \( c \in \pi_1(U \cap V) \). Hence \( w = 1 \) in \( G \). \( \square \)
Section 2.3: Covering Spaces
The theory of covering spaces is one of the jewels of algebraic topology, establishing a perfect dictionary between topology and group theory. Every connected covering space of a “nice” space \( X \) corresponds to a subgroup of \( \pi_1(X) \), and the geometric properties of the cover are reflected in the algebraic properties of the subgroup: the number of sheets equals the index, the cover is Galois (normal) iff the subgroup is normal, and the deck transformation group equals the quotient group \( N(H)/H \) where \( N(H) \) is the normaliser.
This dictionary has both theoretical and computational uses. Theoretically, it reduces questions about the topology of covering spaces to pure group theory — for instance, the question “does \( X \) have a connected double cover?” becomes “does \( \pi_1(X) \) have a subgroup of index 2?”, which is equivalent to “does \( \pi_1(X) \) have a surjective homomorphism to \( \mathbb{Z}/2 \)?”, which is equivalent to “is \( \pi_1(X)^{\mathrm{ab}} \) divisible by 2?”. Computationally, covering spaces provide explicit models for subgroups of free groups (via graphs), which is the basis for the Nielsen–Schreier theorem.
- Isomorphism classes (over \( X \)) of path-connected covering spaces of \( X \), and
- Conjugacy classes of subgroups of \( \pi_1(X, x_0) \).
- \( n\mathbb{Z} \) (\( n \geq 2 \)): the \( n \)-sheeted covering \( p_n : S^1 \to S^1 \), \( p_n(z) = z^n \). The deck group is \( \mathbb{Z}/n\mathbb{Z} \), acting by multiplication by \( e^{2\pi i/n} \).
- \( \{0\} \): the universal cover \( \mathbb{R} \to S^1 \) (infinite-sheeted). The deck group is \( \mathbb{Z} \).
- \( \mathbb{Z} \) itself: the trivial covering \( S^1 \to S^1 \) by the identity (1-sheeted).
Section 2.4: Subgroups of Free Groups
Chapter 3: Homology — Simplicial and Cellular
The fundamental group detects one-dimensional holes in a space, but higher-dimensional holes require new invariants. A 2-sphere has no 1-dimensional hole — every loop is contractible — yet it is far from contractible; the “2-dimensional hole” enclosed by the sphere is invisible to \( \pi_1 \). Homology groups solve this problem: \( H_n(X) \) detects \( n \)-dimensional holes by measuring \( n \)-cycles (closed \( n \)-chains) modulo those which are boundaries of \( (n+1) \)-chains. The algebraic structure (\( \partial^2 = 0 \)) ensures this quotient is a well-defined abelian group.
The history of homology is intertwined with the history of modern algebra. Poincaré defined Betti numbers informally in 1895 as the “number of independent \( k \)-cycles,” but the definition was imprecise. Emmy Noether’s insight (communicated at a Göttingen seminar in 1925) was that Betti numbers and torsion coefficients should be unified as the rank and torsion of a single abelian group, the homology group. This point of view made the tools of abstract algebra directly applicable, and within a decade Vietoris, Čech, and Eilenberg had extended Noether’s groups to very general settings.
Section 3.1: Delta-Complexes and Simplicial Homology
The simplicial chain complex is the most concrete approach to homology, making the groups directly computable for spaces with a triangulation. The key algebraic insight — that \( \partial^2 = 0 \) — can be seen geometrically: the boundary of a triangle consists of three edges, and the boundary of each edge consists of its two endpoints; going around the triangle, each endpoint appears exactly twice, once as the start of an edge and once as the end of an edge, so all contributions cancel. The sign convention \( (-1)^i \) ensures this cancellation works for simplices of all dimensions.
The \( \Delta \)-complex generalises the classical notion of a simplicial complex: in a simplicial complex, different simplices can share at most a face, and the gluing must be linear. In a \( \Delta \)-complex, simplices can be identified in more flexible ways (for instance, both endpoints of a 1-simplex can be identified with the same 0-simplex, giving a circle). This extra flexibility makes \( \Delta \)-complexes more convenient for representing familiar spaces with a small number of cells.
Section 3.2: Explicit Computations
- \( C_0 = \mathbb{Z} \), \( C_1 = \mathbb{Z}^2 \), \( C_2 = \mathbb{Z} \).
- \( \partial_2(U) = 2a \), so \( \mathrm{im}(\partial_2) = 2\mathbb{Z} \cdot a \subseteq C_1 \).
- \( \partial_1(a) = v - v = 0 \) and \( \partial_1(b) = v - v = 0 \), so \( \ker(\partial_1) = C_1 = \mathbb{Z}^2 \).
- \( H_1(K) = \ker(\partial_1)/\mathrm{im}(\partial_2) = \mathbb{Z}^2 / \langle 2a \rangle \cong \mathbb{Z} \oplus \mathbb{Z}/2 \).
- \( H_2(K) = \ker(\partial_2) = 0 \) (since \( \partial_2(U) = 2a \neq 0 \)).
- \( H_0(K) = \mathbb{Z} \) (connected).
Section 3.3: Cellular Homology
For CW complexes, there is a more efficient computation using only the cells themselves, without subdividing into simplices.
The cellular chain complex has far fewer generators than the simplicial chain complex: instead of one generator per simplex (which requires many simplices to triangulate even simple spaces), the cellular complex has one generator per cell. For \( S^n \), the minimal CW structure has two cells (one 0-cell and one \( n \)-cell), so the cellular chain complex is \( 0 \to \mathbb{Z} \to 0 \to \cdots \to 0 \to \mathbb{Z} \to 0 \) with the two \( \mathbb{Z} \)’s in positions 0 and \( n \), giving \( H_0(S^n) = H_n(S^n) = \mathbb{Z} \) and all others 0. This is a two-line computation; the simplicial version requires triangulating \( S^n \) with many more cells.
The key formula — \( d_n(e^n_\alpha) = \sum_\beta \deg(\phi_{\alpha\beta}) \cdot e^{n-1}_\beta \) — reduces the boundary map to a degree computation. For spaces like \( \mathbb{RP}^n \) where all cells are in a linear chain, the boundary maps alternate between 0 and 2 (the degree of the double cover), and the chain complex is determined by a single repeating pattern. The proof that cellular homology agrees with singular homology uses the long exact sequence of the pair \( (X^n, X^{n-1}) \) and the identification \( H_k(X^n, X^{n-1}) \cong \bigoplus_\alpha \tilde H_k(S^n_\alpha) \) (each \( n \)-cell contributes a copy of \( \mathbb{Z} \) in degree \( n \) and nothing else).
- \( d_1 : C_1 \to C_0 \): The attaching map of \( e^1 \) sends both endpoints of \( [0,1] \) to the single 0-cell, so \( d_1(e^1) = e^0 - e^0 = 0 \).
- \( d_2 : C_2 \to C_1 \): The attaching map of \( e^2 \) is the double covering \( S^1 \to \mathbb{RP}^1 \cong S^1 \), given by \( z \mapsto z^2 \), which has degree 2. So \( d_2(e^2) = 2e^1 \).
- \( d_1 = 0 \): Same reason as above.
- \( d_2 = 2 \): The attaching map of \( e^2 \) is the double cover \( S^1 \to \mathbb{RP}^1 \), degree 2.
- \( d_3 = 0 \): The attaching map of \( e^3 \) is the double cover \( S^2 \to \mathbb{RP}^2 \). The composition with the quotient \( \mathbb{RP}^2 \to \mathbb{RP}^2/\mathbb{RP}^1 \cong S^2 \) is a map of degree \( 1 + (-1) = 0 \) (the two hemispheres map with opposite orientations but the same sign under the antipodal identification), so \( d_3 = 0 \).
Section 3.4: Table of Homology Groups
| Space | \( H_0 \) | \( H_1 \) | \( H_2 \) | \( H_3 \) | Notes |
|---|---|---|---|---|---|
| Point | \( \mathbb{Z} \) | 0 | 0 | 0 | |
| \( S^1 \) | \( \mathbb{Z} \) | \( \mathbb{Z} \) | 0 | 0 | |
| \( S^2 \) | \( \mathbb{Z} \) | 0 | \( \mathbb{Z} \) | 0 | |
| \( S^n \) | \( \mathbb{Z} \) | \( \mathbb{Z} \) if \( n=1 \), else 0 | \( \mathbb{Z} \) if \( n=2 \), else 0 | \( \mathbb{Z} \) if \( n=3 \), else 0 | \( H_n(S^n) \cong \mathbb{Z} \) |
| \( T^2 \) | \( \mathbb{Z} \) | \( \mathbb{Z}^2 \) | \( \mathbb{Z} \) | 0 | |
| \( \mathbb{RP}^2 \) | \( \mathbb{Z} \) | \( \mathbb{Z}/2 \) | 0 | 0 | |
| \( \mathbb{RP}^3 \) | \( \mathbb{Z} \) | \( \mathbb{Z}/2 \) | 0 | \( \mathbb{Z} \) | |
| \( \mathbb{CP}^n \) | \( \mathbb{Z} \) | 0 | \( \mathbb{Z} \) | 0 | \( H_{2k} = \mathbb{Z} \) for \( k \leq n \) |
| \( \Sigma_g \) | \( \mathbb{Z} \) | \( \mathbb{Z}^{2g} \) | \( \mathbb{Z} \) | 0 | genus-\( g \) surface |
| Klein bottle \( K \) | \( \mathbb{Z} \) | \( \mathbb{Z} \oplus \mathbb{Z}/2 \) | 0 | 0 | non-orientable |
| \( T^n \) | \( \mathbb{Z} \) | \( \mathbb{Z}^n \) | \( \mathbb{Z}^{\binom{n}{2}} \) | \( \mathbb{Z}^{\binom{n}{3}} \) | \( H_k(T^n) = \mathbb{Z}^{\binom{n}{k}} \) |
| \( \mathbb{RP}^4 \) | \( \mathbb{Z} \) | \( \mathbb{Z}/2 \) | 0 | \( \mathbb{Z}/2 \) | \( H_4 = 0 \) |
| \( S^1 \vee S^2 \) | \( \mathbb{Z} \) | \( \mathbb{Z} \) | \( \mathbb{Z} \) | 0 | wedge sum |
Chapter 4: Singular Homology
Simplicial and cellular homology require the space to have a CW structure or triangulation. Singular homology, introduced by Eilenberg in 1944, works for any topological space whatsoever: a singular \( n \)-simplex is simply any continuous map \( \sigma : \Delta^n \to X \), with no injectivity or linearity required. The resulting chain groups are enormous (typically uncountably generated) but the homology groups they produce are both computable and functorial, and they agree with the cellular computation for CW complexes.
The key results of this chapter — homotopy invariance, the long exact sequence of a pair, excision, and the Mayer–Vietoris sequence — form the axiomatic backbone of any homology theory. Eilenberg and Steenrod showed in 1945 that these four properties, together with a normalisation condition, uniquely characterise singular homology among “ordinary” homology theories. This “axiomatic” characterisation is the deepest structural insight of the subject.
Section 4.1: Singular Chains and Homology
The definition of singular homology is elegantly simple: a singular \( n \)-simplex is just any continuous map \( \Delta^n \to X \), with no additional structure. This “singular” terminology (as opposed to “simplicial”) reflects the fact that such maps can be highly non-injective and can have singularities. The chain complex built from all such maps is enormous — even for \( X = \{*\} \), there is exactly one singular \( n \)-simplex for each \( n \) (the unique map to the point), and the homology comes out correctly to \( H_0(\{*\}) = \mathbb{Z} \) and \( H_n(\{*\}) = 0 \) for \( n \geq 1 \), which is a nontrivial calculation.
The key technical lemma underlying all of singular homology is the existence of barycentric subdivision: any singular simplex can be subdivided into smaller simplices, allowing one to assume that simplices are “small” (contained in a single open set of an open cover). This is the mechanism behind the excision theorem, which requires subdividing chains to show that excision does not change homology. The proof uses the fact that repeated barycentric subdivision makes simplices arbitrarily small (since the diameter decreases geometrically), and the Lebesgue number lemma guarantees that sufficiently small simplices lie in a single set.
Section 4.2: Homotopy Invariance
where \( \iota_i : \Delta^{n+1} \to \Delta^n \times [0,1] \) is the affine map sending vertices \( 0,\ldots,n+1 \) to \( v_0,\ldots,v_i,w_i,\ldots,w_n \). Then a direct computation using the face maps of \( \Delta^{n+1} \) shows \( \partial P(\sigma) + P(\partial \sigma) = g_*(\sigma) - f_*(\sigma) \). For any cycle \( z \in \ker \partial_n \), this gives \( g_*(z) - f_*(z) = \partial(P(z)) \in \mathrm{im}\, \partial_{n+1} \), so \( [g_*(z)] = [f_*(z)] \) in \( H_n(Y) \). \( \square \)
Section 4.3: Long Exact Sequence of a Pair
The long exact sequence of a pair is the algebraic backbone of “relative thinking” in topology. Relative homology \( H_n(X,A) \) measures the homology of \( X \) relative to \( A \): it detects cycles in \( X \) that are not cycles in \( A \) (i.e., chains in \( X \) whose boundary lies in \( A \)). Intuitively, \( H_n(X,A) \) counts \( n \)-dimensional “holes” in \( X \) that are “bounded” relative to \( A \).
The connecting homomorphism \( \partial_* : H_n(X,A) \to H_{n-1}(A) \) is the key algebraic device: it “takes the boundary” of a relative cycle (a chain in \( X \) whose boundary happens to lie in \( A \)) and produces an actual cycle in \( A \). The exactness of the sequence ensures that cycles in \( A \) that are boundaries in \( X \) (not in \( A \) itself) are precisely those in the image of \( \partial_* \). This “connecting” mechanism is the algebraic analogue of the topological fact that a cycle bounding in \( X \) relative to \( A \) determines a class in \( H_{n-1}(A) \).
Section 4.4: The Mayer–Vietoris Sequence
The Mayer–Vietoris sequence is the homological analogue of van Kampen’s theorem: it computes the homology of a union \( X = A \cup B \) in terms of the homologies of \( A \), \( B \), and \( A \cap B \). The key difference from van Kampen is that the Mayer–Vietoris sequence works in all dimensions simultaneously and produces abelian groups, while van Kampen works for the fundamental group (which can be non-abelian). The Mayer–Vietoris sequence is in fact a consequence of the short exact sequence of chain complexes \( 0 \to C_*(A \cap B) \to C_*(A) \oplus C_*(B) \to C_*(A+B) \to 0 \) and the barycentric subdivision argument showing that \( H_*(A+B) \cong H_*(X) \) (where \( C_*(A+B) \) consists of chains that are sums of chains in \( A \) and chains in \( B \)).
Section 4.4b: Applications of Mayer–Vietoris
Section 4.5: Homology with Coefficients and Universal Coefficients
Chapter 5: Applications of Homology
The abstract machinery of homology groups pays off in a series of striking applications. The Brouwer fixed-point theorem, which holds in all dimensions and resisted purely topological proofs for decades, follows immediately once one knows \( \tilde H_*(D^n) = 0 \) and \( \tilde H_n(S^{n-1}) \neq 0 \). The hairy ball theorem, Borsuk–Ulam, and invariance of domain follow from degree theory. Lefschetz’s fixed-point theorem uses the full power of homology with rational coefficients to detect fixed points via a trace formula.
The history of these applications is itself a story of the power of new algebraic tools. Brouwer proved his fixed-point theorem in 1912 using techniques that were essentially homological but had not yet been formalised. Lefschetz developed his fixed-point theorem in the 1920s using intersection theory, and the modern homological proof came later. The Borsuk–Ulam theorem (1933) and the hairy ball theorem were among the first results that could be proved cleanly and in full generality once singular homology was available.
Section 5.1: Abelianisation and \( H_1 \)
The isomorphism \( H_1(X) \cong \pi_1(X)^{\mathrm{ab}} \) shows that homology is an abelianised version of homotopy, at least in dimension 1. This is the first rigorous connection between the two types of invariants studied in this course. The proof goes through the identification of loops with singular 1-cycles: every loop is a 1-cycle (its boundary is zero since both endpoints are the basepoint), and the boundary formula for singular 2-simplices gives exactly the commutator relations needed to abelianise.
This result has two important corollaries. First, for spaces with abelian fundamental group (e.g., \( S^1 \), \( T^n \), \( \mathbb{RP}^n \) for \( n \geq 3 \)), \( H_1 = \pi_1 \) exactly. Second, for spaces with non-abelian \( \pi_1 \) (e.g., \( \Sigma_g \) for \( g \geq 2 \), \( S^1 \vee S^1 \)), the passage from \( \pi_1 \) to \( H_1 \) loses information — it kills the commutator subgroup. This information loss is the price of having an abelian group, but it means \( H_1 \) is much more computable. For instance, \( \pi_1(\Sigma_2) \) is a complicated non-abelian group, but \( H_1(\Sigma_2) = \mathbb{Z}^4 \) is immediate from the CW structure.
Surjectivity: every element of \( H_1(X) \) is represented by a sum of loops (any 1-cycle can be written as a sum of loops based at \( x_0 \) using paths from \( x_0 \) to the vertices). Injectivity: if \( [\gamma] = 0 \) in \( H_1(X) \), then \( \gamma = \partial_2(\sum n_i \sigma_i) \) for some singular 2-chains \( \sigma_i \). This can be used to build an explicit null-homotopy of \( \gamma \) in \( \pi_1(X)^{\mathrm{ab}} \). \( \square \)
Section 5.2: Brouwer Fixed-Point Theorem (All Dimensions)
Section 5.3: Degree Theory and the Hairy Ball Theorem
Degree theory gives a powerful invariant for maps \( S^n \to S^n \). The degree measures “how many times” the map wraps the domain sphere around the target sphere, with sign indicating orientation. It generalises the winding number for maps \( S^1 \to S^1 \) and has the following key properties:
(1) Homotopy invariance: \( f \simeq g \implies \deg(f) = \deg(g) \). (2) Multiplicativity: \( \deg(f \circ g) = \deg(f) \cdot \deg(g) \). (3) Local degree formula: if \( f \) is smooth and \( y \) is a regular value, then \( \deg(f) = \sum_{x \in f^{-1}(y)} \mathrm{sign}(\det Df_x) \).
The local degree formula is the most computable: for a smooth map, one picks a generic point \( y \) and counts preimages with sign. For instance, the map \( z \mapsto z^n \) on \( S^1 \subset \mathbb{C} \) has \( n \) preimages of each point, each contributing \( +1 \), so the degree is \( n \). The antipodal map on \( S^n \) reverses orientation in each coordinate direction: each coordinate flip introduces a sign change, and with \( n+1 \) coordinate changes total, the degree is \( (-1)^{n+1} \).
Section 5.3b: Jordan–Brouwer Separation Theorem
Step 1: By excision, \( H_k(S^n, S^n \setminus S) \cong H_k(\mathbb{R}^n, \mathbb{R}^n \setminus \{0\}) \) locally near any point of \( S \cong S^{n-1} \). The local homology \( H_k(\mathbb{R}^n, \mathbb{R}^n \setminus \{0\}) \cong \tilde H_{k-1}(S^{n-1}) \cong \begin{cases} \mathbb{Z} & k = n \\ 0 & k \neq n \end{cases} \).
\[ H_k(S^n, S^n \setminus S) \cong \begin{cases} \mathbb{Z} & k = n \\ 0 & k \neq n. \end{cases} \]\[ H_1(S^n) = 0 \to H_1(S^n, S^n \setminus S) = 0 \to \tilde H_0(S^n \setminus S) \to \tilde H_0(S^n) = 0. \]\[ H_n(S^n) \cong \mathbb{Z} \to H_n(S^n, S^n \setminus S) \cong \mathbb{Z} \xrightarrow{\partial_*} H_{n-1}(S^n \setminus S) \to H_{n-1}(S^n) = 0, \]\[ 0 = H_1(S^n) \to H_1(S^n, S^n \setminus S) = 0 \to H_0(S^n \setminus S) \to H_0(S^n) \cong \mathbb{Z}. \]From the second row, \( H_0(S^n \setminus S) \) maps injectively to \( \mathbb{Z} \), so \( H_0(S^n \setminus S) \cong \mathbb{Z}^2 \) (two components). The full verification uses a careful Alexander duality argument. \( \square \)
Section 5.4: Borsuk–Ulam Theorem
Proof sketch for general \( n \). If \( f(x) \neq f(-x) \) for all \( x \), define the odd map \( g : S^n \to S^{n-1} \) by \( g(x) = (f(x) - f(-x))/|f(x) - f(-x)| \). Odd maps \( S^n \to S^{n-1} \) lead to a contradiction via \( \mathbb{Z}/2 \)-cohomology (the Borsuk odd mapping theorem shows an odd map \( S^n \to S^n \) must have odd degree, and a map \( S^n \to S^{n-1} \) cannot be a homotopy equivalence, so by a connectivity argument this forces degree 0 from both sides — a contradiction). \( \square \)
Section 5.5: The Lefschetz Fixed-Point Theorem
The Lefschetz fixed-point theorem is the most powerful fixed-point theorem in topology. While the Brouwer theorem says “any map \( D^n \to D^n \) has a fixed point” without giving more information, the Lefschetz theorem provides an algebraic obstruction: if \( L(f) \neq 0 \), then \( f \) has a fixed point, and the computation of \( L(f) \) is a purely algebraic exercise.
The proof of the theorem uses the Lefschetz trace formula for simplicial maps, which says that the number of fixed points of a simplicial approximation to \( f \) (counted with multiplicity) equals \( L(f) \). This formula is an algebraic generalisation of the fact that the number of fixed points of a linear map \( A \) on a finite-dimensional vector space (counted with algebraic multiplicity) equals \( \mathrm{tr}(A) \). The full proof is given in Hatcher, Section 2.C.
The Lefschetz number satisfies a striking identity: \( L(f) = \chi(X) \) when \( f = \mathrm{id} \). This is because \( \mathrm{tr}(\mathrm{id}_{H_n}) = \dim H_n(X;\mathbb{Q}) = \beta_n \) and \( \chi(X) = \sum (-1)^n \beta_n \). This connects fixed-point theory to the Euler characteristic in a deep way.
Section 5.6: Invariance of Domain
Section 5.7: Classification of Compact Surfaces
- the sphere \( S^2 \),
- the connected sum of \( g \geq 1 \) tori \( \Sigma_g = T^2 \# \cdots \# T^2 \) (orientable, genus \( g \)),
- the connected sum of \( k \geq 1 \) projective planes \( N_k = \mathbb{RP}^2 \# \cdots \# \mathbb{RP}^2 \) (non-orientable).
- For \( X = \mathbb{CP}^n \): \( \chi(\mathbb{CP}^n) = n+1 \geq 2 \), so every map homotopic to the identity has a fixed point. In particular, every map \( f : \mathbb{CP}^n \to \mathbb{CP}^n \) induced by a projective transformation (which is homotopic to the identity) has a fixed point — a special case of the classical theorem on projective spaces.
- For \( X = S^{2n} \): \( \chi(S^{2n}) = 2 \), so \( L(\mathrm{id}) = 2 \neq 0 \) and every map homotopic to the identity has a fixed point. The antipodal map has \( L(A) = 0 \) (as computed above) and indeed has no fixed points.
- For \( X = T^2 \): \( \chi(T^2) = 0 \), so \( L(\mathrm{id}) = 0 \). However, specific maps can have nonzero Lefschetz number. For instance, the identity map has \( L = 0 \) but obviously has fixed points (every point!). This illustrates again that \( L(f) = 0 \) is not a necessary condition for the absence of fixed points.
Chapter 6: Higher Homotopy Groups
The fundamental group captures 1-dimensional “holes” and loops, but does not see higher-dimensional topology. The \( n \)-sphere \( S^n \) for \( n \geq 2 \) has trivial fundamental group — every loop is contractible — yet it is far from contractible. The missing invariants are the higher homotopy groups \( \pi_n(X, x_0) \), introduced by Hurewicz in 1935. These groups measure \( n \)-dimensional “holes” in a way analogous to \( \pi_1 \), but with much richer and less tractable structure.
The computation of homotopy groups of spheres remains one of the central unsolved problems of algebraic topology. While \( \pi_n(S^n) \cong \mathbb{Z} \) is a classical result (Brouwer, degree theory), already \( \pi_3(S^2) \cong \mathbb{Z} \) is surprising: a 3-dimensional sphere wraps non-trivially around a 2-sphere. This was discovered by Hopf in 1931 via the Hopf fibration \( S^3 \to S^2 \), the archetypal example of a fibre bundle. The long exact sequence of a fibration is the main computational tool: it reduces the computation of \( \pi_*(S^2) \) to that of \( \pi_*(S^3) \) and \( \pi_*(S^1) \). The interplay of fibrations, homotopy groups, and homology (via Hurewicz) constitutes the deep fabric of this chapter.
Section 6.1: Definition and Basic Properties
The higher homotopy groups \( \pi_n(X) \) are defined analogously to \( \pi_1 \) but using maps from \( S^n \) rather than \( S^1 \). The key difference is that for \( n \geq 2 \), the groups are automatically abelian — a consequence of the Eckmann–Hilton argument, which says that any space equipped with two compatible group structures and a shared identity must have a single commutative group structure.
Computing higher homotopy groups is dramatically harder than computing homology groups. For spheres, the groups \( \pi_k(S^n) \) are completely known for small \( k \) or small \( n \), but the general pattern is extremely complex: there are infinitely many \( k \) for which \( \pi_k(S^2) \neq 0 \), and the groups grow in an apparently chaotic fashion. This is in stark contrast with homology: \( H_k(S^n) \) is trivial except in degrees 0 and \( n \).
The main computational tools for \( \pi_n \) are: (1) the long exact sequence of a fibration (which reduces computations to smaller pieces); (2) the Hurewicz theorem (which identifies \( \pi_n \) with \( H_n \) in the first nonvanishing degree); and (3) obstruction theory (which studies when maps can be extended over cells). The Hopf fibration is the prototype for method (1), and its long exact sequence gives the remarkable result \( \pi_3(S^2) \cong \mathbb{Z} \).
Section 6.2: Homotopy Groups of \( S^1 \)
The vanishing of \( \pi_n(S^1) \) for \( n \geq 2 \) is one of the most elegant consequences of covering space theory. It says that the circle, despite being a “nontrivial” 1-dimensional space, looks contractible from the perspective of maps from spheres of dimension \( \geq 2 \). This is because the universal cover \( \mathbb{R} \) is contractible, and any map \( S^n \to S^1 \) with \( n \geq 2 \) must lift to \( \mathbb{R} \) (since \( \pi_n(S^n) \to \pi_n(S^1) \) and \( \pi_1(S^n) = 0 \) for \( n \geq 2 \) implies the lifting criterion is satisfied), and then is null-homotopic in \( \mathbb{R} \).
This result means that the “homotopical complexity” of \( S^1 \) is entirely captured by \( \pi_1(S^1) = \mathbb{Z} \). Higher-dimensional maps see only the universal cover. This is a special case of a general principle: for any \( K(\pi,1) \) space (a space with \( \pi_1 = \pi \) and \( \pi_n = 0 \) for \( n \geq 2 \)), the homotopy type is completely determined by the fundamental group. Eilenberg–MacLane spaces \( K(\pi,n) \) generalise this: they have exactly one nonvanishing homotopy group (in degree \( n \)) and play a central role in the theory of cohomology operations.
By exactness, \( \pi_n(S^1) = 0 \).
\[ 0 = \pi_1(\mathbb{R}) \to \pi_1(S^1) \xrightarrow{\partial} \pi_0(\mathbb{Z}) \to \pi_0(\mathbb{R}) = 0. \]Here \( \pi_0(\mathbb{Z}) = \mathbb{Z} \) (the path components of \( \mathbb{Z} \) are the individual integers). Exactness forces \( \partial : \pi_1(S^1) \xrightarrow{\sim} \mathbb{Z} \) to be an isomorphism, recovering \( \pi_1(S^1) \cong \mathbb{Z} \). \( \square \)
Section 6.3: The Hopf Fibration and \( \pi_3(S^2) \)
The Hopf fibration is the most famous fibre bundle in topology, and its discovery by Hopf in 1931 was one of the landmark events in the history of homotopy theory. Before Hopf, it was believed (based on homological evidence) that maps between spheres of different dimensions could always be contracted to a point — that all elements of \( \pi_k(S^n) \) for \( k > n \) were trivial. The Hopf fibration showed this was completely wrong: \( \eta : S^3 \to S^2 \) cannot be contracted to a point.
The geometric picture of the Hopf fibration is beautiful. The fibres are great circles on \( S^3 \subset \mathbb{R}^4 \cong \mathbb{C}^2 \), and any two distinct fibres are linked (in the sense of knot theory) in \( S^3 \). The base space \( S^2 \) is the space of fibres, parametrised by \( [z_0:z_1] \in \mathbb{CP}^1 \). The total space \( S^3 \) is fibred over \( S^2 \) with circle fibres, and the monodromy (how fibres twist as you go around loops in the base) is nontrivial — this is the topological content of \( \pi_3(S^2) \cong \mathbb{Z} \).
- \( \pi_3(S^1) = 0 \) (proved in Section 6.2),
- \( \pi_2(S^1) = 0 \) (proved in Section 6.2),
- \( \pi_2(S^3) = 0 \) (since \( S^3 \) is 2-connected; the Hurewicz theorem in Section 6.4 gives \( \pi_2(S^3) \cong H_2(S^3) = 0 \)),
- \( \pi_3(S^3) \cong \mathbb{Z} \) (Hurewicz: \( S^3 \) is 2-connected and \( H_3(S^3) \cong \mathbb{Z} \)).
Section 6.4: The Hurewicz Theorem
The Hurewicz theorem is the deepest result connecting homotopy and homology. In its simplest form, it says: if a space has no homotopy below dimension \( n \), then its first nonvanishing homology group equals its first nonvanishing homotopy group. This is the algebraic topology analogue of the physicist’s principle that “a system with no low-energy excitations has its first excited state at exactly the energy gap.” The connectivity assumption (\( \pi_k = 0 \) for \( k < n \)) is the “energy gap,” and the Hurewicz isomorphism \( \pi_n \cong H_n \) is the identification of the ground state.
The proof of the Hurewicz theorem is by induction on \( n \), using the long exact sequence of a pair and the relative Hurewicz theorem. The base case \( n = 1 \) is the \( H_1 = \pi_1^{\mathrm{ab}} \) theorem proved in Chapter 5. The inductive step uses the pair \( (CX, X) \) where \( CX = X \times [0,1] / (X \times \{1\}) \) is the cone on \( X \) (which is contractible), and the identification \( H_n(CX, X) \cong \tilde H_{n-1}(X) \cong \tilde H_{n-1}(X) \).
Section 6.5: Whitehead’s Theorem
Whitehead’s theorem says that, for CW complexes, a map that is an isomorphism on all homotopy groups is already a homotopy equivalence. This is a remarkable rigidity result: it says that the homotopy type of a CW complex is completely determined by the collection of homotopy groups, together with the maps between them induced by the CW structure. In contrast, non-CW spaces can have trivial homotopy groups without being contractible (the Warsaw circle being the standard example).
The proof of Whitehead’s theorem is a delicate argument using the Hurewicz theorem and the relative Hurewicz theorem. The key step is showing that a weak homotopy equivalence \( f : X \to Y \) induces isomorphisms on all homology groups (by the relative Hurewicz theorem applied to the mapping cylinder), and then using the Whitehead theorem for maps that are isomorphisms on both \( \pi_* \) and \( H_* \) to construct the homotopy inverse.
Whitehead’s theorem has a useful corollary: a CW complex is contractible if and only if all its homotopy groups are trivial. This “algebraic” characterisation of contractibility is one of the most powerful tools in the theory: to show a CW complex is contractible, it suffices to show it is weakly contractible (all \( \pi_n = 0 \)).
Section 6.5b: Eilenberg–MacLane Spaces
- \( K(\mathbb{Z}, 1) = S^1 \): since \( \pi_1(S^1) = \mathbb{Z} \) and \( \pi_n(S^1) = 0 \) for \( n \geq 2 \) (proved in Section 6.2).
- \( K(\mathbb{Z}/2, 1) = \mathbb{RP}^\infty \): the infinite-dimensional real projective space, defined as the direct limit \( \mathbb{RP}^\infty = \lim_{\to} \mathbb{RP}^n \). It has \( \pi_1 = \mathbb{Z}/2 \) and all higher \( \pi_k = 0 \), since the universal cover is \( S^\infty \), which is contractible.
- \( K(\mathbb{Z}, 2) = \mathbb{CP}^\infty \): the infinite-dimensional complex projective space. It has \( \pi_2 = \mathbb{Z} \) and \( \pi_k = 0 \) for \( k \neq 2 \). This follows from the fibration \( S^1 \to S^\infty \to \mathbb{CP}^\infty \) with contractible total space, giving \( \pi_n(\mathbb{CP}^\infty) \cong \pi_{n-1}(S^1) \), which is \( \mathbb{Z} \) for \( n=2 \) and 0 otherwise.
- \( K(\mathbb{Z}, n) \) for general \( n \): constructed by attaching cells to kill all homotopy groups except \( \pi_n \).
Section 6.6: Stable Homotopy Groups and the Freudenthal Theorem
This theorem implies that the groups \( \pi_{n+k}(S^k) \) stabilise as \( k \to \infty \): for \( k > n+1 \), the group \( \pi_{n+k}(S^k) \) is independent of \( k \). This stable value is denoted \( \pi_n^{\mathrm{st}} \) and is the \( n \)-th stable homotopy group of spheres.
| \( n \) | \( \pi_n^{\mathrm{st}} \) | First stable value |
|---|---|---|
| 0 | \( \mathbb{Z} \) | \( \pi_k(S^k) \), all \( k \geq 1 \) |
| 1 | \( \mathbb{Z}/2 \) | \( \pi_3(S^2) \to \pi_4(S^3) \to \cdots \) stabilises |
| 2 | \( \mathbb{Z}/2 \) | |
| 3 | \( \mathbb{Z}/24 \) | Related to exotic 7-spheres |
| 4 | 0 | |
| 5 | 0 | |
| 6 | \( \mathbb{Z}/2 \) | |
| 7 | \( \mathbb{Z}/240 \) | Image of J-homomorphism |
- \( \pi_1 \) is sensitive to 1-dimensional loops and is generally non-abelian.
- \( H_n \) is abelian and detects "holes" efficiently, but is insensitive to subtle homotopy phenomena (e.g., \( H_3(S^2) = 0 \) despite \( \pi_3(S^2) \cong \mathbb{Z} \)).
- \( \pi_n \) is the most refined but hardest to compute; even for \( S^2 \) the groups \( \pi_n(S^2) \) are not fully understood in general.
Chapter 7: Cohomology — An Introduction
The dual perspective to homology is cohomology. While homology assigns to each space a sequence of abelian groups \( H_n(X) \) measuring \( n \)-dimensional “holes,” cohomology assigns groups \( H^n(X) \) that measure \( n \)-dimensional “cocycles” — functions on chains. The switch from homology to cohomology is algebraically analogous to the switch from a vector space to its dual, but the topological content is different and often richer: cohomology admits a cup product making \( H^*(X) = \bigoplus_n H^n(X) \) into a graded ring, not just a graded abelian group. This ring structure distinguishes spaces that homology cannot.
Historically, cohomology was introduced in the 1930s by Alexander and Čech, motivated by duality theorems (Poincaré duality, Alexander duality) connecting the homology and cohomology of manifolds and their complements. The cup product was formalised by Kolmogorov and Alexander in 1936, and the full structure of the cohomology ring became a central tool with the work of Cartan, Serre, and Steenrod in the 1950s. The cohomology ring is strictly more powerful than homology: for instance, \( S^2 \times S^4 \) and \( \mathbb{CP}^3 \) have the same homology groups (\( \mathbb{Z} \) in degrees 0, 2, 4, 6) but different cohomology rings (the former has no nonzero cup product \( H^2 \otimes H^2 \to H^4 \), the latter does).
Section 7.1: Cochain Complexes and Cohomology
- \( H^n(S^k;\mathbb{Z}) = \mathbb{Z} \) for \( n = 0 \) or \( n = k \); \( 0 \) otherwise.
- \( H^n(T^2;\mathbb{Z}) = \mathbb{Z} \) for \( n = 0, 2 \); \( \mathbb{Z}^2 \) for \( n = 1 \); \( 0 \) for \( n \geq 3 \).
- \( H^n(\mathbb{RP}^2;\mathbb{Z}) = \mathbb{Z} \) for \( n = 0 \); \( 0 \) for \( n = 1 \); \( \mathbb{Z}/2 \) for \( n = 2 \); \( 0 \) for \( n \geq 3 \).
- \( H^n(\mathbb{CP}^k;\mathbb{Z}) = \mathbb{Z} \) for \( n \) even with \( 0 \leq n \leq 2k \); \( 0 \) otherwise.
Section 7.2: The Cup Product
- Associativity: \( (\alpha \cup \beta) \cup \gamma = \alpha \cup (\beta \cup \gamma) \).
- Graded commutativity: \( \alpha \cup \beta = (-1)^{|\alpha||\beta|} \beta \cup \alpha \) where \( |\alpha| \) denotes the degree of \( \alpha \).
- Naturality: For \( f : X \to Y \), \( f^*(\alpha \cup \beta) = f^*(\alpha) \cup f^*(\beta) \).
- Unit: The class \( 1 \in H^0(X;R) \) (the class of the constant cochain with value \( 1_R \)) satisfies \( 1 \cup \alpha = \alpha = \alpha \cup 1 \).
Section 7.2b: De Rham Cohomology (Comparison)
\[ H^k_{\mathrm{dR}}(M) = \ker(d : \Omega^k(M) \to \Omega^{k+1}(M)) / \mathrm{im}(d : \Omega^{k-1}(M) \to \Omega^k(M)). \]The de Rham theorem (proved using integration of forms over singular chains) states that \( H^k_{\mathrm{dR}}(M) \cong H^k(M;\mathbb{R}) \) for any smooth manifold \( M \).
Section 7.3: Poincaré Duality
One of the most beautiful theorems in algebraic topology, Poincaré duality establishes a symmetry between the homology and cohomology groups of an oriented closed manifold. Poincaré stated a version in 1895 (in terms of Betti numbers), and the modern statement using the cap product was given by Poincaré himself and later made rigorous by Lefschetz, Čech, and de Rham.
Step 1 (Local case): For \( \mathbb{R}^n \), one shows \( H^k_c(\mathbb{R}^n) \cong H_{n-k}(\mathbb{R}^n) \), where \( H^k_c \) denotes compactly supported cohomology. This follows from explicit calculation: \( H^k_c(\mathbb{R}^n) = \mathbb{Z} \) if \( k=n \) and 0 otherwise, while \( H_0(\mathbb{R}^n) = \mathbb{Z} \) and \( H_k(\mathbb{R}^n) = 0 \) for \( k \geq 1 \).
Step 2 (Inductive step): For a manifold \( M \) covered by opens \( U, V \) each satisfying Poincaré duality (by induction), a Mayer–Vietoris argument shows \( M = U \cup V \) also satisfies it. The key is that the Mayer–Vietoris sequences for homology and compactly supported cohomology are compatible under the duality isomorphism.
Step 3 (Global): Any compact oriented \( n \)-manifold \( M \) is covered by finitely many coordinate charts homeomorphic to \( \mathbb{R}^n \). By the inductive argument, Poincaré duality holds for \( M \). The isomorphism \( H^k(M) \cong H_{n-k}(M) \) is then identified with cap product with \( [M] \). \( \square \)
- Signature: For a closed oriented \( 4k \)-manifold, the cup product pairing \( H^{2k}(M;\mathbb{R}) \times H^{2k}(M;\mathbb{R}) \to \mathbb{R} \) is a symmetric bilinear form (by graded commutativity of the cup product in even degree). Its signature \( \sigma(M) = b^+ - b^- \) (where \( b^\pm \) are the numbers of positive/negative eigenvalues) is a topological invariant. For \( 4 \)-manifolds, \( \sigma(M) \) is one of the most important invariants in smooth topology.
- Intersection form: By Poincaré duality, the cup product \( H^k \times H^{n-k} \to H^n \cong \mathbb{Z} \) corresponds under duality to an intersection form on homology, measuring how cycles of complementary dimension intersect. This is the algebraic encoding of geometric intersection.
- Euler characteristic: Poincaré duality implies \( \chi(M) = \sum (-1)^k \mathrm{rank}(H^k) = \sum (-1)^k \mathrm{rank}(H_{n-k}) \). For \( n \) odd, this gives \( \chi(M) = 0 \) (pairing \( H^k \) with \( H^{n-k} \) and noting that odd-dimensional pairs cancel). So all odd-dimensional closed orientable manifolds have \( \chi = 0 \). For \( S^n \) with \( n \) odd: \( \chi(S^n) = 0 \). For \( T^{2k+1} \): \( \chi = 0 \). This is consistent with what we computed directly.
Appendix: Key Exact Sequences
For reference, here are the most important long exact sequences used throughout this course.
\[ \cdots \to H_n(A) \xrightarrow{i_*} H_n(X) \xrightarrow{j_*} H_n(X,A) \xrightarrow{\partial_*} H_{n-1}(A) \to \cdots \]\[ \cdots \to H_n(A \cap B) \xrightarrow{\Phi} H_n(A) \oplus H_n(B) \xrightarrow{\Psi} H_n(X) \xrightarrow{\partial} H_{n-1}(A \cap B) \to \cdots \]\[ \cdots \to \pi_n(F) \xrightarrow{i_*} \pi_n(E) \xrightarrow{p_*} \pi_n(B) \xrightarrow{\partial} \pi_{n-1}(F) \to \cdots \to \pi_0(E) \to \pi_0(B) \]\[ h_n : \pi_n(X) \xrightarrow{\sim} H_n(X). \]Each of these sequences encodes a fundamental relationship between algebraic invariants. The long exact sequence of a pair measures the “relative” contribution of a subspace; Mayer–Vietoris decomposes a space into simpler pieces; the fibration sequence relates the topology of a total space to that of its base and fibre; and the Hurewicz isomorphism connects the homotopy-theoretic and homological perspectives on connectivity. Together they constitute the computational spine of algebraic topology: every computation in this course reduces to reading off one of these sequences, computing its terms, and deducing the unknown groups from exactness.
Appendix B: Glossary of Key Terms
Abelianisation — For a group \( G \), the quotient \( G^{\mathrm{ab}} = G/[G,G] \) by the commutator subgroup. The abelianisation of \( \pi_1(X) \) equals \( H_1(X) \) for path-connected \( X \).
Attaching map — A continuous map \( \phi : S^{n-1} \to X^{n-1} \) used to attach an \( n \)-cell to an \( (n-1) \)-skeleton in a CW complex.
Betti numbers — The ranks \( \beta_n = \mathrm{rank}(H_n(X;\mathbb{Z})) \). For a finite CW complex, \( \chi(X) = \sum (-1)^n \beta_n \).
Boundary operator — The map \( \partial_n : C_n(X) \to C_{n-1}(X) \) in a chain complex, satisfying \( \partial^2 = 0 \). In simplicial homology, it is the alternating sum of face restrictions.
Cap product — A pairing \( H^k(X;R) \otimes H_n(X;R) \to H_{n-k}(X;R) \) implementing Poincaré duality for oriented manifolds.
Chain complex — A sequence of abelian groups \( \cdots \to C_n \xrightarrow{\partial_n} C_{n-1} \to \cdots \) with \( \partial_{n-1} \circ \partial_n = 0 \).
Chain homotopy — A collection of maps \( P_n : C_n \to C_{n+1} \) with \( \partial P + P \partial = f_* - g_* \), used to prove that homotopic maps induce the same maps on homology.
Coboundary — An element of \( \mathrm{im}(\delta^{n-1} : C^{n-1} \to C^n) \) in the cochain complex.
Cochain complex — The dual of a chain complex: \( \cdots \to C^{n-1} \xrightarrow{\delta} C^n \xrightarrow{\delta} C^{n+1} \to \cdots \) with \( C^n = \mathrm{Hom}(C_n, G) \).
Cocycle — An element of \( \ker(\delta^n : C^n \to C^{n+1}) \).
Cohomology — The groups \( H^n(X;G) = \ker \delta^n / \mathrm{im}\, \delta^{n-1} \) of the cochain complex.
Connecting homomorphism — The map \( \partial_* : H_n(X,A) \to H_{n-1}(A) \) (or \( \partial : \pi_n(B) \to \pi_{n-1}(F) \)) in a long exact sequence, defined by lifting and taking boundaries.
Contractible — Homotopy equivalent to a point; equivalently, the identity map is null-homotopic.
Covering map — A surjective continuous map \( p : \tilde X \to X \) such that every point of \( X \) has an evenly covered neighbourhood.
CW complex — A space built inductively by attaching cells via attaching maps; the standard framework for algebraic topology computations.
Deck transformation — A homeomorphism \( \phi : \tilde X \to \tilde X \) commuting with a covering map \( p : \tilde X \to X \).
Deformation retract — A subspace \( A \subseteq X \) together with a retraction \( r : X \to A \) and a homotopy from \( \mathrm{id}_X \) to \( i \circ r \) fixing \( A \) pointwise.
Degree — For a map \( f : S^n \to S^n \), the integer \( \deg(f) \) such that \( f_* = \deg(f) \cdot \mathrm{id} \) on \( H_n(S^n) \cong \mathbb{Z} \).
Euler characteristic — The alternating sum \( \chi(X) = \sum (-1)^n c_n \) of cell counts, equal to \( \sum (-1)^n \beta_n \) by the Euler–Poincaré formula.
Excision — The theorem that removing a set from both a pair and its ambient space does not change relative homology, under appropriate interior conditions.
Fibration — A map \( p : E \to B \) with the homotopy lifting property for all spaces; generalises covering maps. Fibre bundles are fibrations.
Free group — A group with no relations among its generators; the free group \( F_n \) on \( n \) generators has \( \pi_1(\bigvee^n S^1) = F_n \).
Free product — The group \( G * H \) of reduced words from \( G \) and \( H \) alternately; universal for pairs of homomorphisms out of \( G \) and \( H \).
Fundamental class — The generator \( [M] \in H_n(M;\mathbb{Z}) \) of the top homology of a closed oriented \( n \)-manifold; the source of Poincaré duality.
Fundamental group — \( \pi_1(X, x_0) \), the group of path-homotopy classes of loops at \( x_0 \).
Good pair — A pair \( (X,A) \) with \( A \) a deformation retract of some neighbourhood; for good pairs, \( H_n(X,A) \cong \tilde H_n(X/A) \).
Homology — The groups \( H_n(X) = \ker \partial_n / \mathrm{im}\, \partial_{n+1} \) measuring \( n \)-dimensional “holes.”
Homotopy — A continuous deformation \( H : X \times [0,1] \to Y \) between two maps.
Homotopy equivalence — A map with a homotopy inverse; the natural notion of “sameness” in homotopy theory.
Homotopy group — \( \pi_n(X, x_0) \), the group of homotopy classes of based maps \( (S^n, s_0) \to (X, x_0) \).
Hurewicz homomorphism — The natural map \( h_n : \pi_n(X) \to H_n(X) \), an isomorphism when \( X \) is \( (n-1) \)-connected.
Lefschetz number — \( L(f) = \sum (-1)^n \mathrm{tr}(f_* : H_n(X;\mathbb{Q}) \to H_n(X;\mathbb{Q})) \); nonzero implies \( f \) has a fixed point.
Lift — A map \( \tilde f \) to a covering space such that \( p \circ \tilde f = f \).
Long exact sequence — An exact sequence of abelian groups extending infinitely in one or both directions, arising from a short exact sequence of chain complexes.
Mayer–Vietoris sequence — The long exact sequence \( \cdots \to H_n(A \cap B) \to H_n(A) \oplus H_n(B) \to H_n(X) \to H_{n-1}(A \cap B) \to \cdots \) for \( X = A \cup B \).
Path-connected — A space in which any two points can be joined by a path.
Poincaré duality — The isomorphism \( H^k(M) \cong H_{n-k}(M) \) for closed oriented \( n \)-manifolds, implemented by cap product with the fundamental class.
Relative homology — \( H_n(X,A) = H_n(C_*(X)/C_*(A)) \); measures cycles in \( X \) relative to the “base” \( A \).
Retraction — A map \( r : X \to A \) with \( r|_A = \mathrm{id}_A \).
Seifert–van Kampen theorem — The theorem that \( \pi_1(U \cup V) \cong \pi_1(U) *_{\pi_1(U \cap V)} \pi_1(V) \) under connectivity hypotheses.
Singular simplex — Any continuous map \( \sigma : \Delta^n \to X \), without injectivity requirements.
Suspension — \( SX = X \times [0,1] / \sim \), the space obtained by coning \( X \) at both ends.
Universal coefficient theorem — The short exact sequence \( 0 \to H_n(X) \otimes G \to H_n(X;G) \to \mathrm{Tor}(H_{n-1}(X),G) \to 0 \).
Universal cover — The simply connected covering space \( \tilde X \to X \); unique up to isomorphism.
Weak homotopy equivalence — A map inducing isomorphisms on all homotopy groups; a homotopy equivalence between CW complexes by Whitehead’s theorem.
Winding number — The degree of a loop in \( S^1 \); gives the isomorphism \( \pi_1(S^1) \cong \mathbb{Z} \).