> [!definition]
>
> Let $\mathfrak{U}, \mathfrak{U}'$ be [[Category|categories]]. A **covariant functor** $\lambda: \mathfrak{U} \to \mathfrak{U}'$ is a map that associates
> - Each object $X \in \text{Ob}(\mathfrak{U})$ to an object $\lambda(X) \in \text{Ob}(\mathfrak{U})$,
> - Each morphism $f: X \to Y$ to a morphism $\lambda(f): \lambda(X) \to \lambda(Y)$.
>
> Such that
>
> - Whenever $f, g$ are morphisms in $\mathfrak{U}$ that can be composed $\lambda(fg) = \lambda(f)\lambda(g)$.
> - $\lambda(\text{id}_X) = \text{id}_{\lambda(X)}$ for all $X \in \text{Ob}(\mathfrak{U})$.
> [!definition]
>
> A functor $\lambda$ is *covariant* if $\lambda(fg) = \lambda(f)\lambda(g)$ whenever they can be composed, and *contravariant* if $\lambda(fg) = \lambda(g)\lambda(f)$.
> [!definition]
>
> Let $\mathfrak{U}, \mathfrak{U}'$ be categories. The functors from $\mathfrak{U}$ to $\mathfrak{U}'$ of the same variance form a category $\text{Fun}(\mathfrak{U}, \mathfrak{U}')$, whose morphisms are called the *natural transformations*.
>
> More specifically, let $\lambda, \mu$ be two covariant functors from $\mathfrak{U}$ to $\mathfrak{U}'$, then a natural transformation $t: \lambda \to \mu$ consists of a collection of morphisms
> $
> t_X: \lambda(X) \to \mu(X)
> $
> with $X$ ranging over $\text{Ob}(\mathfrak U)$ such that the following diagram commutes
> $
> \begin{CD}
> \lambda(X) @>{t_X}>> \mu(X)\\
> @V{\lambda(f)}VV @VV{\mu(f)}V \\
> \lambda(Y) @>>{t_Y}> \mu(Y)
> \end{CD}
> $
> for any $f: X \to Y$ in $\mathfrak U$.