-A **functor** is a "homomorphism", that is, a structure-preserving mapping, between categories. In particular, a functor `F` from category **C** to category **D** must:
+A **functor** is a "homomorphism", that is, a structure-preserving mapping, between categories. In particular, a functor `F` from category <b>C</b> to category <b>D</b> must:
+
+<pre>
+ (i) associate with every element C1 of <b>C</b> an element F(C1) of <b>D</b>
+
+ (ii) associate with every morphism f:C1→C2 of <b>C</b> a morphism F(f):F(C1)→F(C2) of <b>D</b>
+
+ (iii) "preserve identity", that is, for every element C1 of <b>C</b>:
+ F of C1's identity morphism in <b>C</b> must be the identity morphism of F(C1) in <b>D</b>:
+ F(1<sub>C1</sub>) = 1<sub>F(C1)</sub>.