# Does a term exist to describe the output cardinality of a function, analogous to function 'arity'?

I've seen functions described as bivariate, multivariate, etc. or as unary, binary, n-ary as a way to denote that they take a certain number of inputs or parameters. However, I have not found an equivalent term to describe the number of outputs a function can/does produce. For example, a function like the following:

[r, phi] = polar(x, y)

would be described as bivariate, binary, or dyadic since it has two parameters, but how would one describe the property of also having two output values?

Of course, I understand that these sorts of multi-valued outputs can be contained as a "single" vector/matrix/array, but I'd still like to know the general terminology.

• I think it's not really a mathematical question; it rather belongs to programming, I guess. – richrow May 7 '20 at 18:09
• @richrow I think this is fine as a mathematical question. – Noah Schweber May 7 '20 at 18:25
• OK, it might be. – richrow May 8 '20 at 19:10

This is kind of a cop-out answer, but I don't think there's a standard term for this - I've seen "co-arity" used in informal talks, but never in print.

That said, let me make a bit of sociological speculation as to why there isn't a standard term for this. Let's look at $$n=2$$ for simplicity.

Suppose we have functions $$f:(A\times B)\rightarrow C\quad\mbox{and}\quad g:X\rightarrow (Y\times Z).$$ We can try to "de-$$2$$ify" these in different ways:

• For $$f$$, we pick a factor and Curry it out, construing $$f$$ as either $$A\rightarrow (B\rightarrow C)$$ or $$B\rightarrow (A\rightarrow C)$$. However, things are somehow "sticky:" we can only focus on one input at a time, and choosing to do so rather than keeping the domain $$A\times B$$ makes the codomain get a lot more complicated.

• For $$g$$, things are a lot simpler. We can just look at the "projections" $$g_Y:X\rightarrow Y$$ and $$g_Z:X\rightarrow Z$$. There's no essential interaction between the two components, and we lose nothing by separating them.

The takeaway for me is this: lowering coarity (= getting rid of products in the codomain) is notationally and conceptually "cheap" in a way that lowering arity isn't.

Now a natural reaction at this point is that the above is clearly nonsense and that arity and coarity, being dual to each other, should look much more similar. This can be made precise by switching from functions to relations so that inverses work better: the arity of a relation is the co-arity of its inverse. However, functions are an important type of relation, and taking inverses isn't as cognitively free as we might hope, so I think the above does reflect a psychological preference for phrasing everything in terms of coarity-$$1$$ despite being happy with high arities.

• To tie this very helpful answer back to the original example, a co-arity reduction of our polar function would be something like:r = rad(x, y), phi = ang(x, y) and conversely the 'inversion' to demonstrate the desire to describe the nice duality of arity and 'co-arity' would be [x, y] = cart(r, phi) – Eddy H Nieves May 7 '20 at 20:09