Steenrod Squares 2: Electric Boogaloo

Enrique De Alba ; October 12, 2025


Let's continue where we left off from the previous post. We'll be exploring cohomology operations more in-depth, and as we build more elaborate machinery, we'll be able to prove more stuff!

We'll introduce the Steenrod squares which are cohomology operations that satisfy some relatively basic axioms. We denote the Steenrod square SqiSq^i as the following natural transformation:

Sqi:Hn(;Z2)Hn+i(;Z2),Sq^i : H^n(-;\mathbb{Z}_2) \to H^{n+i}(-;\mathbb{Z}_2),

such that for any space XX we get a homomorphism Sqi:Hn(X;Z2)Hn+i(X;Z2)Sq^i : H^n(X;\mathbb{Z}_2) \to H^{n+i}(X;\mathbb{Z}_2) for all i0.i \geq 0. Then, for any continuous map f:XYf: X \to Y we also get the following commutative diagram from the Steenrod square:

Commutative diagram showing Steenrod square naturality

This diagram just means that ff^* and SqiSq^i commute, i.e.

fSqi=Sqif,f^* \circ Sq^i = Sq^i \circ f^*,

for all i0.i \geq 0. And since this condition must hold for all i0,i\geq 0, this places a lot more restrictions on functions ff between spaces.

In blog post #1, we mainly focused on RPk\mathbb{RP}^k for some finite k,k, but in this post we'll be mainly working with RP.\mathbb{RP}^{\infty}. We define RP\mathbb{RP}^{\infty} as the direct limit (or union) of the finite-dimensional real projective spaces under standard inclusions:

limRPn=RP1i1RP2i2RP3i3RP \varinjlim \mathbb{RP}^{n} = \mathbb{RP}^1 \xhookrightarrow{\,\, i_1 \,\,} \mathbb{RP}^2 \xhookrightarrow{\,\, i_2 \,\,} \mathbb{RP}^3 \xhookrightarrow{\,\, i_3 \,\,} \cdots \xhookrightarrow{\quad} \mathbb{RP}^{\infty}

This captures the idea that RP\mathbb{RP}^\infty is built by successively attaching cells to get from RPn\mathbb{RP}^n to RPn+1.\mathbb{RP}^{n+1}. Next, let's apply the cohomology functor Hk(;Z2)H^k(-;\mathbb{Z}_2):

Hk(RP1;Z2)i1Hk(RP2;Z2)i2Hk(RP3;Z2)i3 H^k(\mathbb{RP}^{1};\mathbb{Z}_2) \xleftarrow{\,\, i_1^* \,\,} H^k(\mathbb{RP}^{2};\mathbb{Z}_2) \xleftarrow{\,\, i_2^* \,\,} H^k(\mathbb{RP}^{3};\mathbb{Z}_2) \xleftarrow{\,\, i_3^* \,\,} \cdots

Here we have the induced map

in:Hk(RPn+1;Z2)Hk(RPn;Z2)i_n^*: H^k(\mathbb{RP}^{n+1}; \mathbb{Z}_2) \to H^k(\mathbb{RP}^{n};\mathbb{Z}_2)

where we map the non-zero generator αn+1H1(RPn+1;Z2)\alpha_{n+1} \in H^1(\mathbb{RP}^{n+1}; \mathbb{Z}_2) to the non-zero generator αnH1(RPn;Z2),\alpha_{n} \in H^1(\mathbb{RP}^{n}; \mathbb{Z}_2), i.e.

in(αn+1)=αni_n^*( \alpha_{n+1} ) = \alpha_n

Note that ini_n^* is the zero map for all kn+1k \geq n+1 since we'd have a map in:Hk(RPn+1;Z2){0}.i_n^*: H^k(\mathbb{RP}^{n+1}; \mathbb{Z}_2) \to \{ 0 \}. With this in mind, let's compute Hk(RP;Z2)H^k(\mathbb{RP}^\infty;\mathbb{Z}_2) for some fixed kk:

