----
> [!definition] Definition. ([[cup product]])
>
Let $R$ be a [[ring]]. Given [[chain complex of modules|singular cochains]] $\varphi \in C^{k}(X;R)$, $\psi \in C^{\ell}(X; R)$, we define their **cup product** $\varphi \smile \psi \in C^{k+\ell}(X; R)$ as $(\varphi \smile \psi)(\sigma:\Delta^{k+\ell} \to X):=\varphi (\sigma |_{[e_{0},\dots, e_{k}]}) \psi(\sigma |_{[e_{k},\dots, e_{k+\ell}]}).$
This map $- \smile -:C^{k}(X;R) \times C^{\ell}(X; R) \to C^{k+\ell}(X; R)$ is [[bilinear map|bilinear]]. It [[characterization of quotienting a module|descends]] to a [[well-defined]] [[bilinear map|bilinear]] map on [[singular cohomology]] as $\begin{align}- \smile -: H^{k}(X; R) \times H^{\ell}(X; R) &\to H^{k+\ell}(X; R) \\
([\varphi], [\psi]) & \mapsto [\varphi \smile \psi].
\end{align}$
^definition
> [!basicexample]
> ![[IMG_7408323239A5-1.jpeg]]
^basic-example
> [!basicproperties] Basic properties for the cup product *of cochains*.
> - (Graded [[derivation|Leibniz]]) If $\psi \in C^{\ell}(X; R)$ and $\varphi \in C^{k}(X; R)$, then $d(\varphi \smile \psi)=d\varphi \smile \psi + (-1)^{k}\varphi \smile d \psi \in C^{\ell+k+1}(X;R).$
> - (Naturality): If $\varphi \in C^{k}(Y;R)$, $\psi \in C^{\ell}(Y;R)$, and $f:X \to Y$, then [[singular (co)chain map and homomorphism induced by a continuous map|we have]] $f^{k+\ell}(\varphi \smile \psi)=f^{k}(\varphi) \smile f^{\ell}(\psi).$
^properties
> [!basicproperties] Basic properties for the cup product *of cohomology classes*.
> - (Graded commutativity) If $\alpha \in H^{k}(X; R)$ and $\beta \in H^{\ell}(X; R)$, then $\alpha \smile \beta=(-1)^{k \ell} \beta \smile \alpha.$
> This is not true in general for cochains. So we would expect it is annoying to prove.
> - Naturality at the level of cochains entails naturality at the level of [[(co)homology of a complex|cohomology]]: if $\alpha \in H^{k}(Y;R)$, $\beta \in H^{\ell}(Y; R)$, and $f:X\to Y$, then [[homomorphism on cohomology induced by a cochain map|we have]] $f^{*}(\alpha \smile \beta)=f^{*}(\alpha) \smile f^{*}(\beta).$
> This means $f^{*}$ is a [[ring homomorphism]] $H^{*}(Y;R) \to H^{*}(X;R)$.
^properties
> [!basicexample] Example. ($\mathbb{C}P^{2}$ vs. $\mathbb{S}^{2} \wedge \mathbb{S}^{4}$)
> - See in [[singular cohomology|cohomology ring]].
^basic-example
> [!justification]
> We need to check that the induced map on homology exists as claimed.
>
The first step is to show that $\varphi \smile \psi$ is even a cocycle (otherwise it can't represent a [[(co)homology of a complex|cohomology]] class), provided $\varphi$ and $\psi$ are. So suppose $d\varphi=0=d\psi$; WTS $d(\varphi \smile \psi)=0$. By the graded Leibniz rule, $d(\varphi \smile \psi)=d\varphi \smile \psi \pm\varphi \smile d\psi$. The cup product of any cochain with the trivial cochain is trivial, so all good here.
>
The next step is to show well-definition independent of chosen representative. If $\varphi'$ is such that $[\varphi]=[\varphi']$, then their difference is a boundary, i.e., $\varphi'=\varphi+d \tau$ for some $\tau \in C^{k-1}(X;R)$. Then $\begin{align}
\varphi' \smile \psi&= \varphi \smile \psi + d \tau \smile \psi \tag{using bilinearity} \\
&= \varphi \smile \psi + d(\tau \smile \psi) \pm (d \psi). \tag{{using graded Leibniz}}
\end{align}$
By hypothesis, $\psi$ is a cocycle, so $d\psi=0$. Hence $\varphi' \smile \psi$ and $\varphi \smile \psi$ differ by a boundary $d(\tau \smile \psi)$, thus represent the same cohomology class: $[\varphi' \smile \psi]=[\varphi \smile \psi]$.
>
The case for changing $\psi$ is similar.
----
####
[[singular cohomology]]
[[(co)homology with coefficients|homology with coefficients]]
----
#### 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
> ```