Skip to content
The Lumenary
Research pathwaysResearch (graduate background) 130 min

Stable homotopy theory and generalised cohomology

Suspend enough times and the chaos of the homotopy groups of spheres settles into a linear world — spectra — where K-theory, cobordism and formal groups from number theory meet.

Formally verified · 15 LeanComputationally tested · 2 PythonAI-drafted · awaiting human reviewMathematically reviewed: Awaiting human review
MotivationH

What survives suspension

The homotopy groups of spheres πn+k(Sn)\pi_{n+k}(S^n) are among the most basic and most mysterious objects in topology. π3(S2)≅Z\pi_3(S^2) \cong \Z is generated by the Hopf map; π6(S3)≅Z/12\pi_6(S^3) \cong \Z/12; π10(S4)≅Z/24⊕Z/3\pi_{10}(S^4) \cong \Z/24 \oplus \Z/3. No formula is known, and none is expected.

But a pattern appears if you look along the diagonals. Suspending a map f:Sn+k→Snf : S^{n+k} \to S^n — taking the double cone on both sides — gives a map Σf:Sn+k+1→Sn+1\Sigma f : S^{n+k+1} \to S^{n+1}, and Hans Freudenthal proved in 1937 that once n>k+1n > k + 1 this changes nothing: the groups πn+k(Sn)\pi_{n+k}(S^n) stabilise. The limits πks\pi_k^s, the stable stems, are still hard — they are known only in a finite range — but they are abelian, finite in positive degrees, and they carry a rich algebraic structure.

Stable phenomena turn out to be everywhere:

  • Generalised cohomology theories — ordinary cohomology, topological K-theory, cobordism — are all represented by the objects of stable homotopy theory, spectra (Brown, 1962).
  • Manifolds. Thom (1954) showed that classifying manifolds up to cobordism is a computation of stable homotopy groups of Thom spectra. Kervaire and Milnor (1963) counted exotic spheres using the stable stems: there are exactly 28 smooth structures on S7S^7, up to orientation-preserving diffeomorphism.
  • Algebra and number theory. The stable stems are approached by spectral sequences built from the Steenrod algebra, and organised by formal groups — objects that came from number theory — through Quillen's theorem (1969) and chromatic homotopy theory. Bernoulli numbers appear in the answers.

This lesson is an orientation: suspension and spectra, cohomology theories, Thom's theorem with a complete proof of its easy half, the J-homomorphism, and a glimpse of the chromatic picture, with what is known and what is open.

IntuitionH

The diagonal of the table

Here is part of the table of πn+k(Sn)\pi_{n+k}(S^n) (Toda, 1962). Rows are spheres SnS^n, columns the excess kk. Entries with n>k+1n > k + 1 — in the stable range, by Freudenthal's theorem — are in bold; along each column they are constant.

k=0k = 0k=1k = 1k=2k = 2k=3k = 3k=4k = 4k=5k = 5k=6k = 6
S2S^2Z\mathbf{\Z}Z\ZZ/2\Z/2Z/2\Z/2Z/12\Z/12Z/2\Z/2Z/2\Z/2
S3S^3Z\mathbf{\Z}Z/2\mathbf{\Z/2}Z/2\Z/2Z/12\Z/12Z/2\Z/2Z/2\Z/2Z/3\Z/3
S4S^4Z\mathbf{\Z}Z/2\mathbf{\Z/2}Z/2\mathbf{\Z/2}Z⊕Z/12\Z \oplus \Z/12(Z/2)2(\Z/2)^2(Z/2)2(\Z/2)^2Z/24⊕Z/3\Z/24 \oplus \Z/3
S5S^5Z\mathbf{\Z}Z/2\mathbf{\Z/2}Z/2\mathbf{\Z/2}Z/24\mathbf{\Z/24}Z/2\Z/2Z/2\Z/2Z/2\Z/2
S6S^6Z\mathbf{\Z}Z/2\mathbf{\Z/2}Z/2\mathbf{\Z/2}Z/24\mathbf{\Z/24}0\mathbf{0}Z\ZZ/2\Z/2
S7S^7Z\mathbf{\Z}Z/2\mathbf{\Z/2}Z/2\mathbf{\Z/2}Z/24\mathbf{\Z/24}0\mathbf{0}0\mathbf{0}Z/2\Z/2
S8S^8Z\mathbf{\Z}Z/2\mathbf{\Z/2}Z/2\mathbf{\Z/2}Z/24\mathbf{\Z/24}0\mathbf{0}0\mathbf{0}Z/2\mathbf{\Z/2}

So π0s=Z\pi_0^s = \Z (degree), π1s=Z/2\pi_1^s = \Z/2 (generated by the suspended Hopf map η\eta), π2s=Z/2\pi_2^s = \Z/2 (η2\eta^2), π3s=Z/24\pi_3^s = \Z/24 (ν\nu, from the quaternionic Hopf map), π4s=π5s=0\pi_4^s = \pi_5^s = 0, π6s=Z/2\pi_6^s = \Z/2 (ν2\nu^2). Unstable phenomena change on suspension: the infinite cyclic summand of π7(S4)\pi_7(S^4), generated by the quaternionic Hopf map, becomes torsion — the Hopf map suspends to the generator ν\nu of π3s=Z/24\pi_3^s = \Z/24.

The guiding analogy: stable homotopy theory is to homotopy theory what linear algebra is to geometry. Suspension is invertible in the stable world, maps can be added, every map has a cofibre and the cofibre sequences are long exact both ways — fibre sequences and cofibre sequences coincide. Spectra are the "abelian groups" of homotopy theory: just as every abelian group is a set with extra structure that makes addition possible, a spectrum is a space with infinitely many deloopings. (This is an analogy, made precise by the theory of stable ∞-categories: see stable ∞-categories.)

DefinitionsH

Suspension, spectra and cohomology theories

All spaces are pointed CW complexes; [X,Y][X, Y] denotes pointed homotopy classes of maps.

Definition— suspension and stable homotopy groups

The reduced suspension of XX is ΣX=S1∧X\Sigma X = S^1 \wedge X; for example ΣSn≅Sn+1\Sigma S^n \cong S^{n+1}. Suspension of maps gives homomorphisms πn+k(ΣmX)→πn+k+1(Σm+1X)\pi_{n+k}(\Sigma^m X) \to \pi_{n+k+1}(\Sigma^{m+1}X), and the stable homotopy groups are πks(X)=colim⁡nπn+k(ΣnX)\pi_k^s(X) = \operatorname{colim}_n \pi_{n+k}(\Sigma^n X). The stable stems are πks=πks(S0)=colim⁡nπn+k(Sn)\pi_k^s = \pi_k^s(S^0) = \operatorname{colim}_n \pi_{n+k}(S^n).

Definition— spectrum

A spectrum EE is a sequence of pointed spaces E0,E1,E2,…E_0, E_1, E_2, \dots with structure maps ΣEn→En+1\Sigma E_n \to E_{n+1} (equivalently, adjoint maps En→ΩEn+1E_n \to \Omega E_{n+1}). It is an Ω\Omega-spectrum if the adjoint maps are weak equivalences. Its homotopy groups are πk(E)=colim⁡nπn+k(En)\pi_k(E) = \operatorname{colim}_n \pi_{n+k}(E_n), defined for all k∈Zk \in \Z, including negative kk. Examples: the suspension spectrum Σ∞X=(X,ΣX,Σ2X,… )\Sigma^\infty X = (X, \Sigma X, \Sigma^2 X, \dots), whose homotopy groups are π∗s(X)\pi_*^s(X); the sphere spectrum S=Σ∞S0\mathbb{S} = \Sigma^\infty S^0; the Eilenberg–MacLane spectrum HA=(K(A,n))nHA = (K(A, n))_n. Spectra form the stable homotopy category, in which Σ\Sigma is an equivalence (Boardman; in modern form the homotopy category of the stable ∞-category of spectra).

Definition— generalised cohomology theory

A (reduced) generalised cohomology theory is a sequence of contravariant functors E~n\tilde E^n from pointed CW complexes to abelian groups, n∈Zn \in \Z, with

  1. homotopy invariance: homotopic maps induce the same homomorphism;
  2. exactness: for a cofibre sequence A→X→X/AA \to X \to X/A, the sequence E~n(X/A)→E~n(X)→E~n(A)\tilde E^n(X/A) \to \tilde E^n(X) \to \tilde E^n(A) is exact;
  3. suspension: natural isomorphisms E~n+1(ΣX)≅E~n(X)\tilde E^{n+1}(\Sigma X) \cong \tilde E^n(X);
  4. additivity: E~n(⋁αXα)≅∏αE~n(Xα)\tilde E^n(\bigvee_\alpha X_\alpha) \cong \prod_\alpha \tilde E^n(X_\alpha).