Hk(RPk1;Z2)ik1Hk(RPk;Z2)ikHk(RPk+1;Z2)ik+1Hk(RPk+2;Z2) \cdots \leftarrow H^k(\mathbb{RP}^{k-1}; \mathbb{Z}_2) \xleftarrow{\,\, i_{k-1}^* \,\,} H^k(\mathbb{RP}^{k}; \mathbb{Z}_2) \xleftarrow{\,\, i_{k}^* \,\,} H^k(\mathbb{RP}^{k+1}; \mathbb{Z}_2) \xleftarrow{\,\, i_{k+1}^* \,\,} H^k(\mathbb{RP}^{k+2}; \mathbb{Z}_2) \xleftarrow{\quad} \cdots

Note that for fixed k,k, Hk(RPm;Z2)Z2H^k(\mathbb{RP}^{m} ; \mathbb{Z}_2) \cong \mathbb{Z}_2 for kmk \leq m and Hk(RPm;Z2)0H^k(\mathbb{RP}^{m} ; \mathbb{Z}_2) \cong 0 for all k>mk > m, i.e. these are just zero, so we get:

Z2Z200 \cdots \leftarrow \mathbb{Z}_2 \xleftarrow{\,\, \cong \,\,} \mathbb{Z}_2 \xleftarrow{\,\, \cong \,\,} 0 \leftarrow 0 \leftarrow \cdots

This sequence of groups becomes stable with Z2Z2\mathbb{Z}_2 \to \mathbb{Z}_2 isomorphisms as we vary nn in RPn\mathbb{RP}^n down to RP1.\mathbb{RP}^1. We get the following inverse limit (this is the categorical dual to the direct limit lim\varinjlim) with respect to the kk-th cohomology of RP\mathbb{RP}^\infty:

Hk(RP;Z2)=limnHk(RPn;Z2)Z2,H^k(\mathbb{RP}^{\infty} ;\mathbb{Z}_2) = \varprojlim_{n}\, H^k(\mathbb{RP}^n;\mathbb{Z}_2) \cong \mathbb{Z}_2,

for all k0.k\geq 0. Now, what about the overall ring structure for H(RP;Z2)H^*(\mathbb{RP}^\infty;\mathbb{Z}_2)? Recall that for finite n,n, we have the following truncated polynomial ring for RPn\mathbb{RP}^n:

H(RPn;Z2)Z2[α]/(αn+1),H^*(\mathbb{RP}^n ;\mathbb{Z}_2) \cong \mathbb{Z}_2[\alpha] / (\alpha^{n+1}),

where αH1(RPn;Z2)\alpha \in H^1(\mathbb{RP}^n ; \mathbb{Z}_2) is the non-zero generator of H1H^1 and (αn+1)(\alpha^{n+1}) captures the αn+1=0\alpha^{n+1} = 0 relation. A hand-wavey way to see H(RP;Z2)H^*(\mathbb{RP}^\infty;\mathbb{Z}_2) is just to observe that as n,n \to \infty, this αn+1=0\alpha^{n+1} = 0 relation "runs away to infinity", as kids these days would say, so it disappears and then we're left with:

H(RP;Z2)Z2[α]H^*(\mathbb{RP}^\infty ;\mathbb{Z}_2) \cong \mathbb{Z}_2[\alpha]

To make this more formal, consider the following inverse limit over rings:

Z2[αn+1]/(αn+1n+2)Z2[αn]/(αnn+1) \cdots \to \mathbb{Z}_2[\alpha_{n+1}] / (\alpha_{n+1}^{n+2}) \to \mathbb{Z}_2[\alpha_n] / (\alpha_n^{n+1}) \to \cdots

