----------------------
So categories include elements and morphisms. Functors consist of mappings from the elements and morphisms of one category to those of another (or the same) category. **Natural transformations** are a third level of mappings, from one functor to another.
-Where `G` and `H` are functors from category <b>C</b> to category <b>D</b>, a natural transformation η between `G` and `H` is a family of morphisms η[C1]:G(C1)→H(C1)` in <b>D</b> for each element `C1` of <b>C</b>. That is, η[C1]` has as source `C1`'s image under `G` in <b>D</b>, and as target `C1`'s image under `H` in <b>D</b>. The morphisms in this family must also satisfy the constraint:
+Where `G` and `H` are functors from category <b>C</b> to category <b>D</b>, a natural transformation η between `G` and `H` is a family of morphisms <code>η[C1]:G(C1)→H(C1)</code> in <b>D</b> for each element `C1` of <b>C</b>. That is, <code>η[C1]</code> has as source `C1`'s image under `G` in <b>D</b>, and as target `C1`'s image under `H` in <b>D</b>. The morphisms in this family must also satisfy the constraint:
- for every morphism f:C1→C2 in <b>C</b>: η[C2] ∘ G(f) = H(f) ∘ η[C1]
+<pre>
+ for every morphism f:C1→C2 in <b>C</b>:
+ η[C2] ∘ G(f) = H(f) ∘ η[C1]
+</pre>
-That is, the morphism via `G(f)` from `G(C1)` to `G(C2)`, and then via η[C2]` to `H(C2)`, is identical to the morphism from `G(C1)` via η[C1]` to `H(C1)`, and then via `H(f)` from `H(C1)` to `H(C2)`.
+That is, the morphism via `G(f)` from `G(C1)` to `G(C2)`, and then via <code>η[C2]</code> to `H(C2)`, is identical to the morphism from `G(C1)` via <code>η[C1]</code> to `H(C1)`, and then via `H(f)` from `H(C1)` to `H(C2)`.
How natural transformations compose:
Consider four categories <b>B</b>, <b>C</b>, <b>D</b>, and <b>E</b>. Let `F` be a functor from <b>B</b> to <b>C</b>; `G`, `H`, and `J` be functors from <b>C</b> to <b>D</b>; and `K` and `L` be functors from <b>D</b> to <b>E</b>. Let η be a natural transformation from `G` to `H`; φ be a natural transformation from `H` to `J`; and ψ be a natural transformation from `K` to `L`. Pictorally:
+<pre>
- <b>B</b> -+ +--- <b>C</b> --+ +---- <b>D</b> -----+ +-- <b>E</b> --
| | | | | |
- F: -----→ G: -----→ K: -----→
- | | | | | η | | | ψ
+ F: ------> G: ------> K: ------>
+ | | | | | η | | | ψ
| | | | v | | v
- | | H: -----→ L: -----→
- | | | | | φ | |
+ | | H: ------> L: ------>
+ | | | | | φ | |
| | | | v | |
- | | J: -----→ | |
+ | | J: ------> | |
-----+ +--------+ +------------+ +-------
+</pre>
-Then `(η F)` is a natural transformation from the (composite) functor `GF` to the composite functor `HF`, such that where `b1` is an element of category <b>B</b>, `(η F)[b1] = η[F(b1)]`---that is, the morphism in <b>D</b> that η assigns to the element `F(b1)` of <b>C</b>.
+Then <code>(η F)</code> is a natural transformation from the (composite) functor `GF` to the composite functor `HF`, such that where `B1` is an element of category <b>B</b>, <code>(η F)[B1] = η[F(B1)]</code>---that is, the morphism in <b>D</b> that <code>η</code> assigns to the element `F(B1)` of <b>C</b>.
-And `(K η)` is a natural transformation from the (composite) functor `KG` to the (composite) functor `KH`, such that where `C1` is an element of category <b>C</b>, `(K η)[C1] = K(η[C1])`---that is, the morphism in <b>E</b> that `K` assigns to the morphism η[C1]` of <b>D</b>.
+And <code>(K η)</code> is a natural transformation from the (composite) functor `KG` to the (composite) functor `KH`, such that where `C1` is an element of category <b>C</b>, <code>(K η)[C1] = K(η[C1])</code>---that is, the morphism in <b>E</b> that `K` assigns to the morphism <code>η[C1]</code> of <b>D</b>.
-`(φ -v- η)` is a natural transformation from `G` to `J`; this is known as a "vertical composition". We will rely later on this, where `f:C1→C2`:
+<code>(φ -v- η)</code> is a natural transformation from `G` to `J`; this is known as a "vertical composition". We will rely later on this, where <code>f:C1→C2</code>:
+<pre>
φ[C2] ∘ H(f) ∘ η[C1] = φ[C2] ∘ H(f) ∘ η[C1]
+</pre>
-by naturalness of φ, is:
+by naturalness of <code>φ</code>, is:
+<pre>
φ[C2] ∘ H(f) ∘ η[C1] = J(f) ∘ φ[C1] ∘ η[C1]
+</pre>
-by naturalness of η, is:
+by naturalness of <code>η</code>, is:
+<pre>
φ[C2] ∘ η[C2] ∘ G(f) = J(f) ∘ φ[C1] ∘ η[C1]
+</pre>
-Hence, we can define `(φ -v- η)[x]` as: φ[x] ∘ η[x]` and rely on it to satisfy the constraints for a natural transformation from `G` to `J`:
+Hence, we can define <code>(φ -v- η)[\_]</code> as: <code>φ[\_] ∘ η[\_]</code> and rely on it to satisfy the constraints for a natural transformation from `G` to `J`:
+<pre>
(φ -v- η)[C2] ∘ G(f) = J(f) ∘ (φ -v- η)[C1]
+</pre>
An observation we'll rely on later: given the definitions of vertical composition and of how natural transformations compose with functors, it follows that:
+<pre>
((φ -v- η) F) = ((φ F) -v- (η F))
+</pre>
I'll assert without proving that vertical composition is associative and has an identity, which we'll call "the identity transformation."
-`(ψ -h- η)` is natural transformation from the (composite) functor `KG` to the (composite) functor `LH`; this is known as a "horizontal composition." It's trickier to define, but we won't be using it here. For reference:
+<code>(ψ -h- η)</code> is natural transformation from the (composite) functor `KG` to the (composite) functor `LH`; this is known as a "horizontal composition." It's trickier to define, but we won't be using it here. For reference:
+<pre>
(φ -h- η)[C1] = L(η[C1]) ∘ ψ[G(C1)]
- = ψ[H(C1)] ∘ K(η[C1])
+ = ψ[H(C1)] ∘ K(η[C1])
+</pre>
Horizontal composition is also associative, and has the same identity as vertical composition.