These are the Eilenberg–Steenrod axioms without the dimension axiom: the coefficients En=E~n(S0)E^n = \tilde E^n(S^0) may be non-zero for n≠0n \ne 0. A spectrum EE defines one by E~n(X)=[Σ∞X,ΣnE]\tilde E^n(X) = [\Sigma^\infty X, \Sigma^n E], which for an Ω\Omega-spectrum is [X,En][X, E_n].

Definition— cobordism and Thom spectra

Two closed nn-manifolds M,NM, N are cobordant if M⊔NM \sqcup N is the boundary of a compact (n+1)(n+1)-manifold. Cobordism classes form a group Nn\mathfrak{N}_n under disjoint union (every element has order 2, since M⊔M=∂(M×[0,1])M \sqcup M = \partial(M \times [0,1])), and N∗=⨁nNn\mathfrak{N}_* = \bigoplus_n \mathfrak{N}_n is a ring under Cartesian product. The Thom space Th(V)\mathrm{Th}(V) of a vector bundle is the one-point compactification of its total space (for a compact base). The Thom spectrum MOMO has spaces MO(k)=Th(γk)MO(k) = \mathrm{Th}(\gamma_k), the Thom spaces of the universal kk-plane bundles over BO(k)BO(k); similarly MSOMSO (oriented), MUMU (complex) and S≃Mfr\mathbb{S} \simeq M\mathrm{fr} (framed).

Definition— formal group law and height

A (one-dimensional, commutative) formal group law over a commutative ring RR is a power series F(x,y)∈R[[x,y]]F(x, y) \in R[[x, y]] with F(x,0)=xF(x, 0) = x, F(x,y)=F(y,x)F(x, y) = F(y, x) and F(F(x,y),z)=F(x,F(y,z))F(F(x, y), z) = F(x, F(y, z)). Examples: the additive law x+yx + y and the multiplicative law x+y+xyx + y + xy. Its nn-series is [n]F(x)=F(x,[n−1]F(x))[n]_F(x) = F(x, [n-1]_F(x)), [0]F(x)=0[0]_F(x) = 0. Over a field of characteristic pp, either [p]F(x)=0[p]_F(x) = 0 (height ∞\infty) or [p]F(x)=u xph+(higher terms)[p]_F(x) = u\,x^{p^h} + (\text{higher terms}) with u≠0u \ne 0, and h≥1h \ge 1 is the height.

Worked examplesH

Examples: cohomology theories that are not ordinary cohomology

Example— Ordinary cohomology

HAn(X)=H~n(X;A)HA^n(X) = \tilde H^n(X; A), with coefficients HAn(S0)=AHA^n(S^0) = A for n=0n = 0 and 00 otherwise: the dimension axiom holds. Its formal group law (for A=ZA = \Z, via the first Chern class of complex line bundles, c1(L⊗M)=c1(L)+c1(M)c_1(L \otimes M) = c_1(L) + c_1(M)) is additive.

Example— Complex K-theory

For a compact space XX, KU0(X)KU^0(X) is the Grothendieck group of complex vector bundles on XX (Atiyah–Hirzebruch, 1961). Bott periodicity (1959), Ω2(Z×BU)≃Z×BU\Omega^2(\Z \times BU) \simeq \Z \times BU, makes it 2-periodic: KUn+2(X)≅KUn(X)KU^{n+2}(X) \cong KU^n(X), and the coefficients are π∗(KU)=Z[β±1]\pi_*(KU) = \Z[\beta^{\pm 1}] with ∣β∣=2|\beta| = 2. So KUn(point)≅ZKU^{n}(\text{point}) \cong \Z for every even nn: K-theory is not ordinary cohomology with any coefficients, since those vanish on a point outside degree 00. For line bundles, with c1(L)=1−L−1c_1(L) = 1 - L^{-1} (up to the Bott class), c1(L⊗M)=c1(L)+c1(M)−c1(L)c1(M)c_1(L \otimes M) = c_1(L) + c_1(M) - c_1(L)c_1(M): a multiplicative formal group law. Real K-theory KOKO is 8-periodic, with π0,…,π7=Z,Z/2,Z/2,0,Z,0,0,0\pi_0, \dots, \pi_7 = \Z, \Z/2, \Z/2, 0, \Z, 0, 0, 0.

Example— Cobordism

Unoriented cobordism MOMO has coefficients π∗(MO)=N∗\pi_*(MO) = \mathfrak{N}_*, non-zero in degrees 0,2,4,5,6,…0, 2, 4, 5, 6, \dots; complex cobordism has π∗(MU)=Z[x1,x2,… ]\pi_*(MU) = \Z[x_1, x_2, \dots], ∣xi∣=2i|x_i| = 2i (Milnor, Novikov, 1960). By Quillen's theorem (1969) the formal group law of MUMU is the universal formal group law, and π∗(MU)\pi_*(MU) is the Lazard ring that classifies formal group laws. The sphere spectrum is framed cobordism: πns≅Ωnfr\pi_n^s \cong \Omega_n^{\mathrm{fr}}, the group of closed nn-manifolds with a trivialisation of the stable normal bundle, up to framed cobordism (Pontryagin).

Example— Stable cohomotopy and the Hopf invariant

The sphere spectrum gives stable cohomotopy πsn(X)=[Σ∞X,ΣnS]\pi^n_s(X) = [\Sigma^\infty X, \Sigma^n \mathbb{S}], whose coefficients are the stable stems. The Hopf map η:S3→S2\eta : S^3 \to S^2 has Hopf invariant 1: the preimages of two points are circles that link once. Its stable class generates π1s=Z/2\pi_1^s = \Z/2 — stably, 2η=02\eta = 0.

ProofH

Central theorems

Theorem— Theorem 1 (Freudenthal suspension theorem, 1937)

If XX is an (n−1)(n-1)-connected CW complex, the suspension homomorphism πq(X)→πq+1(ΣX)\pi_q(X) \to \pi_{q+1}(\Sigma X) is an isomorphism for q<2n−1q < 2n - 1 and surjective for q=2n−1q = 2n - 1. In particular πn+k(Sn)→πn+k+1(Sn+1)\pi_{n+k}(S^n) \to \pi_{n+k+1}(S^{n+1}) is an isomorphism for n>k+1n > k + 1.

Proof sketch. Write ΣX\Sigma X as the union of two cones C+X∪C−XC_+X \cup C_-X meeting in XX. The suspension map is the composite πq(X)≅πq+1(C+X,X)→πq+1(ΣX,C−X)≅πq+1(ΣX)\pi_q(X) \cong \pi_{q+1}(C_+X, X) \to \pi_{q+1}(\Sigma X, C_-X) \cong \pi_{q+1}(\Sigma X), and the middle map is an isomorphism in the stated range by the homotopy excision theorem (Blakers–Massey), since (C±X,X)(C_\pm X, X) are nn-connected. See Hatcher, Algebraic Topology, Corollary 4.24; a different proof uses the James construction J(X)≃ΩΣXJ(X) \simeq \Omega\Sigma X. For n>k+1n > k + 1 we have n+k<2n−1n + k < 2n - 1, which gives the second statement.

Theorem— Proposition 2 (structure of the stable stems)

  1. Every stable homotopy group πks(X)\pi_k^s(X) is abelian.
  2. π0s≅Z\pi_0^s \cong \Z, by degree.
  3. (Serre, 1953.) πks\pi_k^s is finite for every k>0k > 0.

Proof

(1) πks(X)\pi_k^s(X) is the colimit of the groups πn+k(ΣnX)\pi_{n+k}(\Sigma^n X), which are abelian once n+k≥2n + k \ge 2 by the Eckmann–Hilton argument (formalised below); a colimit of abelian groups along homomorphisms is abelian. (2) πn(Sn)≅Z\pi_n(S^n) \cong \Z by Hopf's degree theorem, and suspension preserves degree. (3) Serre's theorem uses his spectral sequence and his theory of classes of abelian groups to show that rationally πn+k(Sn)⊗Q=0\pi_{n+k}(S^n) \otimes \Q = 0 for nn odd and k>0k > 0; since stable groups are computed with nn odd and large, and are finitely generated, they are finite. A proof is in Hatcher's Spectral Sequences, or Mosher–Tangora.

∎

Theorem— Theorem 3 (Brown representability, 1962)

Every reduced generalised cohomology theory E~∗\tilde E^* on pointed CW complexes is represented by an Ω\Omega-spectrum EE: E~n(X)≅[X,En]\tilde E^n(X) \cong [X, E_n], naturally in XX.

