Cohomology Rings or: How I Learned to Stop Worrying and Love the Cup Product
Enrique De Alba ; September 28, 2025
Let's talk about fun ways we can translate topological problems into algebraic ones. Suppose we have an (n−1)-sphere, i.e. Sn−1 and the n-disk Dn. It's well known that these two spaces are very different from each other, but can we retract one of these to the other? One way we can approach this is by applying a homology functor. Since Sn−1 is a subspace of Dn such that ∂Dn=Sn−1, i.e. Sn−1 is the boundary of the n-disk, suppose there were a retraction r:Dn→Sn−1. Can we do this? Recall that a retraction is such that we get the following mapping:
AiXrA
where i:A→X is the inclusion map and r:X→A is a retraction such that r∘i=idA. Note that this follows from the property of retractions where r(a)=a for all a∈A. Going back to Sn−1, we have a similar mapping:
Sn−1iDnrSn−1
where i:Sn−1→Dn just comes from the boundary inclusion Sn−1⊂Dn. Next, we apply the homology functor:
H∗(Sn−1;Z)i∗H∗(Dn;Z)r∗H∗(Sn−1;Z)
Note that we're using Z coefficients for convenience. Let's focus on the (n−1) homology group, Hn−1:
Hn−1(Sn−1;Z)i∗Hn−1(Dn;Z)r∗Hn−1(Sn−1;Z)
Since Dn is contractible, we know that Hn−1(Dn;Z)≅0 for n>1. Similarly, we know that Hn−1(Sn−1;Z)≅Z, hence we get:
Zi∗{0}r∗Z
where i∗ and r∗ are the induced maps on homology for the inclusion and retraction maps, respectively. Recall that r∘i=idSn−1, so applying the homology functor to this, we get
(r∘i)∗=r∗∘i∗=(idSn−1)∗=idH∗(Sn−1)
where idH∗(Sn−1) is just the identity map on the homology of Sn−1. However, we see that for Zi∗{0}r∗Z, this mapping factors through zero which means the overall map must be the zero map, i.e. the map Z→{0} must map every integer to zero, and then likewise {0}→Z also just maps 0↦0. This is the zero homomorphism. Note that idH∗(Sn−1) is not the zero homomorphism since the zero homomorphism is not the identity map of H∗(Sn−1) (suppose we have some non-zero a∈Hn−1(Sn−1), then 0(a)=a where 0(−) denotes the zero homomorphism), so we've reached a contradiction. Since we initially assumed that this retraction r:Dn→Sn−1 existed, we see that this must not be the case. Thus, a retraction from the n-disk to the (n−1)-sphere does not exist.
The example above showcases how we can use homology to convert this retraction problem into one about induced function composition. As we'll see, homology is not all-powerful, and we'll need to develop a bit more advanced machinery to tackle more interesting problems.
Let's see if homology can help us with the following problem: Does there exist a continuous map f:RPm→RPn for 1<n<m such that it induces an isomorphism on fundamental groups, i.e.
f∗:π1(RPm)≅π1(RPn),
where RPk is k-dimensional real projective space? Recall that real projective space is such that π1(RPk)≅Z2 for all k>1 and since RP1 is homeomorphic to S1, then we have π1(RP1)≅π1(S1)≅Z for the k=1 case. On the homology side of things, we have H0(RPk)≅Z and Hk(RPk)≅Z if k is odd (note that RPk for odd k is orientable, but RPk for even k is non-orientable). Then we also have Hi(RPk)≅Z2 if 0<i<k and i is odd and Hi(RPk)≅0 if i is even. Note that Hk(RPk)≅0 for k>0 when k is even (note: here we're emphasizing that the homology group is zero even at the top-most dimension). From the fundamental group perspective, there's no clear obstructions since we just have the induced map:
f∗:Z2→Z2,
so the fundamental group doesn't distinguish between RPn versus RPm for n=m and 1<n<m. Note that if n=1 then this problem becomes a lot easier since Z=Z2.
What about for homology? We have:
Hi(RPk)=⎩⎨⎧ZZ20if i=0 or if i=k is oddif i is odd and 0<i<kotherwise
Looking at just the H1 case we have an induced map of f∗:H1(RPm)→H1(RPn) such that we get the same induced map from before with f∗:Z2→Z2. Can homology distinguish between these spaces more than the fundamental group? Well, suppose m were odd and n were even, then for the m-th homology group we'd get:
f∗:Hm(RPm)→Hm(RPn),
where Hm(RPm)≅Z and Hm(RPn)≅0 since m>n, so we just get the zero map f∗:Z→{0}. Note that this does not imply that f can't exist. f∗:Z→{0} is only a constraint on f. Additionally, note that even if we consider a mix of these odd/even cases for n and m, these would merely be placing constraints on f and not leading to any kind of contradiction we could use to conclude that f can't possibly exist. Here's where we run into a dead end with homology.
What about cohomology? Before we jump into H∗(RPk;−), let's build some intuition by first looking at H∗(S1;Z). Recall that H0(S1;Z)≅Z⟨1⟩, where we have a generator 1∈H0(S1;Z). Next, we have H1(S1;Z)≅Z⟨α⟩, where we have a different generator α∈H1(S1;Z). Note that Hk(S1;Z)≅0 for all k>1. With this, we see that the total cohomology H∗(S1;Z) is generated as a group by 1 and α. Furthermore, note that the generator 1∈H0(S1;Z) acts as the multiplicative identity for the entire cohomology ring, i.e.
1⌣1=1,1⌣α=α,α⌣1=α,
where we have the standard cohomology cup product ⌣:Hn(X;−)×Hm(X;−)→Hn+m(X;−). Importantly, since α2=α⌣α∈H2(S1;Z) and H2(S1;Z)≅0, then we get that α2=0. This is the central relation we want to capture for the cohomology ring H∗(S1;Z). We can get this with the truncated polynomial ring Z[α]/(α2) where we mod out by the ideal (α2)⊂Z[α] to capture the relation α2=0. Putting this all together, we get
H∗(S1;Z)≅Z[α]/(α2)={c0+c1α∣c0,c1∈Z},
where elements b1+b2α,c1+c2α∈H∗(S1;Z) are such that
(b1+b2α)⌣(c1+c2α)=b1c1+(b1c2+b2c1)α
Note that this is the simplest non-trivial example of an exterior algebra which is denoted as either ΛZ[α] or just Λ[α] if the ring that's being worked over is obvious.
Next, let's consider H∗(RP2;Z2) with Z2 coefficients. Recall that H0(RP2;Z2)≅Z2⟨1⟩, H1(RP2;Z2)≅Z2⟨α⟩, H2(RP2;Z2)≅Z2⟨β⟩, and Hk(RP2;Z2)≅0 for all k>2, where we have non-zero generators α∈H1(RP2;Z2) and β∈H2(RP2;Z2). Note that we have α⌣α=β (non-zero generators mapping to non-zero generators), and since H3(RP2;Z2)=0 then α3=α⌣(α⌣α)=0. Similar to the H∗(S1;Z) case, we want to capture this α3=0 relation. This gives us the following truncated polynomial ring:
From this, we see how this generalizes to the RPn case, where Hk(RPn;Z2)≅0 for all k>n, so we want to capture the relation αn+1=0 where α∈H1(RPn;Z2) is the non-zero generator, thus we get the following cohomology ring:
H∗(RPn;Z2)≅Z2[α]/(αn+1)
Taking a small step back, if we start with f:RPm→RPn then we can consider the induced map on cohomology rings
f∗:H∗(RPn;Z2)→H∗(RPm;Z2),
note that we're mapping H∗(RPn;Z2)↦H∗(RPm;Z2) since cohomology is a contravariant functor. Let αn∈H1(RPn;Z2) be the generator for this cohomology group. How would f∗ map αn? One way we can see this is by considering the Universal Coefficient Theorem, where we have an isomorphism
Hk(X;R)≅Hom(Hk(X;R),R), where R is a field
so in the H1(RPn;Z2) case we have: H1(RPn;Z2)≅Hom(H1(RPn;Z2),Z2) since Z2 is a field. Note that this does not hold for Z. With this, we get the following commutative diagram
where f∗ is the previous induced mapping on cohomology and (f∗)∗ is the induced map we get after applying the Hom functor to the induced map on homology f∗:H1(RPm;Z2)→H1(RPn;Z2), where we get
since Hom is also a contravariant functor similar to cohomology. Let's trace where the generator αn∈H1(RPn;Z2) gets mapped.
Let αn∈H1(RPn;Z2). αn↦f∗(αn)∈H1(RPm;Z2). f∗(αn)↦Ψm(f∗(αn))∈Hom(H1(RPm;Z2),Z2). Here, we will denote Ψm(f∗(αn)) as the non-zero homomorphism ϕm such that
ϕm:H1(RPm,Z2)→Z2,
i.e. Ψm(f∗(αn))=ϕm. Next, going down then right, we get: αn↦Ψn(αn), which is just the corresponding non-zero homomorphism ϕn:H1(RPn,Z2)→Z2, so we have αn↦Ψn(αn)=ϕn. Then, ϕn↦(f∗)∗(ϕn), where we pullback ϕn (since contravariant) to get:
(f∗)∗(ϕn)=ϕn∘f∗∈Hom(H1(RPm;Z2),Z2),
and similarly to Ψm(f∗(αn)), we must have that ϕn∘f∗ is also the non-zero homomorphism ϕm:H1(RPm,Z2)→Z2 where ϕm∈Hom(H1(RPm;Z2),Z2). Putting things together, we get:
Ψm(f∗(αn))=ϕm=ϕn∘f∗,
and since ϕm=Ψm(αm), then Ψm(f∗(αn))=ϕm implies that Ψm(f∗(αn))=Ψm(αm), which means that
f∗(αn)=αm
With this, we see that f∗ maps the generator αn∈H1(RPn;Z2) to the generator αm∈H1(RPm;Z2). Why is this an issue? Well, we have two different cohomology rings with different relations. In H∗(RPn;Z2) we have that αnn+1=0 and in H∗(RPm;Z2) we have that αmm+1=0. Since we have 1<n<m, then consider
αnm=αnn+1⌣αnm−n−1=0⌣αnm−n−1=0
Note that αmm∈Hm(RPm;Z2) is the non-zero generator for this cohomology group, but if we apply f∗ to αnm then we get:
f∗(αnm)=(f∗(αn))m=αmm∈Hm(RPm;Z2),
where αmm is non-zero, but recall that αnm=0, so this contradicts f∗(αnm)=f∗(0)=0.
TL;DR: In H∗(RPn;Z2), the element αnm=0 since m>n and Hm(RPn;Z2) is trivial. However, when we map this "zero" to H∗(RPm;Z2) via f∗ we get f∗(αnm)=(f∗(αn))m=αmm, where αmm∈Hm(RPm;Z2) is a non-zero generator in H∗(RPm;Z2) which contradicts f∗(αnm)=f∗(0)=0 being zero.
With this, we see through the cohomology rings of RPn and RPm that the function f:RPm→RPncannot exist such that it induces an isomorphism f∗:π1(RPm)→π1(RPn). ■