I’ll probably be posting a lot less frequently for a while, as I now have something else to occupy my time: my son Arthur was born last week! But I’ve been working on this post for a while, so I wanted to get it out.

I’m a category theorist at heart (although it’s getting to the point where I can start calling myself a homotopy type theorist too). But my advisor, Peter May, is an algebraic topologist (with categorical leanings), so I sat in on a lot of algebric topology lectures as a grad student. And always, one of the most mystifying things in algebraic topology to me was the notion of a spectral sequence. All the topologists loved them as a calculational tool, but I never felt as though I had any conceptual understanding of what they meant, and without that I wasn’t really able to motivate myself to learn to calculate with them.

Recently, however, I acquired a new motivation: homotopy type theory is rapidly pushing up against the boundaries of algebro-topological calculations that can be done classically without spectral sequences, so it started to feel somewhat urgent that we get some idea of whether spectral sequences exist in HoTT. After whacking my head against this problem for a bit, I think I can provisionally answer that yes, they do. Moreover, this process of whacking my head has finally jarred something loose, so that I now have an answer to the question “what is a spectral sequence?” that’s at least more satisfying to me that anything I’d come up with before. I expect that it’s “well-known to the people who know it”, but I haven’t seen it written out it just this way before.

In this post I’m going to explain this answer. Like most explanations of spectral sequences, it focuses on a particular spectral sequence; in this case, the spectral sequence of a tower of fibrations (of spaces or spectra). No homotopy type theory is required, although anyone who’s read through Chapter 8 of the HoTT Book ought to be able to translate into HoTT pretty easily. In a companion post at the HoTT blog, I’ll explain how to deduce the Atiyah-Hirzebruch and Serre spectral sequences, and hopefully give a taste of what they can do for us.

There are many answers to “what is a spectral sequence?”, but the one I’m proposing right now is the following analogy. (In my experience, category theorists tend to like analogies — possibly because, as John Baez once said, every sufficiently good analogy is yearning to become a functor. This one is no exception.)

Spectral sequences are to long exact sequences as iterated extensions are to extensions.

(Without knowing anything else, the terminology suggests that spectral sequences could also be called “iterated long exact sequences”.)

There are four phrases here that I need to explain, and two more concepts that have a ghostly presence (fibration sequences and iterated fibration sequences). First of all, an extension is a sequence of morphisms of abelian groups (for simplicity — more generally we could be in any abelian category): A → f B → g C A \xrightarrow{f} B \xrightarrow{g} C such that f f is the inclusion of the kernel of g g , and g g is the quotient of B B by the image of f f . Equivalently, f f is injective, g g is surjective, and the image of f f is equal to the kernel of g g . The simplest example is A → ( id , 0 ) A ⊕ C → proj 2 C . A \xrightarrow{(id,0)} A\oplus C \xrightarrow{proj_2} C. An extension that’s isomorphic to one of this form is said to be split. In general, we can regard an extension as exhibiting B B as “put together” in some more general way from A A and C C ; we say that B B is an “extension of C C by A A ”. The underlying set of B B is always isomorphic to the cartesian product A × C A\times C , so we can think of B B as a sort of “twisted product” of A A and C C . (In fact, as usual in this sort of situtaion, the twisting is measured by a cohomology class, living in Ext 1 ( C , A ) Ext^1(C,A) , but we won’t need that today.)

Thinking of B B as put together from A A and C C , we can draw certain conclusions about the one from the other, or the other from the one. The most obvious is that if A = C = 0 A=C=0 , then also B = 0 B=0 . The converse also holds: if B = 0 B=0 , then A = C = 0 A=C=0 . If only A = 0 A=0 , then we can conclude B = C B=C , and similarly if C = 0 C=0 we have A = B A=B . We can also say fancier things of this sort, e.g. B B is finite, or finitely generated, if and only if both A A and C C are.

Next, a long exact sequence (LES) is a longer sequence of morphisms of abelian groups ⋯ → f n + 1 A n + 1 → f n A n → f n − 1 ⋯ \cdots \xrightarrow{f_{n+1}} A_{n+1} \xrightarrow{f_n} A_n \xrightarrow{f_{n-1}} \cdots such that for each n n , the image of f n f_n is equal to the kernel of f n − 1 f_{n-1} (called “exactness at A n A_n ”). The sequence might be infinite or finite in either direction. How are LES’s related to extensions? Well, one obvious relationship is that an extension can equivalently be described as an exact sequence of the form 0 → A → f B → g C → 0 0 \to A \xrightarrow{f} B \xrightarrow{g} C \to 0 (a “short exact sequence”), since in such a sequence, exactness at A A just means injectivity of f f , and exactness at C C just means surjectivity of g g . However, what I want to focus on instead is the basic homotopical origin of LES’s, namely fibration sequences. A fibration sequence is a sequence of maps of pointed spaces X → f Y → g Z X \xrightarrow{f} Y \xrightarrow{g} Z such that f f is (up to homotopy) the inclusion of the homotopy fiber of g g over the basepoint. (By “space” I really mean “ ∞ \infty -groupoid”, which a classical topologist could read as “topological space up to weak homotopy equivalence” or “simplicial set up to weak homotopy equivalence”, and a homotopy type theorist could read as “type”.) The simplest example is X → X × Z → Z , X \to X\times Z \to Z, the “trivial bundle” over Z Z with fiber X X . In general, we can think of Y Y as being “put together” from X X and Z Z in some more general way, as a “twisted product”. Note that this is very similar to how we think of an extension, except that we’ve replaced our abelian groups with spaces.