The proof builds EnE_n cell by cell so that [−,En][-, E_n] agrees with E~n\tilde E^n on spheres and then on all complexes, using the Mayer–Vietoris property (from exactness) and additivity; the suspension isomorphism supplies the structure maps. Categorically, it is a Yoneda-type statement: a contravariant functor to sets that turns homotopy colimits into limits is representable.

Theorem— Theorem 4 (Pontryagin 1947: Stiefel–Whitney numbers are cobordism invariants)

If a closed nn-manifold MM is the boundary of a compact (n+1)(n+1)-manifold WW, then every Stiefel–Whitney number wI[M]=⟨wi1(M)⋯wir(M),[M]⟩∈F2w_I[M] = \langle w_{i_1}(M) \cdots w_{i_r}(M), [M] \rangle \in \mathbb{F}_2, i1+⋯+ir=ni_1 + \dots + i_r = n, vanishes.

Proof

Let i:M→Wi : M \to W be the inclusion. A collar of MM in WW gives TW∣M≅TM⊕R‾TW|_M \cong TM \oplus \underline{\R}, so by the Whitney sum formula w(M)=i∗w(W)w(M) = i^* w(W), and hence wI(M)=i∗wI(W)w_I(M) = i^* w_I(W). In the long exact sequence of the pair (W,M)(W, M) with F2\mathbb{F}_2 coefficients, the connecting map ∂:Hn+1(W,M)→Hn(M)\partial : H_{n+1}(W, M) \to H_n(M) sends the fundamental class [W,M][W, M] to [M][M]. Therefore

wI[M]=⟨i∗wI(W),∂[W,M]⟩=⟨δ i∗wI(W),[W,M]⟩=0,w_I[M] = \langle i^* w_I(W), \partial [W, M] \rangle = \langle \delta\, i^* w_I(W), [W, M] \rangle = 0,

because δ∘i∗=0\delta \circ i^* = 0 (consecutive maps in the long exact sequence of the pair in cohomology).

∎

Theorem— Corollary 5 (which projective spaces bound)

RPn\R P^n is the boundary of a compact manifold if and only if nn is odd.

Proof

The total Stiefel–Whitney class of RPn\R P^n is w(RPn)=(1+a)n+1w(\R P^n) = (1 + a)^{n+1}, a∈H1(RPn;F2)a \in H^1(\R P^n; \mathbb{F}_2) the generator. If n=2mn = 2m is even, wn(RPn)=(2m+12m)an=(2m+1)an=anw_n(\R P^n) = \binom{2m+1}{2m} a^n = (2m+1)a^n = a^n, so wn[RPn]=1≠0w_n[\R P^n] = 1 \ne 0 and RPn\R P^n does not bound, by Theorem 4. If n=2m−1n = 2m - 1 is odd, the antipodal map acts on each circle fibre of the Hopf fibration S2m−1→CPm−1S^{2m-1} \to \C P^{m-1} as a half turn, so RP2m−1=S2m−1/{±1}\R P^{2m-1} = S^{2m-1}/\{\pm 1\} is again a circle bundle over CPm−1\C P^{m-1} — the unit circle bundle of a complex line bundle — and it is the boundary of the associated disc bundle. (Consistently, the binomial coefficients (2mi)\binom{2m}{i} are even for odd ii, so all its Stiefel–Whitney numbers vanish.) Both parities are formalised below.

∎

Theorem— Theorem 6 (Thom 1954)

  1. Pontryagin–Thom. Nn≅πn(MO)=colim⁡kπn+k(Th(γk))\mathfrak{N}_n \cong \pi_n(MO) = \operatorname{colim}_k \pi_{n+k}(\mathrm{Th}(\gamma_k)); similarly ΩnSO≅πn(MSO)\Omega^{SO}_n \cong \pi_n(MSO) and Ωnfr≅πns\Omega_n^{\mathrm{fr}} \cong \pi_n^s.
  2. N∗≅F2[xi:i≥2, i≠2k−1]\mathfrak{N}_* \cong \mathbb{F}_2[x_i : i \ge 2,\ i \ne 2^k - 1], with x2j=[RP2j]x_{2j} = [\R P^{2j}] (odd generators are Dold manifolds).
  3. Two closed manifolds are cobordant if and only if they have the same Stiefel–Whitney numbers (the converse of Theorem 4).

Proof sketch of (1). Embed Mn⊂Sn+kM^n \subset S^{n+k} with normal bundle ν\nu and tubular neighbourhood N≅νN \cong \nu. Collapse everything outside NN to the base point: Sn+k→N/∂N≅Th(ν)S^{n+k} \to N/\partial N \cong \mathrm{Th}(\nu). Compose with the Thom map of the classifying map ν→γk\nu \to \gamma_k: this gives an element of πn+k(MO(k))\pi_{n+k}(MO(k)). Conversely, a map Sn+k→MO(k)S^{n+k} \to MO(k) can be made transverse to the zero section BO(k)⊂MO(k)BO(k) \subset MO(k), and the preimage is a closed nn-manifold. Cobordisms correspond to homotopies (apply the same constructions to Sn+k×[0,1]S^{n+k} \times [0, 1]). Statement (2) is a computation: Thom determined the homotopy type of MOMO as a product of Eilenberg–MacLane spectra HF2H\mathbb{F}_2 using the Steenrod algebra. See Milnor–Stasheff, Characteristic Classes, Chapters 17–18. The experiment below compares (2) with Stiefel–Whitney numbers of products of projective spaces.

Sn+kS^{n+k}
Th(νM)\mathrm{Th}(\nu_M)
MO(k)=Th(γk)MO(k) = \mathrm{Th}(\gamma_k)
collapse\text{collapse}
classify\text{classify}
[M]∈πn+k(MO(k))[M] \in \pi_{n+k}(MO(k))
The Pontryagin–Thom construction: a manifold Mn⊂Sn+kM^n \subset S^{n+k} becomes a map into a Thom space, and cobordism becomes homotopy.

Theorem— Theorem 7 (Bott periodicity, 1959)

Ω2BU≃Z×BU\Omega^2 BU \simeq \Z \times BU and Ω8BO≃Z×BO\Omega^8 BO \simeq \Z \times BO. Hence πi(U)≅πi+2(U)\pi_i(U) \cong \pi_{i+2}(U) and πi(O)≅πi+8(O)\pi_i(O) \cong \pi_{i+8}(O), and complex and real K-theory are represented by Ω\Omega-spectra of periods 2 and 8.

Theorem— Theorem 8 (the J-homomorphism; Whitehead, Adams, Quillen, Sullivan, Becker–Gottlieb)

An element of πr(SO(n))\pi_r(\mathrm{SO}(n)), a map Sr→SO(n)S^r \to \mathrm{SO}(n), defines a map Sr×Sn−1→Sn−1S^r \times S^{n-1} \to S^{n-1} and, by the Hopf construction, an element of πr+n(Sn)\pi_{r+n}(S^n); stably this is the J-homomorphism J:πr(SO)→πrsJ : \pi_r(\mathrm{SO}) \to \pi_r^s. For r=4k−1r = 4k - 1, πr(SO)≅Z\pi_r(\mathrm{SO}) \cong \Z by Bott periodicity, and the image of JJ is a cyclic direct summand of π4k−1s\pi_{4k-1}^s of order

m(2k)=denominator of B2k4k,m(2k) = \text{denominator of } \frac{B_{2k}}{4k},

where B2kB_{2k} is the Bernoulli number (B2=16B_2 = \tfrac16, B4=−130B_4 = -\tfrac{1}{30}, B6=142B_6 = \tfrac{1}{42}, B8=−130B_8 = -\tfrac{1}{30}). So ∣im⁡J∣=24,240,504,480|\operatorname{im} J| = 24, 240, 504, 480 for k=1,2,3,4k = 1, 2, 3, 4; and indeed π3s=Z/24\pi_3^s = \Z/24, π7s=Z/240\pi_7^s = \Z/240, π11s=Z/504\pi_{11}^s = \Z/504, π15s=Z/480⊕Z/2\pi_{15}^s = \Z/480 \oplus \Z/2.

Adams (1965–66) proved that the image has order m(2k)m(2k) or 2m(2k)2m(2k) and that it is exactly m(2k)m(2k) if the Adams conjecture holds; the conjecture was proved by Quillen (1971), Sullivan (1974) and Becker–Gottlieb (1975). Equivalently, m(2k)m(2k) is the denominator of ζ(1−2k)/2\zeta(1 - 2k)/2, since ζ(1−2k)=−B2k/2k\zeta(1-2k) = -B_{2k}/2k. The lower bound comes from the e-invariant, defined using K-theory and Adams operations.

