 must be assigned to a morphism F(f) : F(y) → F(x) in D. In other words, a contravariant functor is a covariant functor from the opposite category Cop to D.
A natural transformation is a relation between two functors. Functors often describe "natural constructions" and natural transformations then describe "natural homomorphisms" between two such constructions. Sometimes two quite different constructions yield "the same" result; this is expressed by a natural isomorphism between the two functors.
If F and G are (covariant) functors between the categories C and D, then a natural transformation from F to G associates to every object x in C a morphism ηx : F(x) → G(x) in D such that for every morphism f : x → y in C, we have ηy o F(f) = G(f) o ηx; this means that the following diagram is commutative:
The two functors F and G are called naturally isomorphic if there exists a natural transformation from F to G such that ηx is an isomorphism for every object x in C.
Using the language of category theory, many areas of mathematical study can be cast into appropriate categories, such as the categories of all sets, groups, topologies, and so on. These categories surely have some objects that are "special" in a certain way, such as the empty set or the product of two topologies. Yet, in the definition of a category, objects are considered to be atomic; i.e., we do not know whether an object A is a set, a topology, or any other abstract concept. Hence, the challenge is to define special objects without referring to the internal structure of these objects. But how can we define the empty set without referring to elements, or the product topology without referring to open sets?
The solution is to characterize these objects in terms of their relations to other objects, as given by the morphisms of the respective categories. Thus the task is to find universal properties that uniquely determine the objects of interest. Indeed, it turns out that numerous important constructions can be described in a purely categorical way. The central concept which is needed for this purpose is called categorical limit, and can be dualized to yield the notion of a colimit.
It is a natural question to ask, under which conditions two categories can be considered to be "essentially the same", in the sense that theorems about one category can readily be transformed into theorems about the other category. The major tool one employs to describe such a situation is called equivalence of categories. It is given by appropriate functors between two categories. Categorical equivalence has found numerous applications in mathematics.
For example, a (strict) 2-category is a category together with "morphisms between morphisms", i.e. processes which allow us to transform one morphism into another. We can then "compose" these "bimorphisms" both horizontally and vertically, and we require a 2-dimensional "exchange law" to hold, relating the two composition laws. In this context, the standard example is Cat, the 2-category of all (small) categories, and in this example, bimorphisms of morphisms are simply natural transformations of morphisms in the usual sense. Another basic example is to consider a 2-category with a single object—these are essentially monoidal categories. Bicategories are a weaker notion of 2-dimensional categories where the composition of morphisms is not strictly associative, but only associative "up to" an isomorphism.
This process can be extended for all natural numbers n, and these are called n-categories. There is even a notion of ω-category corresponding to the ordinal number ω. For a conversational introduction to these ideas, see Baez (1996).