lt;2n$ (e.g. per [[how singular homology interacts with cell complexes]]). Since $\langle -,- \rangle :H^{2}(\mathbb{C}P^{n}) \otimes H^{2n-2}(\mathbb{C}P^{n}) \xrightarrow{- \smile -}H^{2n}(\mathbb{C}P^{n}) \xrightarrow{-([\mathbb{C}P^{n}])}\mathbb{Z}$ > is [[nondegenerate bilinear form|nondegenerate]], $\langle x, - \rangle : \mathbb{Z} \to \mathbb{Z}$ is an [[isomorphism]], so it must map generators to generators; in particular, $\langle x,x^{n-1} \rangle = \pm 1$. Now, by definition $\langle x, x^{n-1} \rangle = (\underbrace{ x \smile x^{n-1} }_{ x^{n} })[\mathbb{C}P^{n}]$ > which implies $x^{n}$ must [[submodule generated by a subset|generate]] $H^{2n}(\mathbb{C}P^{n})$: after all, something is a generator of $H^{2n}(\mathbb{C}P^{n})$ (viewed as $\mathbb{Z}$) iff it evaluates against the [[The Thom Theorem for oriented manifolds|fundamental class]] to $\pm 1$.[^1] > > [!proof]- Proof. ([[the perfect Poincare pairing]]) > ~ > > Consider > $\begin{align} > H^{k}(M; R) & \xrightarrow[\cong, \text{UCT}]{h} \text{Hom}_{R}\big( H_{k} (M;R), R\big) \\ > & \xrightarrow[\cong]{D_{M}^{\vee}} \text{Hom}_{R}\big( H^{d-k}(M; R), R \big) \\ > &= \big(H^{d-k}(M; R)\big)^{\vee} > \end{align}$ > where $\text{UCT}$ gives the stated isomorphism because $H_{*}$ are all free. This map is $[\varphi] \mapsto \big([\psi] \mapsto [\varphi](D_{M}([\psi]))\big) = [\varphi]([M] \frown [\psi])=([\psi] \smile [\varphi])[M]$ > which is exactly $\langle [\psi], [\varphi] \rangle$. > > The other [[adjoint]] is similar. ----- #### [^1]: Well, in general for $M$ [[connected]] in addition to the other assumptions within this note, [[Poincare duality]] gives an [[isomorphism]] ($\text{dim }M=d$) $\begin{align} H^{d}(M;R) &\to H_{0}(M;R) \cong R \\ \alpha & \mapsto [M] \frown \alpha = \alpha([M]). \end{align}$\mathbb{C}P^{n}$ is connected; here, $R=\mathbb{Z}$. In other words, evaluating a top-degree cohomology class against the fundamental class is an isomorphism in situations such as this. ---- #### 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 > ```