----
> [!definition] Definition. ([[cap product]])
> Let $X$ be a [[topological space]] and $R$ a (say, [[commutative ring|commutative]] [[ring]]).
>
The **cap product of a [[singular homology|singular chain]] and a [[singular cohomology|singular cochain]] in $X$** is the extension of the rule $\begin{align}- \frown -: C_{k}(X; R) \times C^{\ell}(X; R) &\to C_{k-\ell}(X; R) \\
(\sigma : \Delta^{k} \to X , \varphi ) & \mapsto \varphi(\sigma |_{[e_{0},\dots, e_{\ell}]}) \cdot \sigma |_{[e_{\ell}, \dots, e_{k}]}
\end{align}$
to a [[bilinear map]].
>
This map descends (see below) to a [[well-defined]] [[bilinear map]] on [[(co)homology of a complex|(co)homology]] $\begin{align}- \frown - : H_{k}(X; R) \otimes H^{\ell} (X; R) & \to H_{k- \ell} (X;R) \\
[\sigma] \otimes [\varphi] & \mapsto [\sigma \frown \varphi].
\end{align}$
[[relative cup product|As with the cup product]], there are also [[relative cap product|relative versions]].
> [!basicproperties]
> - (Weird Leibniz) $d(\sigma \frown \varphi)=(-1)^{\ell} \big( (d \sigma) \frown \varphi - \sigma \frown (d \varphi) \big)$
> - ([[singular (co)chain map and homomorphism induced by a continuous map|Pullbacks]] and [[singular (co)chain map and homomorphism induced by a continuous map|pushforwards]]) $f_{*}\big(x \frown f^{*}(y)\big)=f_{*}(x) \frown y$ for $f$ a [[continuous|map]] $X \to Y$. ('Push through and cancel.' Dexter has a diagram.)
> - (Cap to cup) $\psi(\sigma \frown \varphi)=(\psi \smile \varphi)(\sigma)$ for $\sigma \in C_{k}$, $\varphi \in C^{\ell}, \psi \in C^{k-\ell}$.
^properties
> [!note] Note.
> Think about the [[cup product]] as multiplication and the cap product as division (but not too much).
^note
----
####
----
#### 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
> ```