---- Let $A,X$ be [[topological space|topological spaces]]. > [!definition] Definition. ([[retract]]) > If $A \subset X$, a **retraction** of $X$ onto $A$ is a [[continuous]] map $r:X \to A$ such that $r |_{A}$ is the [[identity map]] on $A$. We say $A$ is a **retract** of $X$. > [!basicproperties] > - [[]] > [!basicnonexample] Warning. > A retraction need not be a [[homotopy equivalent|homotopy equivalence]]! For example, letting $A=\{ x_{0} \}$ for some $x_{0} \in X$, the map $x \xmapsto{r} x_{0}$ is a retraction. This yields a [[homotopy equivalent|homotopy equivalence]] if and only if $X$ is [[contractible]]. ^nonexample > [!basicexample] > The space $\mathbb{R}^{2}$ does *not* [[retract]] onto any two-point subset $\{ \boldsymbol x, \boldsymbol y \} \subset \mathbb{R}^{2}$, in light of the results in [[map on path components induced by continuous function]]. Indeed, with $\iota:\{ \boldsymbol x, \boldsymbol y \}$ as [[inclusion map|inclusion]], and supposing $r: \mathbb{R}^{2} \to \{ \boldsymbol x, \boldsymbol y \}$ a [[retract|retraction]] so that $r \circ \iota=\id_{\{ \boldsymbol x, \boldsymbol y \}}$, we obtain via the properties [[map on path components induced by continuous function|here]] a factorization $\pi_{0}(\{ \boldsymbol x, \boldsymbol y \}) \xrightarrow{\pi_{0}(\iota)} \pi_{0}(\mathbb{R}^{2}) \xrightarrow{\pi_{0}(r)} \pi_{0}(\{ \boldsymbol x, \boldsymbol y \})$ of [[identity map]] $\id_{\pi_{0}(\{ \boldsymbol x, \boldsymbol y \})}$. The [[path-connected component|zeroth homotopy 'group']] $\pi_{0}(\mathbb{R}^{2})=\{ * \}$ since $\mathbb{R}^{2}$ is [[path-connected]], and $| \pi_{0}(\{\boldsymbol x, \boldsymbol y)\}|=2$; we conclude that $\pi_{0}(\iota)$ cannot be an [[injection]], so $\pi_{0}(r) \circ \pi_{0}(\iota)$ actually cannot be the [[identity map]]. ^basic-example ---- #### ---- #### 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 > ```