In the developments I've seen of primitive recursive and computable functions, the functions always have codomain $\mathbb{N}$, but are allowed to have domain $\mathbb{N}^{m}$ for any natural number $m$. This seems odd to me---treating the domains and codomains as fundamentally different.


One solution would be to allow functions $f\colon \mathbb{N}^m\to \mathbb{N}^n$ for any natural numbers $m,n$. Of course, such a function is really just an $n$-tuple of functions $(f\_1,f\_2,\ldots, f\_n)$ where $f\_i$ is just the $i$th coordinate of $f$, and computability for $f$ would amount to computability for each $f\_i$.


However, I'm more interested in the opposite direction: limiting the domain to always be $\mathbb{N}$. This seems to match, more naturally, what an idealized machine is doing by taking in a single natural number and spitting out a single natural number (or not halting). Of course, *a fortiori*, one could develop the recursive functions as usual, look at the subclass of functions whose domains are $\mathbb{N}$, and called these the *limited domain computable functions*, and then show that from these we can reconstruct the non-limited functions in a simple way.


My question is if there is a more natural approach. Just as the recursive functions are built up from some starting functions, using very limited and natural operators, I wonder if there are ways to build up the "limited domain computable functions" similarly, in a non-"*ad hoc*" way. (For instance, it would be nice if we could do it without the need to develop a universal Turing machine first.)


In other words: Does the extra generality in the domain *necessarily* simplify the development of computable functions?



Computable functions with limited domains
Two papers of Julia Robinson seem to do the sort of thing you're looking for. Here are the MathSciNet data.


*Robinson, Julia*, [**General recursive functions**](http://dx.doi.org/10.2307/2031973), Proc. Amer. Math. Soc. 1, 703-718 (1950). [ZBL0041.15101](https://zbmath.org/?q=an:0041.15101) [MR0038912](https://mathscinet.ams.org/mathscinet-getitem?mr=0038912).


*Robinson, Julia*, [**A note on primitive recursive functions**](http://dx.doi.org/10.2307/2033449), Proc. Am. Math. Soc. 6, 667-670 (1955). [ZBL0067.00204](https://zbmath.org/?q=an:0067.00204) [MR0073536](https://mathscinet.ams.org/mathscinet-getitem?mr=0073536).


