----
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
> ```