Of course, a space is not exactly an abelian group, but it contains many abelian groups, namely its homotopy groups. So we might expect that if Y Y is a twisted product of X X and Z Z as above, that its homotopy groups π n ( Y ) \pi_n(Y) would be twisted products of π n ( X ) \pi_n(X) and π n ( Z ) \pi_n(Z) , i.e. that there would be extensions π n ( X ) → π n ( Y ) → π n ( Z ) \pi_n(X) \to \pi_n(Y) \to \pi_n(Z) . This is not true, since the various dimensions n n can “interact” in a nontrivial way; but instead we have a long exact sequence ⋯ → π n + 1 ( X ) → π n + 1 ( Y ) → π n + 1 ( Z ) → π n ( X ) → π n ( Y ) → π n ( Z ) → ⋯ . \cdots \to \pi_{n+1}(X) \to \pi_{n+1}(Y) \to \pi_{n+1}(Z) \to \pi_n(X) \to \pi_n(Y) \to \pi_n(Z) \to \cdots. This LES can be regarded as expressing a way in which the groups π n ( Y ) \pi_n(Y) , considered as a whole, are “put together” out of the π n ( X ) \pi_n(X) ’s and π n ( Z ) \pi_n(Z) ’s. We get some of the same sorts of results, e.g. if π n ( X ) = 0 \pi_n(X)=0 for all n n , then π n ( Y ) = π n ( Z ) \pi_n(Y) = \pi_n(Z) for all n n , and dually. But some different things happen, e.g. if π n ( Y ) = 0 \pi_n(Y)=0 for all n n , rather than π n ( X ) = 0 = π n ( Z ) \pi_n(X) = 0 = \pi_n(Z) we get π n ( X ) = π n + 1 ( Z ) \pi_n(X) = \pi_{n+1}(Z) for all n n (and indeed, if Y Y is contractible, then X = Ω Z X = \Omega Z ).

Another way to express the LES of a fibration, which looks more like what we’ll see for spectral sequences later on, is that there exist maps δ n : π n ( Z ) → π n − 1 ( X ) \delta_n : \pi_n(Z) \to \pi_{n-1}(X) and extensions im ( δ n + 1 ) → π n ( Y ) → ker ( δ n ) . im(\delta_{n+1}) \to \pi_n(Y) \to ker(\delta_n). In other words, instead of π n ( Y ) \pi_n(Y) being put together from π n ( X ) \pi_n(X) and π n ( Z ) \pi_n(Z) , it’s put together from a subgroup of π n ( Z ) \pi_n(Z) and a quotient of π n ( X ) \pi_n(X) . This allows us to fulfil the yearnings of the analogy between fibration sequences and extensions: for each n n there’s a functor from the category of fibration sequences to the category of extensions, sending X → Y → Z X\to Y\to Z to the above extension.

Of course, π n \pi_n is only an abelian group for n ≥ 2 n\ge 2 . Some of what we do with abelian groups can be extended to the case of groups ( n = 1 n=1 ) and pointed sets ( n = 0 n=0 ), but I don’t want to get into that. Feel free to assume all spaces are simply connected. Another way to avoid nonabelianness is to replace spaces with spectra, in which case π n \pi_n is an abelian group not only for all n ≥ 0 n\ge 0 but for all n ∈ ℤ n\in \mathbb{Z} . In this case, the LES of a fibration sequence extends infinitely in both directions.

Now let’s move on to the other side of the analogy, starting with iterated extensions. By an iterated extension I mean a sequence of extensions of the following form: ⋮ A s + 1 → B s + 1 → B s A s → B s → B s − 1 A s − 1 → B s − 1 → B s − 2 ⋮ \array{ \vdots \\ A_{s+1} \to B_{s+1} \to B_s\\ A_s \to B_{s} \to B_{s-1} \\ A_{s-1} \to B_{s-1} \to B_{s-2}\\ \vdots } The intent here is to regard B : ≡ lim ( ⋯ → B s + 1 → B s → ⋯ ) B :\equiv \lim (\cdots \to B_{s+1} \to B_s \to \cdots) as “put together” from the A s A_s ’s and from C : ≡ colim ( ⋯ → B s + 1 → B s → ⋯ ) C :\equiv \colim (\cdots \to B_{s+1} \to B_s \to \cdots) . In many cases, the sequence of A s A_s ’s will be eventually zero in one direction or the other, so that the sequence of B s B_s ’s will similarly be eventually constant. Eventual constancy as s → ∞ s\to\infty implies that B B is the eventual value, while eventual constancy as s → − ∞ s\to-\infty implies that C C is that eventual value. In the latter case it simplifies things with no essential loss of generality to end with ⋮ A 1 → B 1 → B 0 B 0 → B 0 → 0 0 → 0 → 0 ⋮ \array{ \vdots \\ A_{1} \to B_{1} \to B_0\\ B_0 \to B_{0} \to 0 \\ 0 \to 0 \to 0 \\ \vdots } so that C = 0 C=0 and the A s A_s ’s are the only “ingredients” of B B (with A 0 = B 0 A_0 = B_0 ). I’m going to focus mostly on the case where this holds and the sequence is also eventually constant in the other direction, so we have only finitely many extensions. In this case it’s easy to draw some of the same sorts of conclusions as in a single extension, e.g. B = 0 B=0 if and only if all A s = 0 A_s=0 , and so on; the general case is sometimes trickier but often works out, although “ lim 1 \lim^1 ” terms start to pop up.

It’s more common to describe iterated extensions in terms of filtrations. From any iterated extension as above, we have a sequence of subgroups ⋯ ⊆ F s B ⊆ F s − 1 B ⊆ ⋯ ⊆ B \cdots \subseteq F_s B \subseteq F_{s-1} B \subseteq \cdots \subseteq B