Theorem— Theorem 9 (Kervaire–Milnor 1963), statement

For n≥5n \ge 5 the group Θn\Theta_n of homotopy nn-spheres up to diffeomorphism (under connected sum) is finite, with a subgroup bPn+1bP_{n+1} of spheres that bound parallelisable manifolds, and an injection Θn/bPn+1↪πns/im⁡J\Theta_n / bP_{n+1} \hookrightarrow \pi_n^s / \operatorname{im} J. For k≥2k \ge 2, ∣bP4k∣=22k−2(22k−1−1)⋅numerator(4∣B2k∣/k)|bP_{4k}| = 2^{2k-2}(2^{2k-1} - 1) \cdot \mathrm{numerator}(4|B_{2k}|/k). Since π7s=im⁡J\pi_7^s = \operatorname{im} J, Θ7=bP8≅Z/28\Theta_7 = bP_8 \cong \Z/28.

Theorem— Theorem 10 (Adams spectral sequence, 1958), statement

For a finite spectrum XX there is a spectral sequence

E2s,t=Ext⁡As,t(H∗(X;Fp),Fp)⟹πt−s(X)p∧,E_2^{s,t} = \operatorname{Ext}^{s,t}_{\mathcal{A}}\big(H^*(X; \mathbb{F}_p), \mathbb{F}_p\big) \Longrightarrow \pi_{t-s}(X)^\wedge_p,

where A\mathcal{A} is the mod pp Steenrod algebra, converging to the pp-completed stable homotopy groups. Adams used it (with secondary operations) to prove the Hopf invariant one theorem (1960): a map S2n−1→SnS^{2n-1} \to S^n of Hopf invariant one exists only for n=2,4,8n = 2, 4, 8. Consequences: Rn\R^n is a real division algebra only for n=1,2,4,8n = 1, 2, 4, 8, and Sn−1S^{n-1} is parallelisable only for n=1,2,4,8n = 1, 2, 4, 8.

Theorem— Theorem 11 (heights of the basic formal group laws)

Over Fp\mathbb{F}_p the multiplicative formal group law has [p](x)=xp[p](x) = x^p, so height 1; the additive law has [p](x)=0[p](x) = 0, so height ∞\infty.

Proof

For the multiplicative law, 1+F(x,y)=(1+x)(1+y)1 + F(x, y) = (1 + x)(1 + y), so by induction 1+[n](x)=(1+x)n1 + [n](x) = (1 + x)^n. In characteristic pp, (1+x)p=1+xp(1 + x)^p = 1 + x^p because the binomial coefficients (pi)\binom{p}{i}, 0<i<p0 < i < p, are divisible by pp. Hence [p](x)=xp[p](x) = x^p. For the additive law [n](x)=nx[n](x) = nx, and px=0px = 0 in characteristic pp. (Both are formalised below.)

∎

Chromatic homotopy theory, in outline. By Quillen's theorem a complex-oriented cohomology theory has a formal group law, and the moduli of formal groups — stratified by height — organises the stable homotopy category. Ordinary rational cohomology sees height 0, K-theory height 1, elliptic cohomology and topological modular forms heights ≤2\le 2, and the Morava K-theories K(n)K(n) isolate height nn. Two deep theorems make this rigorous: the nilpotence theorem (Devinatz–Hopkins–Smith, 1988), which says MU∗MU_* detects nilpotence of self-maps of finite spectra, and the periodicity theorem (Hopkins–Smith, 1998), which produces vnv_n-periodic self-maps. The stable stems are then built, prime by prime, from layers of height 0,1,2,…0, 1, 2, \dots; the image of J is (essentially) the height-1 layer.

ExplanationH

The landscape: what is known and what is open

Established. The theorems above; the chromatic convergence and thick subcategory theorems (Hopkins–Ravenel, Hopkins–Smith); the construction of topological modular forms (Goerss, Hopkins, Miller and others) and its use to detect large parts of the stable stems; the solution of the Kervaire invariant one problem outside dimension 126 by Hill, Hopkins and Ravenel (2016): elements of Kervaire invariant one exist only in dimensions 2,6,14,30,622, 6, 14, 30, 62 and possibly 126126. Computations of the stable stems at the prime 2, using the Adams spectral sequence, motivic homotopy theory and machine computation, now reach dimension 90 (Isaksen, Wang and Xu, 2023); among their consequences, Wang and Xu (2017) showed π61s=0\pi_{61}^s = 0, which implies that S61S^{61} has a unique smooth structure — the only odd-dimensional spheres with this property are S1,S3,S5S^1, S^3, S^5 and S61S^{61}.

Recent and announced. A 2023 preprint by Burklund, Hahn, Levy and Schlank disproves Ravenel's telescope conjecture at all heights ≥2\ge 2; a 2024 preprint by Lin, Wang and Xu constructs Kervaire invariant one elements in dimension 126. These are major announcements whose refereeing and absorption are under way.

Open problems.

  • The stable stems in general: no description of πks\pi_k^s for all kk is known or expected; even the pattern of their orders is mysterious beyond the chromatic layers.
  • Hopkins' chromatic splitting conjecture, describing how the K(n)K(n)-local spheres fit together, is open in general (known at low heights).
  • Which smooth manifolds admit exotic structures in a given dimension, and the size of Θn\Theta_n in general, depend on the unknown parts of πns/im⁡J\pi_n^s / \operatorname{im} J.
Formal mathematicsF

What Lean can say: Eckmann–Hilton, formal groups and parities

Mathlib has homotopy groups of spaces, and proves them abelian from dimension 2 on — the reason every stable group is abelian:

homotopyGroup_mul_commLean 4Applies a library theoremFormally verified
/-- **Eckmann–Hilton.** For `n ≥ 0`, the homotopy group `π_{n+2}(X, x)` is abelian: two maps of the
cube `I^{n+2}` can be composed along two different coordinates, and the interchange law forces
both compositions to agree and commute. This is Mathlib's instance `HomotopyGroup.commGroup`.
Since the stable stem `πₖˢ = colim_n π_{n+k}(Sⁿ)` is a colimit of such groups, every stable
homotopy group is abelian — the first sign that stable homotopy theory is "linear". -/
theorem homotopyGroup_mul_comm {X : Type*} [TopologicalSpace X] (x : X) (n : ℕ)
    (a b : HomotopyGroup.Pi (n + 2) X x) : a * b = b * a :=
  mul_comm a b
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/StableHomotopyTheory.leanTry it in the Lean web editor

It has no suspension theorem, spectra, cohomology theories, cobordism or K-theory. What can be formalised is the algebra that computes them. Formal group laws, in the form needed here — identities valid in every commutative ring, which for polynomial laws is the same as being a formal group law over Z\Z:

IsFormalGroupLawLean 4Formally verified
/-- The axioms of a (one-dimensional, commutative) **formal group law** `F`, stated as identities
in a commutative ring `A`: `F(x, 0) = x`, `F(x, y) = F(y, x)` and `F(F(x, y), z) = F(x, F(y, z))`.
A genuine formal group law is a power series in two variables; for the polynomial laws below,
holding in *every* commutative ring (for instance `A = ℤ[x, y, z]`) is the same as being a
formal group law over `ℤ`. A complex-oriented cohomology theory `E` has one: it records the first
Chern class of a tensor product of line bundles, `c₁(L ⊗ M) = F(c₁ L, c₁ M)`. -/
structure IsFormalGroupLaw (F : A → A → A) : Prop where
  zero_right : ∀ x, F x 0 = x
  comm : ∀ x y, F x y = F y x
  assoc : ∀ x y z, F (F x y) z = F x (F y z)
Axioms used: No axiomsformal/Lumenary/StableHomotopyTheory.leanTry it in the Lean web editor
addFGLLean 4Formally verified
/-- The **additive formal group law** `F(x, y) = x + y`: ordinary cohomology,
`c₁(L ⊗ M) = c₁(L) + c₁(M)`. -/
def addFGL (x y : A) : A := x + y
Axioms used: No axiomsformal/Lumenary/StableHomotopyTheory.leanTry it in the Lean web editor
mulFGLLean 4Formally verified
/-- The **multiplicative formal group law** `F(x, y) = x + y + xy`. Complex K-theory has this law
(up to sign and a unit, the Bott class): with `c₁(L) = L − 1`, `L ⊗ M − 1 = (L − 1) + (M − 1) +
(L − 1)(M − 1)`. -/
def mulFGL (x y : A) : A := x + y + x * y
Axioms used: No axiomsformal/Lumenary/StableHomotopyTheory.leanTry it in the Lean web editor
isFormalGroupLaw_addLean 4Proved here from basic factsFormally verified
/-- `x + y` is a formal group law: the axioms are the ring axioms for addition. -/
theorem isFormalGroupLaw_add : IsFormalGroupLaw (addFGL (A := A)) where
  zero_right x := by simp [addFGL]
  comm x y := by simp only [addFGL]; ring
  assoc x y z := by simp only [addFGL]; ring
