Figure 2.

What is a functor? A structural mapping F between category C to D is called a functor if the following three conditions are satisfied: (i) an arrow f: X → Y in category C is mapped onto a corresponding arrow F(f): F(X) → F(Y) in category D; and (ii) a composite arrow f;g in category C is preserved as F(f;g) = F(f);F(g); and (iii) an identify arrow 1X for an object X in category C is preserved as F(1X) = 1 F(X)