---- > [!definition] Definition. ([[natural transformation]]) > Let $\mathsf{C},\mathsf{D}$ be [[category|categories]], and let $\mathscr{F}, \mathscr{G}$ be (say, covariant) [[covariant functor|functors]] $\mathsf{C} \to \mathsf{D}$. A **natural transformation** $\mathscr{F} \xRightarrow{\alpha} \mathscr{G}$ is the datum of a morphism ('the $X$-component of $\alpha) $\alpha_{X}:\mathscr{F}(X) \to \mathscr{G}(X)$ in $\mathsf{D}$ for every object $X$ in $\mathsf{C}$, such that for all $f:X \to Y$ in $\mathsf{C}$ the diagram > > ```tikz > \usepackage{tikz-cd} > \usepackage{amsmath} > \usepackage[mathscr]{euscript} > \begin{document} > % https://tikzcd.yichuanshen.de/#N4Igdg9gJgpgziAXAbVABwnAlgFyxMJZABgBpiBdUkANwEMAbAVxiRAB12BbOnACzgBjAE7AAYgF8AFAA0AlCAml0mXPkIoAjOSq1GLNpx78hoyVICaCpSux4CRMpt31mrRB268BI4AHFpeUVlEAw7dSJtZ2pXAw8jb1N-aStFXRgoAHN4IlAAM2EILiQyEBwIJAAmGP13TzAmAH0ZEGoGOgAjGAYABVV7DRBhLEy+HGD8wuLEbTKKxABmGrdDdgbGiwmQAqKS6nKkWdi6hJNfc05GND46axCd6eq5pCW9FfivM9EAqUuGa9uaQkQA > \begin{tikzcd} > \mathscr{F}(X) \arrow[d, "\alpha_X"'] \arrow[r, "\mathscr{F}(f)"] & \mathscr{F}(Y) \arrow[d, "\alpha_Y"] \\ > \mathscr{G}(X) \arrow[r, "\mathscr{G}(f)"] & \mathscr{G}(Y) > \end{tikzcd} > \end{document} > ``` > commutes. A **natural isomorphism** is a natural transformation $\nu$ such that $\nu_{X}$ is an [[isomorphism]] for every $X$. > > The square above is called a **naturality square for $\alpha$ at $f$**. > The [[category]] of [[covariant functor|functors]] $\mathscr{C} \to \mathscr{D}$ and [[natural transformation|natural transformations]] between them, with composition performed by 'concatenating diagrams and dropping the middle', is denoted $[\mathsf{C}, \mathsf{D}]$. ^definition - [ ] contravariant diagram ---- #### ---- #### 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 > ```