Axioms used: propextformal/Lumenary/StableHomotopyTheory.leanTry it in the Lean web editor
isFormalGroupLaw_mulLean 4Proved here from basic factsFormally verified
/-- `x + y + xy` is a formal group law. Associativity: both sides equal
`x + y + z + xy + xz + yz + xyz`. -/
theorem isFormalGroupLaw_mul : IsFormalGroupLaw (mulFGL (A := A)) where
  zero_right x := by simp [mulFGL]
  comm x y := by simp only [mulFGL]; ring
  assoc x y z := by simp only [mulFGL]; ring
Axioms used: propextformal/Lumenary/StableHomotopyTheory.leanTry it in the Lean web editor
one_add_mulFGLLean 4Proved here from basic factsFormally verified
/-- The multiplicative law is the multiplicative group in disguise: `1 + F(x, y) = (1 + x)(1 + y)`.
Over `ℚ` the logarithm `log(1 + x)` turns it into the additive law; over `ℤ/p` no such
isomorphism exists, which is what *height* measures. -/
theorem one_add_mulFGL (x y : A) : 1 + mulFGL x y = (1 + x) * (1 + y) := by
  simp only [mulFGL]
  ring
Axioms used: propextformal/Lumenary/StableHomotopyTheory.leanTry it in the Lean web editor

The nn-series and Theorem 11, the heights of the additive and multiplicative laws:

nSeriesLean 4Formally verified
/-- The **`n`-series** `[n]_F(x) = F(x, F(x, …, F(x, 0)))`, "`x` added to itself `n` times" with
the formal group law `F`. -/
def nSeries (F : A → A → A) : ℕ → A → A
  | 0, _ => 0
  | n + 1, x => F x (nSeries F n x)
Axioms used: No axiomsformal/Lumenary/StableHomotopyTheory.leanTry it in the Lean web editor
add_nSeriesLean 4Proved here from basic factsFormally verified
/-- For the additive law, `[n](x) = n x`. -/
theorem add_nSeries (n : ℕ) (x : A) : nSeries addFGL n x = n * x := by
  induction n with
  | zero => simp [nSeries]
  | succ n ih =>
    simp only [nSeries, addFGL, ih]
    push_cast
    ring
Axioms used: propextformal/Lumenary/StableHomotopyTheory.leanTry it in the Lean web editor
mul_nSeriesLean 4Proved here from basic factsFormally verified
/-- For the multiplicative law, `1 + [n](x) = (1 + x)ⁿ`, by induction using `one_add_mulFGL`. -/
theorem mul_nSeries (n : ℕ) (x : A) : 1 + nSeries mulFGL n x = (1 + x) ^ n := by
  induction n with
  | zero => simp [nSeries]
  | succ n ih =>
    rw [nSeries, one_add_mulFGL, ih, pow_succ, mul_comm]
