# Exponential Objects in the Category of Finite Sets: Their Universality

Consider the sets:

Y = {y}
Z = {z}.

This is their function space: the space of functions from Y to Z:

ZY = {{y→z}}.

We can make it into an exponential object by equipping it with a morphism:

eval:(ZY × Y)→Z = {⟨{y→z},y⟩→z}

Then the following applies for any object X and morphism g:(X × Y)→Z.
There is a unique morphism λg:X→ZY such that the following diagram commutes:
[diagram in VRML]

Let me demonstrate. Because the above statement works for any X and g, I shall demonstrate by generating an X and g at random:

X = {x}
g:(X × Y)→Z = {⟨x,y⟩→z}

And watch! λg is this:

λg:X→ZY = {x→{y→z}}.

This is a listing of the objects and arrows involved:

X = {x}
X × Y = {⟨x,y⟩}
Y = {y}
Z = {z}
Z^Y = {{y→z}}
Z^Y × Y = {⟨{y→z},y⟩}
λg:X→Z^Y = {x→{y→z}}
λg × idY:X × Y→Z^Y × Y = {⟨x,y⟩→⟨{y→z},y⟩}
( λg × idY ) ; eval:X × Y→Z = {⟨x,y⟩→z}
eval:Z^Y × Y→Z = {⟨{y→z},y⟩→z}
g:X × Y→Z = {⟨x,y⟩→z}
idY:Y→Y = {y→y}

And finally, this is a step-by-step guide to how I constructed these objects and arrows:

1. Generate a random set Y.
2. Generate a random set Z.
3. Calculate the set ZY, the set of all functions from Y to Z.
4. Generate a random set X.
5. Calculate X × Y, the Cartesian product of X and Y.
6. Generate a random map g from X × Y to Z.
7. Calculate λg, by currying g.
8. Calculate idY, the identity map from Y to Y.
9. Calculate λg × idY, the product map of λg and idY.
10. Calculate ZY × Y, the Cartesian product of ZY and Y.
11. Calculate eval, the evaluation map from ZY × Y. For each pair ⟨map_from_Y_to_Z,y.⟩, where map_from_Y_to_Z ∈ ZY and y ∈ Y, eval maps that pair to map_from_Y_to_Z(y).

You can read more about exponential objects at Wikipedia's Exponential object page. I have used the same notation.