where F s B F_s B is the kernel of the projection B → B s B \to B_s . Since this projection is surjective, we have B s = B / F s B B_s = B/F_s B , and hence A s = F s − 1 B / F s B A_s = F_{s-1} B/F_s B . Thus, the whole iterated extension can be recovered from the filtration: ⋮ F s B / F s + 1 B → B / F s + 1 B → B / F s B F s − 1 B / F s B → B / F s B → B / F s − 1 B ⋮ \array{ \vdots\\ F_s B / F_{s+1} B \to B / F_{s+1}B \to B/F_s B\\ F_{s-1} B / F_{s} B \to B / F_{s}B \to B/F_{s-1} B\\ \vdots } One problem with this point of view is that just having a filtration doesn’t ensure that B B is the limit lim s B / F s B \lim_s B/ F_s B . When this is the case, one says that the filtration is complete and Hausdorff. (As you might guess, these words refer to a uniformity induced on B B by the filtration.) The other condition we might want is that C = B / ⋃ s F s B C = B / \bigcup_s F_s B is zero, i.e. that ⋃ s F s B = B \bigcup_s F_s B = B ; a filtration with this property is called exhaustive. For finite iterated extensions, however, these conditions are all automatic.

A more serious problem with the filtration point of view is that it relies on the fact that the quotient of the kernel of a surjection is that same surjection — otherwise we couldn’t recover B s B_s from F s B F_s B . This is no longer true when we replace abelian groups by pointed spaces and extensions by fibration sequences. Thus, in that case we have to consider instead an iterated fibration sequence, consisting of a sequence of fibration sequences: ⋮ X s + 1 → Y s + 1 → Y s X s → Y s → Y s − 1 X s − 1 → Y s − 1 → Y s − 2 ⋮ \array{ \vdots \\ X_{s+1} \to Y_{s+1} \to Y_s\\ X_s \to Y_s \to Y_{s-1}\\ X_{s-1} \to Y_{s-1} \to Y_{s-2}\\ \vdots } As before, we view this as expressing the limit Y : ≡ lim s ( ⋯ → Y s + 1 → Y s → ⋯ ) Y :\equiv \lim_s (\cdots \to Y_{s+1}\to Y_s \to \cdots) as put together out of the X s X_s ’s. It’s more common to describe this as a tower of fibrations ⋯ → Y s + 1 → Y s → Y s − 1 → ⋯ \cdots \to Y_{s+1}\to Y_s \to Y_{s-1} \to \cdots since X s X_s is determined as the (homotopy) fiber of the map Y s → Y s − 1 Y_s \to Y_{s-1} . But by talking about iterated extensions instead of filtrations, and iterated fibration sequences instead of towers of fibrations, we can see the analogy much more easily.

(If we were working with spectra instead of spaces, then from an iterated fibration sequence we could define a “filtration” of the limit Y Y , where F s Y F_s Y is the fiber of the map Y → Y s Y\to Y_s . Then Y s Y_s would be the cofiber of F s Y → Y F_s Y \to Y . However, F s Y → Y F_s Y \to Y would not necessarily be “injective” in any sense.)

The goal now is to extract some algebraic relationship among the groups π n ( X s ) \pi_n(X_s) and π n ( Y ) \pi_n(Y) in an iterated fibration sequence, which relate to iterated extensions just as LES’s relate to extensions. Of course, the first thing we get is a sequence of LES’s: ⋮ ⋯ → π n ( X s + 1 ) → π n ( Y s + 1 ) → π n ( Y s ) → π n − 1 ( X s + 1 ) → ⋯ ⋯ → π n ( X s ) → π n ( Y s ) → π n ( Y s − 1 ) → π n − 1 ( X s ) → ⋯ ⋮ \array{ \vdots\\ \cdots \to \pi_n(X_{s+1}) \to \pi_n(Y_{s+1}) \to \pi_n(Y_s) \to \pi_{n-1}(X_{s+1}) \to \cdots \\ \cdots \to \pi_n(X_{s}) \to \pi_n(Y_{s}) \to \pi_n(Y_{s-1}) \to \pi_{n-1}(X_{s}) \to \cdots \\ \vdots } These sequences are related in that each group π n ( Y s ) \pi_n(Y_s) appears in two of them. This enables us to construct the following composite “connecting maps” π n ( X s ) → π n ( Y s ) → π n − 1 ( X s + 1 ) . \pi_n(X_s) \to \pi_n(Y_s) \to \pi_{n-1}(X_{s+1}). relating the homotopy groups of the fibers X s X_s . For reasons that will become clear later, we’ll call these maps d 2 d^2 (note that this does not mean the square of a map d d ; the superscript 2 2 is just an index). The first interesting thing we notice about them is that they satisfy d 2 ∘ d 2 = 0 d^2 \circ d^2 = 0 , since in the composite π n ( X s ) → π n ( Y s ) → π n − 1 ( X s + 1 ) → π n − 1 ( Y s + 1 ) → π n − 2 ( X s + 2 ) \pi_n(X_s) \to \pi_n(Y_s) \to \pi_{n-1}(X_{s+1}) \to \pi_{n-1}(Y_{s+1}) \to \pi_{n-2}(X_{s+2}) the middle two maps are adjacent in a LES, hence compose to 0 0 . Thus, for every value of n + s n+s , we have a chain complex ⋯ → d 2 π n ( X s ) → d 2 π n − 1 ( X s + 1 ) → d 2 π n − 2 ( X s + 2 ) → d 2 ⋯ . \cdots \xrightarrow{d^2} \pi_n(X_s) \xrightarrow{d^2} \pi_{n-1}(X_{s+1}) \xrightarrow{d^2} \pi_{n-2}(X_{s+2}) \xrightarrow{d^2} \cdots. Of course, if we’re experienced homological-algebraists, the first thing that we want to do with a chain complex is take its homology, but let’s step back a second to make sure that that’s a sensible thing to do.

