---- > [!theorem] Theorem. ([[homotopy invariance of singular homology]]) > Let $X$ and $Y$ be [[topological space|topological spaces]] and $f,g:X \to Y$ be [[homotopy|homotopic maps]]. Then they [[singular (co)chain map and homomorphism induced by a continuous map|induce]] the same maps on [[singular cohomology|(co)]] [[singular homology|homology]], i.e., $f_{*}=g_{*}:H_{\bullet}(X) \to H_{\bullet}(Y)$ > and $f^{*}=g^{*}:H^{\bullet}(Y) \to H^{\bullet}(X).$ > - [ ] how about homotopy invariance of [[relative singular homology]] > [!proposition] Corollary. > If $f:X \to Y$ is a [[homotopy equivalent|homotopy equivalence]], then $f_{*}:H_{\bullet}(X) \to H_{\bullet}(Y)$ and $f^{*}:H^{\bullet}(Y) \to H^{\bullet}(X)$ are [[isomorphism|isomorphisms]]. > > [!proof]- Proof of Corollary. > > Let $f$ have homotopy inverse $g:Y \to X$, so that $f \circ g$ is [[homotopy|homotopic]] to $\id_{X}$. Then, by [[covariant functor|functoriality]] of singular (co)homology, $(f \circ g)_{*}=f_{*} \circ g_{*}=(\id_{X})_{*}=\id_{H_{\bullet}(X)}$ and likewise $g_{*} \circ f_{*}=\id_{H_{\bullet}(Y)}$. So $f_{*}$ is an [[isomorphism]] with inverse $g_{*}$. The case for cohomology is similar. > [!note] Proof Idea. > To prove the result, we first prove that [[homotopy|homotopies of maps]] induce [[chain homotopy|homotopies of chain complexes]], and then (easily) that [[chain homotopy|chain homotopic]] [[chain map|maps]] induce the same map on [[(co)homology of a complex|homology]]. ^note > [!proof]+ Proof that chain homotopic maps induce the same map on homology. ([[homotopy invariance of singular homology]]) > Let $[c] \in H_{n}(C_{\bullet})$. Then we have $g_{n}(c)-f_{n}(c)=d_{n+1}^{D} F_{n}(c) + F_{n-1}(\cancel{ d_{n}^{C}(c) }^{=0, \ c \text{ is a cycle}})=d_{n+1}^{D}F_{n}(c).$ So the difference of $g_{n}(c)$ and $f_{n}(c)$ is a boundary, thus $[g_{n}(c)]=[f_{n}(c)]$. > [!proof] Proof the homotopies of maps induce chain homotopies. > This is less fun, and I don't have time to bring over from notes right now ^proof ---- #### ----- #### References > [!backlink] > ```dataview > TABLE rows.file.link as "Further Reading" > FROM [[]] > FLATTEN file.tags as Tag > WHERE Tag = "#definition" OR Tag = "#theorem" OR Tag = "#MOC" OR Tag = "#proposition" OR Tag = "#axiom" > GROUP BY Tag > ``` > [!frontlink] > ```dataview > TABLE rows.file.link as "Further Reading" > FROM outgoing([[]]) > FLATTEN file.tags as Tag > WHERE Tag = "#definition" OR Tag = "#theorem" OR Tag = "#MOC" OR Tag = "#proposition" OR Tag = "#axiom" > GROUP BY Tag > ```