# Currying a " partial mapping A*B -->_p C

Hello,

I would like to know how to currify a partial mapping $A \times B \to_p C$?

Here, by "partial mapping from $X$ to $Y$", I mean a function from a subset of $X$ to $Y$, as explained here Partial Function.

It is known that $(A \times B) \to C$ is isomorphic to $A \to B \to C$. The isomorphism is known as "currying".

My question is about the relation between $A \times B \to_p C$ and $A \to_p B \to_p C$, where ${\to_p}$ denotes a partial function. Apparently, they are not isomorphic. But I would like to know how we can currify $A \times B \to_p C$?

Thanks.

Edit: My question was really, can we say that $A \to_p (B \to C) )$ is isomorphic to $A \times B \to_p C$? (I think no.) Which set would then be isomorphic to $(A \to_p (B \to C))$ (except itself)?

• If there is no further structure, partial functions $A\times B\to_p C$ are in 1–1 correspondence with functions $A\to(B\to_p C)$ (i.e., the outer functions are total, the inner ones partial). – Emil Jeřábek Oct 5 '12 at 17:44

## 1 Answer

For plain vanilla sets and functions, a partial function $f$ from $A$ to $B$ can be viewed as essentially the same thing as a total function $g: A \to B + 1$, where the codomain is the disjoint union of $B$ with a 1-element set. The idea is that whenever $f(a)$ is undefined, we define $g(a)$ to be the element of $1$.

Thus, if $Par(A, B)$ denotes the set of partial functions, and $\hom(A, B)$ the set of total functions, we have

$$Par(A \times B, C) \cong \hom(A \times B, C+1) \cong \hom(A, \hom(B, C+1)) \cong \hom(A, Par(B, C))$$

and that tells you how to currify (curryfy?).

For toposes, the situation is just slightly more complicated, but it remains true that partial morphisms into an object $B$ are representable (not by $B+1$ in general, but by something else). But the same currification carries over.

Edit: I was asked to respond to: what about currying (or schoenfinkelifying!) the other way, to $Par(A, \hom(B, C))$. It pretty clearly gives a different result, just by cardinality considerations on finite sets; the difference is pretty stark by considering $A = 1$, where we compare $Par(B, C)$ to $\hom(B, C) + 1$ -- obviously the first is larger if $B$ has two or more elements. Sorry I can't say much more right now.

• Thanks a lot. I see your points! But I cannot upvote... why my name is called "unknown" by the way? – user22707 Oct 5 '12 at 18:00
• You can set up a proper user name if you register. – Emil Jeřábek Oct 5 '12 at 18:04
• I prefer to Schoenfinkelify :) – François G. Dorais Oct 5 '12 at 18:09
• Concerning my last edited question, using your technique, we get Par(A, Hom (B,C)) = Hom (A , Hom (B,C) + 1) and then it becomes stuck... – user22707 Oct 5 '12 at 18:17
• @unknown(google): Indeed, it becomes stuck, and that is as it should be. Par(A,Hom(B,C)) can be regarded as a certain set of partial functions on AxB, but not all such partial functions, only those which, when defined at a point (a,b), are also defined at all the other points (a,b') in the same "column" (i.e., with the same a). – Andreas Blass Oct 6 '12 at 11:56