A cycle in this chain complex is an element x ∈ π n ( X s ) x\in \pi_n(X_s) that becomes zero in π n − 1 ( X s + 1 ) \pi_{n-1}(X_{s+1}) . This means that when we map x x into π n ( Y s ) \pi_n(Y_s) , it lands in the kernel of π n ( Y s ) → π n − 1 ( X s + 1 ) \pi_n(Y_s) \to \pi_{n-1}(X_{s+1}) . But since the sequence ⋯ → π n ( X s + 1 ) → π n ( Y s + 1 ) → π n ( Y s ) → π n − 1 ( X s + 1 ) → ⋯ \cdots \to \pi_n(X_{s+1}) \to \pi_n(Y_{s+1}) \to \pi_n(Y_s) \to \pi_{n-1}(X_{s+1}) \to \cdots is exact, that means exactly that the image of x x in π n ( Y s ) \pi_n(Y_s) lies in the image of π n ( Y s + 1 ) \pi_n(Y_{s+1}) . In other words, an element x ∈ π n ( X s ) x\in \pi_n(X_s) automatically gives us an element of π n ( Y s ) \pi_n(Y_s) , while d 2 ( x ) d^2(x) is precisely the “obstruction” to lifting that to an element of π n ( Y s + 1 ) \pi_n(Y_{s+1}) . This naturally seems like the “first step” towards lifting it to an element of π n ( Y ) \pi_n(Y) , which is what we’re really interested in.

Similarly, a boundary in this chain complex is an element of π n ( X s ) \pi_n(X_s) that’s in the image of π n + 1 ( X s − 1 ) \pi_{n+1}(X_{s-1}) , and hence in particular in the image of π n + 1 ( Y s − 1 ) \pi_{n+1}(Y_{s-1}) . But since the sequence ⋯ → π n + 1 ( Y s − 1 ) → π n ( X s ) → π n ( Y s ) → π n ( Y s − 1 ) → ⋯ \cdots \to \pi_{n+1}(Y_{s-1}) \to \pi_n(X_{s}) \to \pi_n(Y_{s}) \to \pi_n(Y_{s-1}) \to \cdots is exact, any such element must map to zero in π n ( Y s ) \pi_n(Y_{s}) , and hence also lift to zero in π n ( Y s + 1 ) \pi_n(Y_{s+1}) . So the homology at π n ( X s ) \pi_n(X_s) (the group of cycles modulo the group of boundaries) is indeed a reasonable “second approximation” to “what we can learn about π n ( Y ) \pi_n(Y) from π n ( X s ) \pi_n(X_s) ”.

For a “third approximation”, we can more or less repeat the process. Given something in this homology “ H n , s ( π * ( X * ) ) H_{n,s}(\pi_\ast(X_\ast)) ”, we can lift it to π n ( Y s + 1 ) \pi_n(Y_{s+1}) , then map it into π n − 1 ( X s + 2 ) \pi_{n-1}(X_{s+2}) . The result is not well-defined because the lift is not well-defined, but its indeterminacy is precisely that of the lift, which by exactness is just an element of π n ( X s + 1 ) \pi_n(X_{s+1}) . Thus, we do have a well-defined element of the quotient of π n − 1 ( X s + 2 ) \pi_{n-1}(X_{s+2}) by the image of d 2 d^2 , which happens to also lie in the kernel of d 2 d^2 , and hence a map d 3 : H n , s ( π * ( X * ) ) → H n − 1 , s + 2 ( π * ( X * ) ) d^3 : H_{n,s}(\pi_\ast(X_\ast)) \to H_{n-1,s+2}(\pi_\ast(X_\ast)) . I’ll leave it to you to check that these maps make H n , s ( π * ( X * ) ) H_{n,s}(\pi_\ast(X_\ast)) into another chain complex, and that elements of its homology can be lifted to π n ( Y s + 2 ) \pi_n(Y_{s+2}) .

In order to describe these higher approximations uniformly, let’s introduce a bit more terminology. Recall that if G G is an abelian group, then a G G -graded abelian group is just a family ( A g ) g ∈ G (A_g)_{g\in G} of abelian groups indexed by the underlying set of G G . If A A and B B are G G -graded abelian groups and h ∈ G h\in G , then a degree- h h map f : A → B f:A\to B consists of maps f g : A g → B g + h f_g : A_g \to B_{g+h} for all g g . The composite of a degree- h 1 h_1 map with a degree- h 2 h_2 map is a degree- ( h 1 + h 2 ) (h_1+h_2) map. For example, an unbounded chain complex may be defined as a ℤ \mathbb{Z} -graded abelian group equipped with a degree-1 (or degree- ( − 1 ) (-1) ) endomap d d such that d ∘ d = 0 d \circ d = 0 (an equality of maps of degree 2 or ( − 2 ) (-2) ).