where αn+1H1(RPn+1;Z2)\alpha_{n+1} \in H^1(\mathbb{RP}^{n+1}; \mathbb{Z}_2) and so on. An element of this inverse limit of rings is a sequence of cohomology classes (c1,c2,c3,)(c_1, c_2, c_3, \ldots) where cnH(RPn;Z2)c_n \in H^*(\mathbb{RP}^n;\mathbb{Z}_2) and in(cn+1)=cni_n^*(c_{n+1}) = c_n for all n.n. Consider the non-zero generator αH1(RP;Z2).\alpha_{\infty} \in H^1(\mathbb{RP}^\infty ;\mathbb{Z}_2). Note that α\alpha_{\infty} corresponds to the (stable) sequence of generators (α1,α2,α3,)(\alpha_1, \alpha_2, \alpha_3, \ldots) where αn\alpha_n is the non-zero generator such that αnH1(RPn;Z2)\alpha_n \in H^1(\mathbb{RP}^n;\mathbb{Z}_2) for all n1.n\geq 1. Next, let's consider αkHk(RP;Z2).\alpha_{\infty}^k \in H^k(\mathbb{RP}^{\infty} ; \mathbb{Z}_2). This corresponds to the sequence (α1k,α2k,α3k,).(\alpha_1^k, \alpha_2^k, \alpha_3^k, \ldots). Is this well-defined? We have

in(αn+1k)=(in(αn+1))k=αnki_n^*(\alpha_{n+1}^k) = ( i_n^*(\alpha_{n+1}) )^k = \alpha_{n}^k

So we still have in(αn+1k)=αnki_n^*(\alpha_{n+1}^k) = \alpha_{n}^k like we want. Is αk\alpha_{\infty}^k ever zero? For αk\alpha_{\infty}^k to equal zero, then we need the sequence (α1k,α2k,α3k,)(\alpha_1^k, \alpha_2^k, \alpha_3^k, \ldots) to eventually become zero. In this sequence, note that we have

(α1k,α2k,α3k,,αkk,,αmk,),(\alpha_1^k, \alpha_2^k, \alpha_3^k, \ldots, \alpha_k^k, \ldots, \alpha_m^k, \ldots),

where we have an index mkm \geq k such that we get the non-zero generators αmkHk(RPm;Z2)\alpha_m^k \in H^k(\mathbb{RP}^m ; \mathbb{Z}_2) for any fixed k.k. Since αk0\alpha_{\infty}^k \neq 0 for any (finite) k,k, then we get

H(RP;Z2)Z2[α],H^*(\mathbb{RP}^\infty ;\mathbb{Z}_2) \cong \mathbb{Z}_2[\alpha],

like we wanted to show.

Now we're ready to return to Steenrod squares. Steenrod squares are transformations that satisfy the following axioms:

1. Naturality: This is captured by the commutative diagram at the beginning of this post where for any f:XYf: X \to Y and induced map on cohomology f:H(Y;Z2)H(X;Z2)f^*: H^*(Y;\mathbb{Z}_2) \to H^*(X;\mathbb{Z}_2) we get

fSqi=Sqiff^* \circ Sq^i = Sq^i \circ f^*

2. Degree Zero: Sq0Sq^0 is the identity map, where for any cohomology class uH(Y;Z2)u \in H^*(Y ; \mathbb{Z}_2) we get Sq0(u)=u.Sq^0(u) = u.

3. Top Square: For any class uHn(Y;Z2),u \in H^n(Y;\mathbb{Z}_2), we get

Sqn(u)=uu=u2,Sq^n(u) = u \smile u = u^2,

where u2H2n(Y;Z2).u^2 \in H^{2n}(Y;\mathbb{Z}_2).

4. Triviality: If uHn(Y;Z2)u \in H^n(Y;\mathbb{Z}_2) is non-zero, then Sqi(u)=0Sq^i(u) = 0 for all i>n.i > n.

5. Cartan Formula:

Sqk(αβ)=i+j=kSqi(α)Sqj(β)Sq^k(\alpha \smile \beta) = \sum_{i+j =k} Sq^i(\alpha) \smile Sq^j(\beta)

Let's see the Steenrod squares in action on the model we've been working with H(RP;Z2).H^*(\mathbb{RP}^\infty;\mathbb{Z}_2). Let αH1(RP;Z2).\alpha \in H^1(\mathbb{RP}^\infty;\mathbb{Z}_2). We get:

Sq0(α)=αSq1(α)=αα=α2Sqi(α)=0 for i2\begin{aligned} &Sq^0(\alpha) = \alpha \\ &Sq^1(\alpha) = \alpha \smile \alpha = \alpha^2\\ &Sq^i(\alpha) = 0 \text{ for } i \geq 2 \end{aligned}

