2

There is a bijection between the functions that map to functions, i.e. of the form $f: A \to M$ where $M$ is the set of all functions $g:B \to C$, and the functions of the Cartesian product, i.e. $h: A \times B \to C$. Concretely, for any such $h$, there exists $f$ such that:

$$(f(a))(b) = h(a, b).$$

In other words, every function that maps to functions can be reduced to a simple function from a Cartesian product, which is a function of multiple variables and every function of multiple variables can be reduced into a chain of functions of just one variable.

This property is often implicitly used, but I have never seen someone writing it down like this. Does this property have a name and if yes, what is it?

Mateen Ulhaq
  • 1,211

4 Answers4

4

In programming it's called Currying.

You might find it explicitly stated and proven in a topology class (see Wikipedia: Currying#Function spaces). I remember we proved it in my first year of Masters; I remember the teacher did not call it Currying but I don't think he gave it a name at all.

This mapping $(A \times B \to C) \to (A \to (B \to C))$ is not only a bijection from the space of all functions to the space of all functions, it is also a homeomorphism from the space of continuous functions to continuous functions, at least with reasonable hypotheses on the topological spaces $A$, $B$ and $C$ and with a reasonable topology on the product space $A \times B$ and the space of continuous functions $B \to C$.

Stef
  • 1,949
1

Some would say it is an adjunction.

1

The word "adjunction" has already been mentioned, so this is just to clarify the use of the term:

If I write $\mathrm{Map}(X,Y)$ for the set of all functions from $X$ to $Y$, then the map which sends $f\colon X\times Y \to Z$ to $[x\mapsto f_x]$ where $f_x(y)= f(x,y)$ has inverse $g\mapsto \tilde{g}$ where $\tilde{g}(x,y) = g(x)(y)$ and so gives a bijection $$ \tag{$\dagger$} \mathrm{Map}(X\times Y,Z) \leftrightarrow \mathrm{Map}(X,\mathrm{Map}(Y,Z)) $$

Now we can consider sets and functions between them to be a category Set, and since, for any two sets $\mathrm{Map}(X,Y)$ is again a set, just as $X\times Y$ is, if I fix a set $Y$ then both $\mathrm{Map}(Y,-)$ and $-\times Y$ the Cartesian product give "functors" from the category Set to itself.

The bijection $(\dagger)$ then reflects the fact that the functors $\big((-)\times Y,\mathrm{Map}(Y,-)\big)$ form an adjoint pair where one says that $\times -Y$ is left adjoint to $\mathrm{Map}(Y,-)$, and $\mathrm{Map}(Y,-)$ is right adjoint to $-\times Y$.

[I say "reflects the fact" rather than simply "is", because the adjunction takes into account that $\mathrm{Map}(Y,-)$ operates on both objects and morphisms, that is $\mathrm{Map}(Y,X)$ is a set for any set $X$ and if $f\colon X\to Z$, gives a function $\mathrm{Map}(Y,f)\colon \mathrm{Map}(Y,X) \to \mathrm{Map}(Y,Z)$ where $\mathrm{Map}(Y,f)(\alpha) = \alpha\circ f$ for all $\alpha \in \mathrm{Map}(Y,X)$.

Also, it may be worth pointing out that it is this basic adjunction in Set which underlies the ``tensor-Hom'' adjunction in (multi-)linear algebra.]

krm2233
  • 4,380
0

The accepted answer mentions currying, which is a common name for "the property". Another name is "partial function application", which is what happens when you take a function $f(x,y)$ and create a new function $\hat{f}(x)$ by fixing a specific $y$ value.

Closed Cartesian categories are a category theoretic way of expressing the structures you need to have this property, and in a sense they "define" the property (for category theory).

nomen
  • 2,707