Now, the groups π n ( X s ) \pi_n(X_s) and π n ( Y s ) \pi_n(Y_s) can be assembled into a pair of ( ℤ × ℤ ) (\mathbb{Z}\times \mathbb{Z}) -graded abelian groups D D and E E , and three maps between them i i , j j , and k k . The obvious grading is by n n and s s , but for historical reasons, I’m going to choose a different basis of ℤ × ℤ \mathbb{Z}\times \mathbb{Z} , and write ( p , q ) (p,q) for the indexing elements. E p , q : ≡ π p + q ( X q ) E_{p,q} :\equiv \pi_{p+q}(X_q) D p , q : ≡ π p + q ( Y q ) D_{p,q} :\equiv \pi_{p+q}(Y_q) If p + q < 0 p+q\lt 0 , then by convention we set π p + q = 0 \pi_{p+q}=0 (unless we are working with spectra, in which case no special convention is needed). Now each long exact sequence ⋯ → π n ( X s ) → π n ( Y s ) → π n ( Y s − 1 ) → π n − 1 ( X s ) → ⋯ \cdots \to \pi_n(X_{s}) \to \pi_n(Y_{s}) \to \pi_n(Y_{s-1}) \to \pi_{n-1}(X_{s}) \to \cdots can be rewritten as ⋯ → E n − s , s → k n − s , s D n − s , s → i n − s , s D n − s + 1 , s − 1 → j n − s + 1 , s − 1 E n − s − 1 , s → ⋯ \cdots \to E_{n-s,s} \xrightarrow{k_{n-s,s}} D_{n-s,s} \xrightarrow{i_{n-s,s}} D_{n-s+1,s-1} \xrightarrow{j_{n-s+1,s-1}} E_{n-s-1,s} \to \cdots Together, the maps in these LES’s assemble into three graded maps D → i D k ↖ ↙ j E \array{ D & & \xrightarrow{i} & & D\\ & _{k}

warrow & & \swarrow_j\\ && E } where i i , j j , and k k have degrees ( 1 , − 1 ) (1,-1) , ( − 2 , 1 ) (-2,1) , and 0 0 respectively. Moreover, the exactness of the LES’s implies that this triangle is exact at each vertex. This structure (two graded groups D D and E E and maps i : D → D i:D\to D , j : D → E j:D\to E , and k : E → D k:E\to D of some degrees such that the above triangle is exact at each vertex) is called an exact couple.

Now we can formalize the above process of successive approximation through passage to homology as follows. Given any exact couple ( D , E , i , j , k ) (D,E,i,j,k) , we construct a new derived exact couple as follows.

The composite d : ≡ j k : E → E d :\equiv j k : E \to E satisfies d d = j k j k = 0 d d = j k j k = 0 , so we can define E ′ : ≡ ker ( d ) / im ( d ) E' :\equiv ker(d)/im(d) to be its homology.

satisfies , so we can define to be its homology. Let D ′ = im ( i ) ⊆ D D' = im(i) \subseteq D . (Of course, both of these should be interpreted “degreewise”, remembering that i i and d d may have nonzero degrees.)

. (Of course, both of these should be interpreted “degreewise”, remembering that and may have nonzero degrees.) Let i ′ : D ′ → D ′ i':D'\to D' be the restriction of i i to D ′ D' (which obviously lands inside D ′ D' ).

be the restriction of to (which obviously lands inside ). Define j ′ : D ′ → E ′ j':D'\to E' as follows. Given x ∈ D ′ x\in D' , we have x = i ( y ) x = i(y) for some y ∈ D y\in D ; let j ′ ( x ) j'(x) be the homology class determined by j ( y ) j(y) (which is a cycle since k j = 0 k j = 0 ). This is well-defined since if x = i ( y ′ ) x = i(y') as well, then i ( y − y ′ ) = 0 i(y-y') = 0 , hence y − y ′ = k ( z ) y-y' = k(z) for some z ∈ E z\in E , and thus j ( y ) − j ( y ′ ) = d ( z ) j(y) - j(y') = d(z) is a boundary.

as follows. Given , we have for some ; let be the homology class determined by (which is a cycle since ). This is well-defined since if as well, then , hence for some , and thus is a boundary. Define k ′ : E ′ → D ′ k':E'\to D' by restricting k k to ker ( d ) ker(d) (which lands inside D ′ D' since if d ( x ) = j ( k ( x ) ) = 0 d(x) = j(k(x)) = 0 , then k ( x ) k(x) lies in the image of i i by exactness) and then passing to the quotient (which is well-defined since k j = 0 k j = 0 ).

by restricting to (which lands inside since if , then lies in the image of by exactness) and then passing to the quotient (which is well-defined since ). I’ll leave it as an exercise to check the exactness of i ′ i' , j ′ j' , and k ′ k' . Note that deg ( i ′ ) = deg ( i ) deg(i') = deg(i) and deg ( k ′ ) = deg ( k ) deg(k')=deg(k) , but deg ( j ′ ) = deg ( j ) − deg ( i ) deg(j')=deg(j) - deg(i) .

We can thus iterate this process. We write ( D r , E r , i r , j r , k r ) (D^r,E^r,i^r,j^r,k^r) for the exact couple obtained by r − 2 r-2 iterations. In particular, we have graded abelian groups E r E^r , each of which is equipped with a differential d r : E r → E r d^r : E^r \to E^r of degree deg ( j ) + deg ( k ) − ( r − 2 ) ⋅ deg ( i ) deg(j) + deg(k) - (r-2)\cdot deg(i) satisfying d ∘ d = 0 d\circ d = 0 , and such that E r + 1 E^{r+1} is the homology of ( E r , d ) (E^r,d) . This structure is called a spectral sequence.

Note that I’ve chosen the indexing so that E 2 E^2 is the graded group E E we started with. Like the change from ( n , s ) (n,s) to ( p , q ) (p,q) , this is to match the convention used in the literature. (And that, in turn, is because some other ways of constructing spectral sequences begin with an E 1 E^1 whose homology is E 2 E^2 . And that, I guess, is because someone a long time ago thought that the natural numbers started with 1 1 , since I’ve never heard of an “ E 0 E^0 ”. Although no doubt someone in the comments will point out a spectral sequence that starts with E 0 E^0 .)