With these, we can now use the Cartan formula. For example, let α2H2(RP;Z2),\alpha^2 \in H^2(\mathbb{RP}^\infty ; \mathbb{Z}_2), then

Sq1(α2)=Sq1(αα)=i+j=1Sqi(α)Sqj(α)=Sq0(α)Sq1(α)+Sq1(α)Sq0(α)=(αα2)+(α2α)=2α30 (mod 2) \begin{aligned} Sq^1(\alpha^2) &= Sq^1( \alpha \smile \alpha ) \\ &= \sum_{i+j=1} Sq^i(\alpha) \smile Sq^j(\alpha) \\ &= Sq^0(\alpha) \smile Sq^1(\alpha) \,+\, Sq^1(\alpha) \smile Sq^0(\alpha) \\ &= (\alpha \smile \alpha^2) \,+\, (\alpha^2 \smile \alpha) \\ &= 2 \alpha^3 \equiv 0 \text{ (mod 2) } \end{aligned}

Note that 2α3=02 \alpha^3 = 0 since we're working over Z2\mathbb{Z}_2. In general, the Cartan formula for RP\mathbb{RP}^\infty is

Sqi(αk)=(ki)αk+iSq^i(\alpha_{\infty}^k) = { k \choose i} \alpha_{\infty}^{k+i}

for any αkHk(RP;Z2)\alpha_{\infty}^k \in H^k(\mathbb{RP}^{\infty} ;\mathbb{Z}_2) and all i0.i \geq 0. Claim: this formula holds for RPn\mathbb{RP}^n for any finite nn as well. To see this, we'll make use of the naturality axiom. Consider the natural inclusion map

j:RPnRP,j: \mathbb{RP}^n \hookrightarrow \mathbb{RP}^{\infty},

for some fixed (and finite) n.n. This induces a map on cohomology:

j:H(RP;Z2)H(RPn;Z2)j^*: H^*(\mathbb{RP}^{\infty} ;\mathbb{Z}_2) \to H^*(\mathbb{RP}^n;\mathbb{Z}_2)

Where we have αnH1(RPn;Z2)\alpha_n \in H^1(\mathbb{RP}^n;\mathbb{Z}_2) and αH1(RP;Z2)\alpha_{\infty} \in H^1(\mathbb{RP}^\infty;\mathbb{Z}_2) be the non-zero generators, and jj^* maps ααn.\alpha_{\infty} \mapsto \alpha_n. By the naturality axiom of the Steenrod square, we get the following commutative diagram:

Naturality diagram for inclusion of finite into infinite projective space

From this, we get jSqi=Sqij.j^* \circ Sq^i = Sq^i \circ j^*. For αH1(RP;Z2),\alpha_\infty \in H^1(\mathbb{RP}^\infty;\mathbb{Z}_2), we know that

Sqi(αk)=(ki)αk+iSq^i(\alpha_{\infty}^k) = { k \choose i } \alpha_\infty^{k+i}

Next, let's consider

j(Sqi(αk))=Sqi(j(αk)).j^* \left( Sq^i( \alpha_{\infty}^k ) \right) = Sq^i \left( j^*( \alpha_{\infty}^k ) \right).

On the LHS we have

j(αk)=(j(α))k=αnk,j^*( \alpha_{\infty}^k ) = (j^*(\alpha_{\infty}))^k = \alpha_n^k,

so we get Sqi(j(αk))=Sqi(αnk)Sq^i \left( j^*( \alpha_{\infty}^k ) \right) = Sq^i ( \alpha_n^k ) on the LHS. Then on the RHS, we have

j(Sqi(αk))=j ⁣((ki)αk+i)=(ki)j ⁣(αk+i)=(ki)(j(α))k+i=(ki)αnk+i\begin{aligned} j^* \left( Sq^i( \alpha_{\infty}^k ) \right) &= j^*\!\left( { k \choose i } \alpha_\infty^{k+i} \right) \\ &= { k \choose i }\, j^*\!\left( \alpha_\infty^{k+i} \right) \\ &= { k \choose i } ( j^*(\alpha_\infty) )^{k+i} \\ &= { k \choose i } \alpha_n^{k+i} \end{aligned}

