Let C {\displaystyle \mathbf {C} } be a category, let Z {\displaystyle Z} and Y {\displaystyle Y} be objects of C {\displaystyle \mathbf {C} } , and let C {\displaystyle \mathbf {C} } have all binary products with Y {\displaystyle Y} . An object Z Y {\textstyle Z^{Y}} together with a morphism e v a l : ( Z Y × Y ) → Z {\textstyle \mathrm {eval} \colon (Z^{Y}\times Y)\to Z} is an exponential object if for any object X {\displaystyle X} and morphism g : X × Y → Z {\textstyle g\colon X\times Y\to Z} there is a unique morphism λ g : X → Z Y {\textstyle \lambda g\colon X\to Z^{Y}} (called the transpose of g {\displaystyle g} ) such that the following diagram commutes:
This assignment of a unique λ g {\displaystyle \lambda g} to each g {\displaystyle g} establishes an isomorphism (bijection) of hom-sets, H o m ( X × Y , Z ) ≅ H o m ( X , Z Y ) . {\textstyle \mathrm {Hom} (X\times Y,Z)\cong \mathrm {Hom} (X,Z^{Y}).}
If Z Y {\textstyle Z^{Y}} exists for all objects Z , Y {\displaystyle Z,Y} in C {\displaystyle \mathbf {C} } , then the functor ( − ) Y : C → C {\displaystyle (-)^{Y}\colon \mathbf {C} \to \mathbf {C} } defined on objects by Z ↦ Z Y {\displaystyle Z\mapsto Z^{Y}} and on arrows by ( f : X → Z ) ↦ ( f Y : X Y → Z Y ) {\displaystyle (f\colon X\to Z)\mapsto (f^{Y}\colon X^{Y}\to Z^{Y})} , is a right adjoint to the product functor − × Y {\displaystyle -\times Y} . For this reason, the morphisms λ g {\displaystyle \lambda g} and g {\displaystyle g} are sometimes called exponential adjoints of one another.3
Alternatively, the exponential object may be defined through equations:
The exponential Z Y {\displaystyle Z^{Y}} is given by a universal morphism from the product functor − × Y {\displaystyle -\times Y} to the object Z {\displaystyle Z} . This universal morphism consists of an object Z Y {\displaystyle Z^{Y}} and a morphism e v a l : ( Z Y × Y ) → Z {\textstyle \mathrm {eval} \colon (Z^{Y}\times Y)\to Z} .
In the category of sets, an exponential object Z Y {\displaystyle Z^{Y}} is the set of all functions Y → Z {\displaystyle Y\to Z} .4 The map e v a l : ( Z Y × Y ) → Z {\displaystyle \mathrm {eval} \colon (Z^{Y}\times Y)\to Z} is just the evaluation map, which sends the pair ( f , y ) {\displaystyle (f,y)} to f ( y ) {\displaystyle f(y)} . For any map g : X × Y → Z {\displaystyle g\colon X\times Y\to Z} the map λ g : X → Z Y {\displaystyle \lambda g\colon X\to Z^{Y}} is the curried form of g {\displaystyle g} :
A Heyting algebra H {\displaystyle H} is just a bounded lattice that has all exponential objects. Heyting implication, Y ⇒ Z {\displaystyle Y\Rightarrow Z} , is an alternative notation for Z Y {\displaystyle Z^{Y}} . The above adjunction results translate to implication ( ⇒: H × H → H {\displaystyle \Rightarrow :H\times H\to H} ) being right adjoint to meet ( ∧ : H × H → H {\displaystyle \wedge :H\times H\to H} ). This adjunction can be written as ( − ∧ Y ) ⊣ ( Y ⇒ − ) {\displaystyle (-\wedge Y)\dashv (Y\Rightarrow -)} , or more fully as: ( − ∧ Y ) : H ⊤ ⟵ ⟶ H : ( Y ⇒ − ) {\displaystyle (-\wedge Y):H{\stackrel {\longrightarrow }{\underset {\longleftarrow }{\top }}}H:(Y\Rightarrow -)}
In the category of topological spaces, the exponential object Z Y {\displaystyle Z^{Y}} exists provided that Y {\displaystyle Y} is a locally compact Hausdorff space. In that case, the space Z Y {\displaystyle Z^{Y}} is the set of all continuous functions from Y {\displaystyle Y} to Z {\displaystyle Z} 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.5 If Y {\displaystyle Y} is not locally compact Hausdorff, the exponential object may not exist (the space Z Y {\displaystyle Z^{Y}} 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 Z Y {\displaystyle Z^{Y}} need not be locally compact for locally compact spaces Z {\displaystyle Z} and Y {\displaystyle Y} . 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 eval {\displaystyle \operatorname {eval} } is often called apply {\displaystyle \operatorname {apply} } , and the syntax λ g {\displaystyle \lambda g} is often written curry ( g ) {\displaystyle \operatorname {curry} (g)} . The morphism eval {\displaystyle \operatorname {eval} } should not be confused with the eval function in some programming languages, which evaluates quoted expressions.
Exponential law for spaces at the nLab https://ncatlab.org/nlab/show/exponential+law+for+spaces ↩
Convenient category of topological spaces at the nLab https://ncatlab.org/nlab/show/convenient+category+of+topological+spaces ↩
Goldblatt, Robert (1984). "Chapter 3: Arrows instead of epsilon". Topoi : the categorial analysis of logic. Studies in Logic and the Foundations of Mathematics #98 (Revised ed.). North-Holland. p. 72. ISBN 978-0-444-86711-7. 978-0-444-86711-7 ↩
Mac Lane, Saunders (1978). "Chapter 4: Adjoints". Categories for the working mathematician. graduate texts in mathematics. Vol. 5 (2nd ed.). Springer-Verlag. p. 98. doi:10.1007/978-1-4757-4721-8_5. ISBN 978-0387984032. 978-0387984032 ↩
Joseph J. Rotman, An Introduction to Algebraic Topology (1988) Springer-Verlag ISBN 0-387-96678-1 (See Chapter 11 for proof.) /wiki/Joseph_J._Rotman ↩