When the groups in a spectral sequence are ( ℤ × ℤ ) (\mathbb{Z}\times\mathbb{Z}) -graded, as in our example and in most cases, it is usual to draw them in a lattice on the plane, with p p the horizontal coordinate and q q the vertical one. For instance, E 2 E^2 can be drawn like this: ⋮ ⋮ ⋮ ⋮ ⋯ E − 1 , 2 2 E 0 , 2 2 E 1 , 2 2 E 2 , 2 2 ⋯ ⋯ E − 1 , 1 2 E 0 , 1 2 E 1 , 1 2 E 2 , 1 2 ⋯ ⋯ E − 1 , 0 2 E 0 , 0 2 E 1 , 0 2 E 2 , 0 2 ⋯ ⋯ E − 1 , − 1 2 E 0 , − 1 2 E 1 , − 1 2 E 2 , − 1 2 ⋯ ⋮ ⋮ ⋮ ⋮ \array{ & \vdots & \vdots & \vdots & \vdots & \\ \cdots & E_{-1,2}^2 & E_{0,2}^2 & E_{1,2}^2 & E_{2,2}^2 & \cdots\\ \cdots & E_{-1,1}^2 & E_{0,1}^2 & E_{1,1}^2 & E_{2,1}^2 & \cdots\\ \cdots & E_{-1,0}^2 & E_{0,0}^2 & E_{1,0}^2 & E_{2,0}^2 & \cdots\\ \cdots & E_{-1,-1}^2 & E_{0,-1}^2 & E_{1,-1}^2 & E_{2,-1}^2 & \cdots\\ & \vdots & \vdots & \vdots & \vdots & } We call this the E 2 E^2 page of the spectral sequence. When the degrees of the differentials are as they are in our example (which is, again, the most common situation), we can draw the differential d 2 d^2 on this lattice as moving two steps left and one step up. The best picture I’ve been able to find of this online is here, although it’s of the dual “cohomologically indexed” case where the arrows go down and right instead of up and left.

Just to keep ourselves a bit more grounded, here’s what the E 2 E^2 page looks like in the case of an iterated fibration sequence of spaces: ⋮ ⋮ ⋮ ⋮ ⋯ π 1 ( X 2 ) π 2 ( X 2 ) π 3 ( X 2 ) π 4 ( X 2 ) ⋯ ⋯ π 0 ( X 1 ) π 1 ( X 1 ) π 2 ( X 1 ) π 3 ( X 1 ) ⋯ ⋯ 0 π 0 ( X 0 ) π 1 ( X 0 ) π 2 ( X 0 ) ⋯ ⋯ 0 0 0 0 ⋯ ⋮ ⋮ ⋮ ⋮ \array{ & \vdots & \vdots & \vdots & \vdots & \\ \cdots & \pi_1(X_2) & \pi_2(X_2) & \pi_3(X_2) & \pi_4(X_2) & \cdots\\ \cdots & \pi_0(X_1) & \pi_1(X_1) & \pi_2(X_1) & \pi_3(X_1) & \cdots\\ \cdots & 0 & \pi_0(X_0) & \pi_1(X_0) & \pi_2(X_0) & \cdots\\ \cdots & 0 & 0 & 0 & 0 & \cdots\\ & \vdots & \vdots & \vdots & \vdots & } With spectra, the zero groups above would be replaced by negative homotopy groups such as π − 1 ( X 0 ) \pi_{-1}(X_0) , etc.

We then obtain the E 3 E^3 page by replacing each entry E p q 2 E^2_{p q} of the E 2 E^2 page by the homology of d 2 d^2 at that spot, i.e. the kernel of the outgoing differential modulo the image of the incoming one. The E 3 E^3 page then has its own differential d 3 d^3 which goes three steps left and two steps up, and we repeat. We then “take the limit” of E r E^r as r → ∞ r\to\infty , and hope that the resulting “ E ∞ E^\infty ” terms are useful — in our example, we hope they tell us something about the groups π n ( Y ) \pi_n(Y) .

First of all, we have to address the question of what it means to “take the limit”, since in general E r + 1 E^{r+1} is neither a subobject nor a quotient object of E r E^r , but a subquotient (a quotient of a subobject, or equivalently a subobject of a quotient). One can make sense of this in general, but in many (perhaps most) applications of spectral sequences, there’s a much simpler answer. Namely, it often happens that for each grading ( p , q ) (p,q) , the groups E p q r E^r_{p q} eventually stabilize as r → ∞ r\to\infty , so that we can define E p q ∞ E^\infty_{p q} to be their eventual value. (The r r at which this happens generally depends on ( p , q ) (p,q) , so that interesting things are still happening somewhere in E r E^r for arbitrarily large values of r r .)

Of course, having E p q r + 1 = E p q r E^{r+1}_{p q} = E^r_{p q} means that the differentials coming into and out of E p q r E^r_{p q} are zero, and a good reason for this is if their domain and codomain are respectively the zero group. Note that when the differentials have the usual degrees, they always move from one diagonal p + q = n p+q=n to the next lower one p + q = n − 1 p+q=n-1 . Thus, if each diagonal in the E 2 E^2 page (hence also in every other page) contains only finitely many nonzero groups, then the groups E p q r E^r_{p q} will eventually stabilize for each ( p , q ) (p,q) .

In particular, this is the case in the example arising from a finite iterated fibration sequence, where the nonzero part of the spectral sequence lives entirely in a finite strip 0 ≤ q ≤ Q 0\le q\le Q . It’s also the case for a bounded above fibration sequence (which stabilizes above some point s = T s=T but extends infinitely downwards) as long as for every n n , there is a point below which π n ( X s ) = π n ( Y s ) = 0 \pi_n(X_s) = \pi_n(Y_s)=0 , such as if the truncatedness of Y s Y_s decreases, or their connectedness increases, as s → − ∞ s\to-\infty . In this case, we have the following.

