Exponential object

In mathematics, specifically in category theory, an exponential object or map object is the categorical generalization of a function space in set theory. Categories with all finite products and exponential objects are called cartesian closed categories. Categories (such as subcategories of Top) without adjoined products may still have an exponential law.
Definition.
Let formula_1 be a category, let formula_2 and formula_3 be objects of formula_1, and let formula_1 have all binary products with formula_3. An object formula_7 together with a morphism formula_8 is an "exponential object" if for any object formula_9 and morphism formula_10 there is a unique morphism formula_11 (called the "transpose" of formula_12) such that the following diagram commutes:
This assignment of a unique formula_13 to each formula_12 establishes an isomorphism of hom-sets, formula_15
If formula_7exists for all objects formula_17 in formula_1, then the functor formula_19 defined on objects by formula_20 and on arrows by formula_21, is a right adjoint to the product functor formula_22. For this reason, the morphisms formula_13 and formula_12 are sometimes called "exponential adjoints" of one another.
Equational definition.
Alternatively, the exponential object may be defined through equations:
Universal property.
The exponential formula_30 is given by a universal morphism from the product functor formula_22 to the object formula_2. This universal morphism consists of an object formula_30 and a morphism formula_8.
Examples.
In the category of sets, an exponential object formula_30 is the set of all functions formula_36. The map formula_37 is just the evaluation map, which sends the pair formula_38 to formula_39. For any map formula_40 the map formula_41 is the curried form of formula_12:
A Heyting algebra formula_44 is just a bounded lattice that has all exponential objects. Heyting implication, formula_45, is an alternative notation for formula_30. The above adjunction results translate to implication (formula_47) being right adjoint to meet (formula_48). This adjunction can be written as formula_49, or more fully as:
formula_50
In the category of topological spaces, the exponential object formula_30 exists provided that formula_3 is a locally compact Hausdorff space. In that case, the space formula_30 is the set of all continuous functions from formula_3 to formula_2 together with the compact-open topology. The evaluation map is the same as in the category of sets; it is continuous with the above topology. If formula_3 is not locally compact Hausdorff, the exponential object may not exist (the space formula_30 still exists, but it may fail to be an exponential object since the evaluation function need not be continuous). For this reason the category of topological spaces fails to be cartesian closed.
However, the category of locally compact topological spaces is not cartesian closed either, since formula_30 need not be locally compact for locally compact spaces formula_2 and formula_3. A cartesian closed category of spaces is, for example, given by the full subcategory spanned by the compactly generated Hausdorff spaces.
In functional programming languages, the morphism formula_61 is often called formula_62, and the syntax formula_13 is often written formula_64. The morphism formula_61 here must not to be confused with the eval function in some programming languages, which evaluates quoted expressions.