Axioms used: propextformal/Lumenary/StableHomotopyTheory.leanTry it in the Lean web editor
mul_pSeries_charPLean 4Proved here from basic factsFormally verified
/-- **The multiplicative formal group law has height 1 at every prime.** Over `𝔽_p`, its
`p`-series is `[p](X) = Xᵖ`: from `1 + [p](X) = (1 + X)ᵖ = 1 + Xᵖ` (the "freshman's dream" in
characteristic `p`, Mathlib's `add_pow_char`). In chromatic homotopy theory this is why complex
K-theory sits at chromatic height 1. -/
theorem mul_pSeries_charP : nSeries mulFGL p (X : (ZMod p)[X]) = X ^ p := by
  have h := mul_nSeries p (X : (ZMod p)[X])
  rw [add_pow_char, one_pow] at h
  exact add_left_cancel h
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/StableHomotopyTheory.leanTry it in the Lean web editor
add_pSeries_charPLean 4Proved here from basic factsFormally verified
/-- **The additive formal group law has infinite height.** Over `𝔽_p`, its `p`-series is
`[p](X) = pX = 0`. Ordinary mod-`p` cohomology sits at chromatic height ∞; the Morava K-theories
`K(n)` interpolate, with formal groups of height exactly `n`. -/
theorem add_pSeries_charP : nSeries addFGL p (X : (ZMod p)[X]) = 0 := by
  rw [add_nSeries]
  simp
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/StableHomotopyTheory.leanTry it in the Lean web editor

The binomial parities of Corollary 5 (the topology — Theorem 4 and the formula for w(RPn)w(\R P^n) — is cited):

rp_odd_sw_vanishLean 4Proved here from basic factsFormally verified
/-- **Odd projective spaces bound.** The total Stiefel–Whitney class of `ℝPⁿ` is `(1 + a)ⁿ⁺¹`, so
`w_i(ℝPⁿ) = C(n+1, i) aⁱ`. If `n + 1 = 2m` is even, then `C(2m, i)` is even for every odd `i`:
from `i · C(2m, i) = 2m · C(2m − 1, i − 1)`. So only even-degree classes survive mod 2, every
Stiefel–Whitney number `w_I[ℝPⁿ]` of the odd degree `n` vanishes, and by the theorems of
Pontryagin and Thom `ℝPⁿ` is the boundary of a compact `(n+1)`-manifold. -/
theorem rp_odd_sw_vanish (m i : ℕ) (hi : Odd i) : 2 ∣ Nat.choose (2 * m) i := by
  obtain ⟨j, rfl⟩ := hi
  rcases m with _ | m
  · rw [Nat.choose_eq_zero_of_lt (by omega)]
    exact dvd_zero 2
  · -- `(2m + 2) · C(2m + 1, 2j) = C(2m + 2, 2j + 1) · (2j + 1)`
    have h := Nat.add_one_mul_choose_eq (2 * m + 1) (2 * j)
    have hdvd : 2 ∣ Nat.choose (2 * m + 1 + 1) (2 * j + 1) * (2 * j + 1) :=
      ⟨(m + 1) * Nat.choose (2 * m + 1) (2 * j), by rw [← h]; ring⟩
    rcases (Nat.Prime.dvd_mul Nat.prime_two).mp hdvd with h2 | h2
    · simpa [show 2 * (m + 1) = 2 * m + 1 + 1 by ring] using h2
    · omega
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/StableHomotopyTheory.leanTry it in the Lean web editor
rp_even_top_swLean 4Proved here from basic factsFormally verified
/-- **Even projective spaces do not bound.** For `n = 2m`, the top Stiefel–Whitney class is
`w_n(ℝPⁿ) = C(n+1, n) aⁿ = (n+1) aⁿ`, and `n + 1` is odd, so the Stiefel–Whitney number
`w_n[ℝPⁿ]` is `1 ∈ 𝔽₂` (it is also the Euler characteristic mod 2). By Pontryagin's theorem,
`ℝP²ᵐ` is not the boundary of any compact manifold; `ℝP²` and `ℝP⁴` generate parts of Thom's
cobordism ring `𝔑_*`. -/
theorem rp_even_top_sw (m : ℕ) : ¬ 2 ∣ Nat.choose (2 * m + 1) (2 * m) := by
  rw [Nat.choose_succ_self_right]
  omega
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/StableHomotopyTheory.leanTry it in the Lean web editor

And the Bernoulli arithmetic of Theorem 8, using Mathlib's Bernoulli numbers:

image_of_j_ordersLean 4Proved here from basic factsFormally verified
/-- **Bernoulli numbers in the stable stems.** `B₂/4 = 1/24` and `B₄/8 = −1/240`. By Adams'
work on the J-homomorphism (completed by the proof of the Adams conjecture by Quillen, Sullivan
and Becker–Gottlieb), the image of `J : π_{4k−1}(SO) → π_{4k−1}ˢ` is cyclic of order the
denominator of `B_{2k}/4k`: here `24` and `240`, which are the whole groups `π₃ˢ = ℤ/24` and
`π₇ˢ = ℤ/240`. Lean checks the arithmetic, from Mathlib's `bernoulli_two` and `bernoulli'_four`;
the homotopy theory is cited. -/
theorem image_of_j_orders :
    bernoulli 2 / (2 * 2) = 1 / 24 ∧ bernoulli 4 / (2 * 4) = -1 / 240 := by
  refine ⟨?_, ?_⟩
  · rw [bernoulli_two]
    norm_num
  · rw [bernoulli_eq_bernoulli'_of_ne_one (by norm_num), bernoulli'_four]
    norm_num
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/StableHomotopyTheory.leanTry it in the Lean web editor

What is not formalised. Theorems 1–10 themselves, and every computation of a stable homotopy group. Formal group laws are stated for polynomials rather than power series, which covers the two laws used here but not, for example, the universal law of MUMU.

ComputationC

Bernoulli numbers and cobordism by machine

The first experiment computes Bernoulli numbers exactly and evaluates the two classical formulas of Theorems 8 and 9: the order of the image of J (compared with the known stems) and the number of exotic spheres bounding parallelisable manifolds.

Bernoulli numbers, the image of J and exotic spheresPythonExact computationComputationally tested
"""Bernoulli numbers in stable homotopy: the image of J and exotic spheres.

Two classical theorems turn Bernoulli numbers into homotopy theory.

* Adams (with the Adams conjecture, proved by Quillen, Sullivan and
  Becker-Gottlieb): the image of the stable J-homomorphism in the stable stem
  pi_{4k-1}^s is cyclic of order m(2k) = denominator of B_{2k} / 4k.
* Kervaire-Milnor (1963): the group bP_{4k} of exotic (4k-1)-spheres that
  bound parallelisable manifolds has order
  2^(2k-2) (2^(2k-1) - 1) * numerator(4 |B_{2k}| / k), for k >= 2.

We compute the Bernoulli numbers exactly, evaluate both formulas, and compare
m(2k) with the known stable stems pi_3^s = Z/24, pi_7^s = Z/240,
pi_11^s = Z/504 and pi_15^s = Z/480 + Z/2 (Toda, 1962), which are quoted here,
not computed.
"""

from fractions import Fraction
from math import comb

def bernoulli_numbers(n):
    """B_0, ..., B_n (convention B_1 = -1/2), from sum_j C(m+1, j) B_j = 0."""
    b = [Fraction(1)]
    for m in range(1, n + 1):
        s = sum(comb(m + 1, j) * b[j] for j in range(m))
        b.append(-s / (m + 1))
    return b

def image_of_j_order(k, b):
    """m(2k): the denominator of B_{2k} / 4k."""
    return (b[2 * k] / (4 * k)).denominator

def bp_order(k, b):
    """Kervaire-Milnor order of bP_{4k}, k >= 2."""
    num = (4 * abs(b[2 * k]) / k).numerator
    return 2 ** (2 * k - 2) * (2 ** (2 * k - 1) - 1) * num

#: Known stable stems pi_{4k-1}^s (Toda 1962), as orders and descriptions.
KNOWN_STEMS = {1: (24, "Z/24"), 2: (240, "Z/240"), 3: (504, "Z/504"),
               4: (960, "Z/480 + Z/2")}

def main():
    b = bernoulli_numbers(16)
    print(" k  B_2k          m(2k) = den(B_2k/4k)  pi_(4k-1)^s (known)")
    for k in range(1, 9):
        m = image_of_j_order(k, b)
        known = KNOWN_STEMS.get(k)
        tail = f"{known[1]} ({known[0] // m} x |im J|)" if known else "-"
        print(f"{k:2d}  {str(b[2 * k]):12s}  {m:21d}  {tail}")
    print("Numerators such as 691 (B_12) and 3617 (B_16) reappear in |bP_4k|.")
    print()
    print("Exotic spheres bounding parallelisable manifolds (Kervaire-Milnor):")
    for k in range(2, 6):
        print(f"  |bP_{4 * k}| = {bp_order(k, b):>10d}"
              f"   (homotopy {4 * k - 1}-spheres)")
    print("Since pi_7^s = im J, all homotopy 7-spheres bound parallelisable")
    print("manifolds: S^7 has exactly 28 smooth structures up to orientation-")
    print("preserving diffeomorphism, Milnor's 1956 examples among them.")
    print()
    print("Epistemic status: the Bernoulli numbers and both formulas are exact")
    print("rational computations. That m(2k) is the order of the image of J,")
    print("and the Kervaire-Milnor count, are theorems cited from the literature;")
    print("the stable stems in the last column are quoted (Toda's computations),")
    print("not computed. Agreement is consistency, not proof.")

if __name__ == "__main__":
    main()
Runs entirely in your browser, in an isolated worker. Nothing is sent to a server.

The second compares Thom's answer for dim⁡Nn\dim \mathfrak{N}_n with what Stiefel–Whitney numbers of products of real projective spaces can see: they span Nn\mathfrak{N}_n in even degrees up to 8, and nothing in odd degrees, where Dold manifolds are needed.

Thom's cobordism ring and Stiefel-Whitney numbersPythonExact computationExhaustive finite checkComputationally tested
"""Thom's unoriented cobordism ring, checked with Stiefel-Whitney numbers.

Thom (1954) computed the unoriented cobordism ring as a homotopy ring of a
Thom spectrum: N_* = pi_*(MO) = F_2[x_i : i not of the form 2^k - 1], so
dim N_n is the number of partitions of n into parts not of the form 2^k - 1.
Pontryagin and Thom: a closed manifold bounds iff all its Stiefel-Whitney
numbers vanish.

We compute (exactly, over F_2) the Stiefel-Whitney numbers of products of real
projective spaces from w(RP^a) = (1 + u)^(a+1), check which bound, and compare
the rank of the span of their Stiefel-Whitney number vectors with Thom's dim
N_n. In odd dimensions every such product bounds, so other generators (Dold
manifolds) are needed: the computation shows this, Thom's theorem explains it.
"""

from itertools import combinations_with_replacement
from math import comb

def partitions(n, largest=None):
    """All partitions of n as non-increasing tuples."""
    if largest is None:
        largest = n
    if n == 0:
        return [()]
    out = []
    for first in range(min(n, largest), 0, -1):
        for rest in partitions(n - first, first):
            out.append((first,) + rest)
    return out

def is_mersenne(i):
    """True when i = 2^k - 1 for some k >= 1."""
    return i >= 1 and (i + 1) & i == 0

def thom_rank(n):
    """dim N_n: partitions of n avoiding parts 1, 3, 7, 15, ..."""
    return sum(1 for p in partitions(n) if not any(is_mersenne(i) for i in p))

def sw_classes(dims):
    """The classes w_0, ..., w_n of RP^d1 x ... x RP^dr as polynomials.

    Each w_i is a set of exponent tuples (coefficients are in F_2): the
    degree-i part of the product of (1 + u_j)^(d_j + 1), truncated at
    u_j^(d_j + 1).
    """
    n = sum(dims)
    classes = []
    for i in range(n + 1):
        terms = set()
        for e in combinations_with_replacement(range(len(dims)), i):
            exps = tuple(e.count(j) for j in range(len(dims)))
            if all(x <= d for x, d in zip(exps, dims)):
                c = 1
                for x, d in zip(exps, dims):
                    c *= comb(d + 1, x)
                if c % 2:
                    terms.add(exps)
        classes.append(terms)
    return classes

def sw_number(dims, partition, classes=None):
    """w_I[RP^d1 x ... x RP^dr] in F_2, for a partition I of sum(dims):
    the coefficient of u_1^d1 ... u_r^dr in w_{i_1} ... w_{i_s}."""
    if classes is None:
        classes = sw_classes(dims)
    product = {tuple(0 for _ in dims)}
    for i in partition:
        new = set()
        for e1 in product:
            for e2 in classes[i]:
                e = tuple(a + b for a, b in zip(e1, e2))
                if all(x <= d for x, d in zip(e, dims)):
                    new ^= {e}
        product = new
    return 1 if tuple(dims) in product else 0

def rp_products(n):
    """All products RP^d1 x ... x RP^dr (d_i >= 1) of dimension n."""
    return [p for p in partitions(n)]

def rank_mod2(rows):
    """Rank over F_2 of a list of 0/1 vectors."""
    rows = [int("".join(map(str, r)), 2) for r in rows if any(r)]
    basis = []
    for r in rows:
        for b in basis:
            r = min(r, r ^ b)
        if r:
            basis.append(r)
    return len(basis)

def main():
    print("Thom: dim N_n = #partitions of n with no part 1, 3, 7, 15, ...")
    print("  n:     " + " ".join(f"{n:3d}" for n in range(11)))
    print("  dim:   " + " ".join(f"{thom_rank(n):3d}" for n in range(11)))
    print()
    print("Products of real projective spaces, via Stiefel-Whitney numbers")
    print("  n  products  non-bounding  rank of span  Thom's dim N_n")
    for n in range(1, 9):
        parts = partitions(n)
        vectors = []
        for d in rp_products(n):
            classes = sw_classes(d)
            vectors.append([sw_number(d, I, classes) for I in parts])
        nonbounding = sum(1 for v in vectors if any(v))
        print(f"{n:3d}  {len(vectors):8d}  {nonbounding:12d}"
              f"  {rank_mod2(vectors):12d}  {thom_rank(n):14d}")
    v = [sw_number((2,), I) for I in partitions(2)]
    print(f"RP^2: (w_2, w_1^2) = {tuple(v)}, so RP^2 does not bound.")
    print("Odd n: every product has an odd-dimensional factor, which bounds.")
    print()
    print("Epistemic status: all Stiefel-Whitney numbers and partition counts")
    print("are exact computations over F_2, exhaustive for n <= 8. That they")
    print("decide cobordism (Pontryagin, Thom) and that N_* is polynomial on")
    print("generators in degrees not of the form 2^k - 1 (Thom) are theorems;")
    print("the agreement of the last two columns in even degrees is evidence.")

if __name__ == "__main__":
    main()
Runs entirely in your browser, in an isolated worker. Nothing is sent to a server.
Explore

Explore: the Hopf link and the stable tower

The Hopf invariant. The fibres of the Hopf map η:S3→S2\eta : S^3 \to S^2 over two points of S2S^2 are two circles that link once: this linking number is the Hopf invariant, and it shows η\eta is not null-homotopic. Its suspensions generate πn+1(Sn)≅Z/2\pi_{n+1}(S^n) \cong \Z/2 for n≥3n \ge 3.

Two fibres of the Hopf map

Linking number 1 = Hopf invariant 1. A map whose fibres were unlinked would have Hopf invariant 0.

??

Click an arc to change its colour (or focus it and press Enter, or 1, 2, 3). An arc runs from one under-crossing to the next.

colour 1 (terracotta, circle)colour 2 (violet, triangle)colour 3 (teal, square)
Hopf linkL2a1
Crossings in this diagram
2
Crossing number (fewest possible)
2
Linking number (its sign depends on the directions chosen)
±1

Arcs coloured: 0 of 2.

Why this rule? Any two diagrams of the same knot are related by three kinds of local moves, the Reidemeister moves: adding or removing a twist, sliding one strand over another, and sliding a strand past a crossing. Each move turns a valid colouring with two or more colours into another one.

Two linked rings. The Hopf link cannot be tricoloured, while two separate rings can (give each ring its own colour), so the rings cannot be pulled apart. Its linking number, ±1 instead of 0, proves the same thing.

So tricolourability is a knot invariant: if one diagram of a knot can be tricoloured, every diagram of it can. A plain circle has just one arc, so the unknot cannot be tricoloured.

The suspension tower. Each column of the table is a sequence of groups and suspension maps that eventually consists of isomorphisms:

≅≅
π3(S2)\pi_{3}(S^2)
π4(S3)\pi_{4}(S^3)
π5(S4)\pi_{5}(S^4)
π6(S5)\pi_{6}(S^5)
π1s\pi_1^s
Z\Z
Z/2\Z/2
Z/2\Z/2
Z/2\Z/2
Z/2\Z/2
Σ\Sigma
Σ\Sigma
Σ\Sigma
≅\cong
≅\cong
≅\cong
≅\cong
≅\cong
The column k=1k = 1: the first suspension Z→Z/2\mathbb{Z} \to \mathbb{Z}/2 is onto (as Freudenthal predicts at the edge of the range, q=2n−1q = 2n - 1), and from S3S^3 on all suspensions are isomorphisms.

Degree is the zeroth stable stem. On the circle, the homotopy class of a loop around a hole is its winding number; for maps Sn→SnS^n \to S^n it is the degree, and π0s=Z\pi_0^s = \Z.

Degree: the first stable invariant

π₁(S¹) = π_n(Sⁿ) = π₀ˢ = ℤ, counted by winding number.

p₁

Drag a hole to move it. Press Play to send the point around the loop, or use the slider. The small square marks the start.

Winding number around p₁2

(1/2πi)∮ dz/(z − p₁) ≈ 2.000 + 0.000i

Turns swept so far by each dashed arrow:

p₁: 0.00

The winding number is found by adding up the small changes in direction of the arrow from the hole to the moving point, and dividing the total by 360°. Counter-clockwise counts as positive.

Two loops in the plane with one hole can be deformed into each other, without ever crossing the hole, exactly when they have the same winding number. In the language of topology: the fundamental group of the punctured plane — like that of a circle — is the integers, π₁ = ℤ.

A link to complex analysis: think of the plane as the complex numbers and of a hole as a point a. Then (1/2πi)∮ dz/(z − a) equals the winding number around a. The values above are computed numerically along the loop.

Exercises

Exercises

1. Stable homotopy theory and generalised cohomology

Warm-upHuman

By the Freudenthal suspension theorem, πn+k(Sn)→πn+k+1(Sn+1)\pi_{n+k}(S^n) \to \pi_{n+k+1}(S^{n+1}) is an isomorphism when n>k+1n > k + 1. What is the smallest nn for which πn+6(Sn)\pi_{n+6}(S^n) is guaranteed to equal the stable stem π6s\pi_6^s?

2. Stable homotopy theory and generalised cohomology

CoreHuman

Why is complex K-theory KU∗KU^* not isomorphic to ordinary cohomology H∗(−;A)H^*(-; A) for any abelian group AA?

Choose one

3. Stable homotopy theory and generalised cohomology

CoreHuman

In the proof that Stiefel–Whitney numbers of a boundary M=∂WM = \partial W vanish, we wrote wI[M]=⟨i∗wI(W),∂[W,M]⟩=⟨δi∗wI(W),[W,M]⟩=0w_I[M] = \langle i^* w_I(W), \partial[W, M] \rangle = \langle \delta i^* w_I(W), [W, M] \rangle = 0. Which fact justifies the final equality?

Choose one

4. Stable homotopy theory and generalised cohomology

CoreHuman

Which of these closed manifolds are boundaries of compact manifolds? (Choose all that apply.)

Choose all that apply

5. Stable homotopy theory and generalised cohomology

CoreHuman

The image of the J-homomorphism in π11s\pi_{11}^s is cyclic of order the denominator of B6/12B_6 / 12, where B6=142B_6 = \tfrac{1}{42}. What is this order?

6. Stable homotopy theory and generalised cohomology

CoreHuman

Over F3\mathbb{F}_3, what is the 33-series [3]F(x)[3]_F(x) of the multiplicative formal group law F(x,y)=x+y+xyF(x, y) = x + y + xy, and what is its height?

Choose one

7. Stable homotopy theory and generalised cohomology

CoreFormal

Which Lean statement formalises 'the multiplicative formal group law has height 1 at the prime pp' as it is proved in this lesson?

Choose one

8. Stable homotopy theory and generalised cohomology

StretchHuman

By Thom's theorem, dim⁡F2Nn\dim_{\mathbb{F}_2} \mathfrak{N}_n is the number of partitions of nn into parts not of the form 2k−12^k - 1 (that is, avoiding 1,3,7,15,…1, 3, 7, 15, \dots). What is dim⁡N6\dim \mathfrak{N}_6?

9. Stable homotopy theory and generalised cohomology

StretchComputational

Write image_of_j(k) returning the denominator of B2k/(4k)B_{2k}/(4k), computing the Bernoulli numbers exactly with fractions.Fraction from the recurrence ∑j=0m(m+1j)Bj=0\sum_{j=0}^{m} \binom{m+1}{j} B_j = 0 (m≥1m \ge 1, B0=1B_0 = 1). Check that it gives 24,240,504,48024, 240, 504, 480 for k=1,2,3,4k = 1, 2, 3, 4.

Runs entirely in your browser, in an isolated worker. Nothing is sent to a server.
Common misconceptionsH

Common misconceptions

Misconception

"The stable homotopy groups of spheres are known." They are known only in a finite range — through dimension 90 at the prime 2, and in smaller or comparable ranges at odd primes — and the computations need heavy machinery. The chromatic picture explains large structured parts (the image of J, the families detected by topological modular forms), but there is no formula for πks\pi_k^s, and none is expected.

Misconception

"A generalised cohomology theory is just cohomology with exotic coefficients." Ordinary cohomology with coefficients in AA vanishes on a point outside degree 0. K-theory has KU−2(pt)≅ZKU^{-2}(\mathrm{pt}) \cong \Z, and cobordism has N2=π2(MO)≅F2\mathfrak{N}_2 = \pi_2(MO) \cong \mathbb{F}_2 (generated by RP2\R P^2): they violate the dimension axiom, so they are not H∗(−;A)H^*(-; A) for any AA. They are not even determined by their coefficients: the Atiyah–Hirzebruch spectral sequence from ordinary cohomology to K-theory has non-trivial differentials in general.

Misconception

"Stable means the unstable groups do not matter." Stabilisation forgets a lot: π3(S2)≅Z\pi_3(S^2) \cong \Z becomes π1s≅Z/2\pi_1^s \cong \Z/2, and π7(S4)≅Z⊕Z/12\pi_7(S^4) \cong \Z \oplus \Z/12 becomes π3s≅Z/24\pi_3^s \cong \Z/24. Unstable homotopy theory — the EHP sequence, vnv_n-periodic unstable families — is a subject of its own.

Misconception

"A spectrum is just a sequence of spaces." The structure maps are essential, and so is the right notion of morphism. Making the smash product of spectra associative and commutative on the nose required new foundations in the 1990s (symmetric spectra, orthogonal spectra, SS-modules), now subsumed by the stable ∞-category of spectra.

ViewpointsH

Many ways of seeing

Topology— Cohomology theories as the shadows of spectra

For a topologist the main point is representability: every generalised cohomology theory is [−,E][-, E] for a spectrum EE (Brown), so operations between theories are maps between spectra, and long exact sequences come from cofibre sequences. Homotopy invariants of manifolds become stable homotopy: characteristic numbers through Thom spectra, framings through the sphere spectrum, exotic spheres through π∗s/im⁡J\pi_*^s / \operatorname{im} J. The prerequisites are homotopy theory and vector bundles and characteristic classes.

Geometry— Cobordism and smooth structures

For a geometric topologist, stable homotopy theory is the algebra of manifolds. The Pontryagin–Thom construction identifies framed manifolds up to framed cobordism with the stable stems, and Kervaire–Milnor convert the stems into counts of exotic spheres — 28 on S7S^7, 992 bounding parallelisable manifolds in dimension 11, and a unique smooth structure on S61S^{61}. In dimension 4, the 10/8 theorem on intersection forms of spin 4-manifolds was sharpened using equivariant stable homotopy theory (see low-dimensional topology).

Algebra— The Steenrod algebra and the Lazard ring

Algebraically, the stable stems are approximated by homological algebra over Hopf algebras. The Adams spectral sequence starts from Ext⁡\operatorname{Ext} over the Steenrod algebra A\mathcal{A} — computed by minimal resolutions, now by computer to high degrees; the Adams–Novikov spectral sequence starts from Ext⁡\operatorname{Ext} over MU∗MUMU_*MU, the Hopf algebroid of coordinate changes of formal group laws. Quillen's theorem identifies MU∗MU_* with the Lazard ring LL, which Lazard (1955) had shown to be a polynomial ring classifying formal group laws: topology rediscovered an algebraic object. See homological algebra.

Number theory— Bernoulli numbers, zeta values and formal groups

Number theory appears twice. First, through special values: the image of J in π4k−1s\pi_{4k-1}^s has order the denominator of ζ(1−2k)/2\zeta(1-2k)/2 (for k=1k = 1: ζ(−1)=−112\zeta(-1) = -\tfrac{1}{12}, order 24), and the same denominators govern the torsion in the algebraic K-theory of Z\Z (for example K3(Z)≅Z/48K_3(\Z) \cong \Z/48, Lee–Szczarba). Second, through formal groups: a formal group of height nn over F‾p\overline{\mathbb{F}}_p is unique up to isomorphism (Lazard), its Lubin–Tate deformation theory gives the Morava E-theories, and its automorphism group, the Morava stabiliser group, is the group of units in the maximal order of the division algebra over Qp\Q_p of invariant 1/n1/n. Chromatic homotopy theory is, in part, the cohomology of these pp-adic groups. See arithmetic geometry.

Physics— K-theory charges and topological phases

In string theory, conserved charges of D-branes take values in K-theory rather than in cohomology (Minasian–Moore 1997, Witten 1998). In condensed matter physics, Kitaev's "periodic table" (2009) classifies topological insulators and superconductors by real and complex K-theory, and its eight-fold pattern is Bott periodicity of KOKO. The Witten genus and the elliptic genera of quantum field theory led to elliptic cohomology and topological modular forms. These physical derivations are heuristic; the classifications they predict are, where proved, theorems of K-theory.

Category theory— Spectra as a stable ∞-category

Categorically, spectra are the stabilisation of spaces: the universal stable ∞-category with a functor from spaces, Sp=lim⁡(⋯→ΩS∗→ΩS∗)\mathrm{Sp} = \lim(\cdots \xrightarrow{\Omega} \mathcal{S}_* \xrightarrow{\Omega} \mathcal{S}_*). The stable homotopy category is its homotopy category, which is triangulated; Brown representability is a statement about this category; and the smash product makes Sp\mathrm{Sp} symmetric monoidal, so that ring spectra (E∞\mathbb{E}_\infty-rings such as KUKU, MUMU, tmf\mathrm{tmf}) can be studied like commutative rings — "brave new algebra". See stable ∞-categories and triangulated categories.

History & global context

History and global context

  • 1930s–1950s: the first stable phenomena. Heinz Hopf (Germany–Switzerland) found the Hopf map and its invariant (1931); Hans Freudenthal (Germany–Netherlands) proved the suspension theorem (1937); Lev Pontryagin (USSR) related framed manifolds to homotopy groups of spheres; Jean-Pierre Serre (France) introduced spectral sequences into homotopy theory and proved finiteness (1951–53); René Thom (France) computed cobordism (1954); Hirosi Toda (Japan) computed homotopy groups of spheres far into the unstable range (1962).
  • 1958–1963: spectra and cohomology theories. Elon Lages Lima (Brazil), in his Chicago thesis (1958) under Edwin Spanier, introduced spectra; George Whitehead showed they define homology theories (1962) and Edgar Brown proved representability (1962); Raoul Bott (Hungary–USA) proved periodicity (1959); Michael Atiyah and Friedrich Hirzebruch (UK, Germany) created topological K-theory; Frank Adams (UK) built his spectral sequence (1958) and solved the Hopf invariant one problem (1960); Michel Kervaire and John Milnor (Switzerland, USA) counted exotic spheres (1963).
  • 1960s–1980s: complex cobordism and formal groups. John Milnor and Sergei Novikov (USSR) computed π∗(MU)\pi_*(MU) (1960); Novikov introduced the Adams–Novikov spectral sequence (1967); Daniel Quillen (USA) connected complex cobordism and formal group laws (1969); Jack Morava (USA) introduced Morava K-theories and the chromatic viewpoint; Douglas Ravenel (USA) formulated his conjectures (1984), most of which were proved by Ethan Devinatz, Michael Hopkins and Jeffrey Smith (1988, 1998).
  • 1990s–present. Michael Boardman's stable homotopy category (1960s) received new foundations (symmetric and orthogonal spectra, SS-modules) and was absorbed into ∞-categories by Jacob Lurie; Hopkins, Haynes Miller, Paul Goerss and others constructed topological modular forms; Michael Hill, Hopkins and Ravenel solved most of the Kervaire invariant problem (2009 announcement, 2016); Daniel Isaksen, Guozhen Wang and Zhouli Xu (USA, China) pushed the computation of the stems to dimension 90 with motivic and machine methods.
Further reading

Further reading

A suggested path: Hatcher (Chapter 4) for Freudenthal and the first stems; Milnor–Stasheff for Thom's theorem; Adams' blue book for spectra and the Adams spectral sequence; Ravenel's green and orange books for the chromatic picture; Barnes–Roitzheim or Lurie for modern foundations.

  • Allen Hatcher, Algebraic Topology (2002), Chapter 4.
  • John W. Milnor and James D. Stasheff, Characteristic Classes (1974).
  • J. F. Adams, Stable Homotopy and Generalised Homology (1974).
  • Robert M. Switzer, Algebraic Topology — Homotopy and Homology (1975).
  • Douglas C. Ravenel, Complex Cobordism and Stable Homotopy Groups of Spheres (1986; 2nd edition 2004).
  • Douglas C. Ravenel, Nilpotence and Periodicity in Stable Homotopy Theory (1992).
  • Stanley O. Kochman, Bordism, Stable Homotopy and Adams Spectral Sequences (1996).
  • Hirosi Toda, Composition Methods in Homotopy Groups of Spheres (1962).
  • David Barnes and Constanze Roitzheim, Foundations of Stable Homotopy Theory (2020).
  • Daniel C. Isaksen, Guozhen Wang and Zhouli Xu, "Stable homotopy groups of spheres: from dimension 0 to 90", Publications Mathématiques de l'IHÉS 137 (2023).