Convergence Theorem: Suppose given a bounded-above iterated fibration sequence X T → Y T → Y T − 1 ⋮ X s → Y s → Y s − 1 X s − 1 → Y s − 1 → Y s − 2 ⋮ \array{ X_{T} \to Y_{T} \to Y_{T-1}\\ \vdots \\ X_s \to Y_s \to Y_{s-1}\\ X_{s-1} \to Y_{s-1} \to Y_{s-2}\\ \vdots } such that for every n n , there is an R R such that π n ( X s ) = π n ( Y s ) = 0 \pi_n(X_s) =\pi_n(Y_s)=0 for s ≤ R s\le R , and let Y = lim s Y s = Y T Y = \lim_s Y_s = Y_T . Then for every n n , there is a finite iterated extension: E n − T , T ∞ → B n , T → B n , T − 1 ⋮ E n − s , s ∞ → B n , s → B n , s − 1 E n − s + 1 , s − 1 ∞ → B n , s − 1 → B n , s − 2 ⋮ E n − R , R ∞ → B n , R → 0 \array{ E^\infty_{n-T,T} \to B_{n,T} \to B_{n,T-1}\\ \vdots \\ E^\infty_{n-s,s} \to B_{n,s} \to B_{n,s-1}\\ E^\infty_{n-s+1,s-1} \to B_{n,s-1} \to B_{n,s-2}\\ \vdots\\ E^\infty_{n-R,R} \to B_{n,R} \to 0 } such that B n = lim s B n , s = B n , T B_n = \lim_s B_{n,s}= B_{n,T} is equal to π n ( Y ) \pi_n(Y) .

This theorem makes our second analogy also into a functor between suitable categories of iterated fibration sequences and iterated extensions.

Note that the E ∞ E^\infty groups appearing in the iterated extension for π n ( Y ) \pi_n(Y) are those on the diagonal p + q = n p+q=n . Thus, the theorem says that when Y Y is put together out of the X s X_s ’s, then π n ( Y ) \pi_n(Y) is put together out of the groups on this diagonal, which are computed from the homotopy groups of the X s X_s ’s in some way (encoded by the spectral sequence). It’s traditional to write this sort of “convergence” as E p , q 2 = π p + q ( X q ) ⇒ π p + q ( Y ) E^2_{p,q} = \pi_{p+q}(X_q) \;\Rightarrow\; \pi_{p+q}(Y) to indicate which E ∞ E^\infty groups are the “ingredients” of which group in the target.

At this point I should remind you that we’re either assuming all spaces are simply connected, or working with spectra instead of spaces. The notion of “convergence” is a lot trickier when you have to deal with nonabelianness of π 1 \pi_1 and nongroupness of π 0 \pi_0 . There are also fancier convergence theorems that allow more infinite behavior, such as when E p q r E^r_{p q} doesn’t stabilize but still has a “limit”. Finally, with an unbounded-above iterated fibration sequence we would also have to deal with the fact that π n ( lim s Y s ) \pi_n(\lim_s Y_s) may not equal lim s π n ( Y s ) \lim_s \pi_n(Y_s) .

Proof of convergence theorem: For any ( p , q ) (p,q) , let r ≥ max ( T − q + 3 , q − R + 1 ) r \ge max(T-q+3,q-R+1) . Then E p q r E^r_{p q} has stabilized, so that E p q ∞ = E p q r E^\infty_{p q} = E^r_{p q} . For such an r r , D p q r D^r_{p q} is the ( r − 2 ) (r-2) -fold image of i : D 2 → D 2 i:D^2\to D^2 , i.e. those elements in D 2 D^2 of the form i ( i ( ⋯ i ( x ) ⋯ ) ) i(i(\cdots i(x)\cdots )) with ( r − 2 ) (r-2) copies of i i . Since i i consists of the maps π n ( Y s ) → π n ( Y s − 1 ) \pi_n(Y_s) \to \pi_n(Y_{s-1}) , and π n ( Y s ) = π n ( Y ) \pi_n(Y_s) = \pi_n(Y) for s ≥ T s\ge T , this means D p q r D^r_{p q} is the image of π p + q ( Y ) \pi_{p+q}(Y) in π p + q ( Y q ) \pi_{p+q}(Y_q) (and in particular is independent of r r sufficiently large). Let B n , s = D n − s , s r B_{n,s}= D^r_{n-s,s} for any such r r , i.e. the image of π n ( Y ) \pi_n(Y) in π n ( Y s ) \pi_n(Y_s) .

It remains to construct the extensions E n − s , s ∞ → B n , s → B n , s − 1 E^\infty_{n-s,s} \to B_{n,s} \to B_{n,s-1} displayed above. However, just as we put together the exact couple ( D 2 , E 2 , i 2 , j 2 , k 2 ) (D^2,E^2,i^2,j^2,k^2) from long exact sequences, from the exact couple ( D r , E r , i r , j r , k r ) (D^{r},E^{r},i^{r},j^{r},k^{r}) we can extract some other long exact sequences. Note that by iterating the above formulas for degrees in a derived exact couple, we have deg ( i r ) = ( 1 , − 1 ) deg(i^{r}) = (1,-1) and deg ( k r ) = 0 deg(k^{r}) = 0 , but deg ( j r ) = ( − r , r − 1 ) deg(j^{r}) = (-r,r-1) . Thus, we have LES’s ⋯ → D p + r , q − r + 1 r → j E p , q r → k D p , q r → i D p + 1 , q − 1 r → j E p − r + 1 , q + r − 2 r → ⋯ \cdots \to D^{r}_{p+r,q-r+1} \xrightarrow{j} E^{r}_{p,q} \xrightarrow{k} D^{r}_{p,q} \xrightarrow{i} D^{r}_{p+1,q-1} \xrightarrow{j} E^{r}_{p-r+1,q+r-2} \to\cdots If we choose r ≥ max ( T − s + 4 , s − R + 1 ) r \ge max(T-s+4,s-R+1) , then all three terms in the middle have stabilized, while the two on the ends are zero. Thus, inside this LES we have a short exact sequence 0 → E n − s , s ∞ → B n , s → B n , s − 1 → 0 0 \to E^\infty_{n-s,s} \to B_{n,s} \to B_{n,s-1} \to 0 which is the extension that we wanted. □ \Box