Putting the LHS and RHS together, for αnkHk(RPn;Z2)\alpha_n^k \in H^k(\mathbb{RP}^n;\mathbb{Z}_2) we get that

Sqi(αnk)=(ki)αnk+iSq^i ( \alpha_n^k ) = { k \choose i } \alpha_n^{k+i}

With this we see that this formula from RP\mathbb{RP}^\infty also holds for RPn\mathbb{RP}^n for finite n.n. The only subtle difference is that αnk+i=0\alpha_n^{k+i} = 0 if k+i>nk+i > n for RPn,\mathbb{RP}^n, while this doesn't happen in RP.\mathbb{RP}^\infty.

Now we're ready to prove a powerful theorem using Steenrod squares!

Theorem: Let n<2m.n < 2m. Any continuous map f:RP2mRPnf: \mathbb{RP}^{2m} \to \mathbb{RP}^n must induce the zero map on the first cohomology group, i.e.

f:H1(RPn;Z2)H1(RP2m;Z2),f^*: H^1(\mathbb{RP}^n;\mathbb{Z}_2) \to H^1(\mathbb{RP}^{2m};\mathbb{Z}_2),

this induced map, f,f^*, must be the zero map.

Suppose for contradiction that there exists a continuous map f:RP2mRPnf: \mathbb{RP}^{2m} \to \mathbb{RP}^n such that ff^* is not the zero map. For 1n<2m,1 \leq n < 2m, note that both H1H^1 groups for RPn\mathbb{RP}^n and RP2m\mathbb{RP}^{2m} are Z2,\mathbb{Z}_2, so ff^* must be a Z2Z2\mathbb{Z}_2 \to \mathbb{Z}_2 isomorphism. Furthermore, ff^* must map the non-zero generator αnH1(RPn;Z2)\alpha_{n} \in H^1(\mathbb{RP}^n;\mathbb{Z}_2) to the non-zero generator α2mH1(RP2m;Z2).\alpha_{2m} \in H^1(\mathbb{RP}^{2m};\mathbb{Z}_2).

Since ff^* is a ring homomorphism, then we have

f(αnm)=(f(αn))m=α2mmf^*(\alpha_n^m) = (f^*(\alpha_n))^m = \alpha_{2m}^m

Next, let's look at αnmHm(RPn;Z2).\alpha_n^m \in H^m(\mathbb{RP}^n;\mathbb{Z}_2). Note that H2m(RPn;Z2)0H^{2m}(\mathbb{RP}^n;\mathbb{Z}_2) \cong 0 since 2m>n,2m > n, so we know αn2m=0.\alpha_n^{2m} = 0. Furthermore, noting how we can use SqmSq^m to get from HmH^m to H2m,H^{2m}, we observe that

Sqm(αnm)=(mm)αn2m=αn2m,Sq^m( \alpha_n^m ) = { m \choose m} \alpha_n^{2m} = \alpha_n^{2m},

and since αn2m=0\alpha_n^{2m} = 0 then we have Sqm(αnm)=0.Sq^m( \alpha_n^m ) = 0. Finally, let's see how SqmSq^m interacts with ff^* via naturality:

f(Sqm(αnm))=Sqm(f(αnm))=Sqm(α2mm)=α2m2m\begin{aligned} f^*\left( Sq^m(\alpha_n^m) \right) &= Sq^m \left( f^*( \alpha_n^m ) \right)\\ &= Sq^m \left( \alpha_{2m}^m \right) \\ &= \alpha_{2m}^{2m} \end{aligned}

Note that on the LHS we have f(Sqm(αnm))=f(0)=0f^*\left( Sq^m(\alpha_n^m) \right) = f^*(0) = 0 since ff^* is a (ring) homomorphism, but on the RHS we have the non-zero α2m2mH2m(RP2m;Z2).\alpha_{2m}^{2m} \in H^{2m}(\mathbb{RP}^{2m};\mathbb{Z}_2). Since α2m2m0,\alpha_{2m}^{2m} \neq 0, we've reached a contradiction! Thus, the induced map on H1,H^1, i.e. f,f^*, must be the zero map for all n<2m,n < 2m, like we wanted to show. ■