This is all very abstract, so let’s look at a couple of degenerate cases. First, in the case of a finite iterated fibration sequence with T = 1 T=1 , we have X 1 → Y → X 0 X 0 → X 0 → * \array{ X_1 \to Y \to X_0\\ X_0 \to X_0 \to \ast } hence essentially just a single fibration sequence. The spectral sequence is confined to the strip q ∈ { 0 , 1 } q\in \{0,1\} , with E 2 E^2 page looking like: ⋯ π 0 ( X 1 ) π 1 ( X 1 ) π 2 ( X 1 ) π 3 ( X 1 ) ⋯ ⋯ 0 π 0 ( X 0 ) π 1 ( X 0 ) π 2 ( X 0 ) ⋯ \array{ \cdots & \pi_0(X_1) & \pi_1(X_1) & \pi_2(X_1) & \pi_3(X_1) & \cdots \\ \cdots & 0 & \pi_0(X_0) & \pi_1(X_0) & \pi_2(X_0) & \cdots } The differentials on this page go, as always, left two and up one, hence from π n ( X 0 ) → π n − 1 ( X 1 ) \pi_n(X_0) \to \pi_{n-1}(X_1) ; these are exactly the “connecting maps” δ n \delta_n in the ordinary LES of the fibration. Since the differentials entering π n ( X 0 ) \pi_n(X_0) come from zero, and those leaving π n ( X 1 ) \pi_n(X_1) go to zero, on passage to homology we get the E 3 E^3 page ⋯ im ( δ 1 ) im ( δ 2 ) im ( δ 3 ) im ( δ 4 ) ⋯ ⋯ 0 ker ( δ 0 ) ker ( δ 1 ) ker ( δ 2 ) ⋯ \array{ \cdots & im(\delta_1) & im(\delta_2) & im(\delta_3) & im(\delta_4) & \cdots \\ \cdots & 0 & ker(\delta_0) & ker(\delta_1) & ker(\delta_2) & \cdots } We have E 3 = E ∞ E^3 = E^\infty since all the remaining differentials hit zero on one side or the other, so that E p , 0 ∞ = ker ( δ p ) E^\infty_{p,0} = ker(\delta_p) and E p , 1 ∞ = im ( δ p + 2 ) E^\infty_{p,1} = im(\delta_{p+2}) . The theorem then gives an iterated extension im ( δ n + 1 ) → π n ( Y ) → ker ( δ n ) ker ( δ n ) → ker ( δ n ) → 0 \array{ im(\delta_{n+1}) \to \pi_n(Y) \to ker(\delta_n)\\ ker(\delta_n) \to ker(\delta_n) \to 0 } which is just the ordinary extension we observed above as coming from an LES.

Another degenerate case is when the iterated fibration sequence is the Postnikov tower of a space (or spectrum) Y Y . Suppose Y Y is an m m -type, i.e. π n ( Y ) = 0 \pi_n(Y)=0 for n > m n\gt m . Then for any n ≤ m n\le m we have an n n -type ‖ Y ‖ n {\Vert Y\Vert}_n , with fibration sequences X n → ‖ Y ‖ n → ‖ Y ‖ n − 1 X_n \to {\Vert Y\Vert}_n \to {\Vert Y\Vert}_{n-1} where X n = K ( π n ( Y ) , n ) X_n = K(\pi_n(Y),n) is an Eilenberg-Mac Lane space, with π n ( X n ) = π n ( Y ) \pi_n(X_n) = \pi_n(Y) and π i ( X n ) = 0 \pi_i(X_n) = 0 for i ≠ n i

eq n . Together these form an iterated fibration sequence with limit Y Y . When Y Y is an m m -type space, it is a finite sequence; when Y Y is an m m -type spectrum it is bounded above and satisfies the condition on downward homotopy groups; thus the convergence theorem applies. Since each fiber X n X_n is an Eilenberg-Mac Lane space of dimension n n , the E 2 E^2 page of the spectral sequence is concentrated on the line p = 0 p=0 , looking like this: ⋮ π 2 ( Y ) π 1 ( Y ) π 0 ( Y ) ⋮ \array{ \vdots \\ \pi_2(Y)\\ \pi_1(Y) \\ \pi_0(Y)\\ \vdots } There is no room for any nontrivial differentials, E 2 = E ∞ E^2=E^\infty , and for each n n we obtain the trivial iterated extension 0 → π n ( Y ) → π n ( Y ) ⋮ 0 → π n ( Y ) → π n ( Y ) π n ( Y ) → π n ( Y ) → 0 0 → 0 → 0 ⋮ 0 → 0 → 0 . \array{ 0 \to \pi_n(Y) \to \pi_n(Y) \\ \vdots\\ 0 \to \pi_n(Y) \to \pi_n(Y) \\ \pi_n(Y) \to \pi_n(Y) \to 0 \\ 0 \to 0 \to 0 \\ \vdots\\ 0 \to 0 \to 0. }

Of course, the interesting applications of spectral sequences are less trivial, but this post is already quite long enough. In the companion post on the HoTT blog, I’ll talk about how to use this spectral sequence (with spectra) to extract versions of the Atiyah-Hirzebruch and Serre spectral sequences, and see what they can do for us.