Connection between the $S_{mn}$-theorem and Gödel universal functions I was wondering what is the connection between a Gödel universal function (defined below) and the S-m-n theorem (stated below)? I'm almost sure there must be some connection, but I can't figure out the details. Probably there's a connection between the $s$ in the definition of a Gödel universal function and the program $s_n^m$ from the statement of the S-m-n theorem?
Some textbooks use exclusively Gödel universal functions without ever mentioning the S-m-n theorem; other textbooks don't talk about Gödel universal functions but use the S-m-n theorem in those places where the textbooks of the first type would have used Gödel universal functions (e.g. in $m$-reducing one set to another). That's the reason I think there should be a connection.

A partial function $U: N\times N\to N$ is said to be a universal function for the class of computable functions of one argument if $U$ is computable and for any partial computable function of one argument $f$, there is $n\in N$ such that $U(n,x)=f(x)$ for all $x\in N$.


A Gödel universal function is a universal function $U$ with the following property: if $V:N\times N\to N$ is any partial computable function, then there exists a total computable $s:N\to N$ such that for all $x,n\in N$ one has $V(n,x)=U(s(n),x)$.


S-m-n theorem. There exists a natural number $s^m_n$ with the following property: for all natural $x,y_1,\dots,y_m,z_1,\
\dots, z_n$, $$[\![ [\![s^m_n ]\!](x,y_1,\dots,y_m) ]\!](z_1,\dots,z_n)=[\![x]\!](y_1,\dots,y_m,z_1,\dots,z_n).$$
(The notation $[\![ a ]\!](b)$, also written as $\varphi_a(b)$, stands for the result of the application of the program with number $a$ (in some computable (initailly fixed) enumeration of programs) to input $b$.)
Also see this question for another statement of the S-m-n theorem.

 A: Feel free to correct/criticize/improve this answer.

Alright, I think I got it, at least most of it. I think the S-m-n theorem (for $m=n=1$) can be used to prove the existence of Gödel universal functions.
From what I understand, $U(x,y)$, $\varphi_x(y)$, $[\![ x ]\!](y)$ are various notations for the same thing, so I'll use them interchangeably.
Let $U$ be a universal function (with respect to some fixed computable enumeration of programs). Let $V: N\times N \to N$ be a partial computable function. Then there exists a program that computes it, say it has number $e$ in the fixed numbering mentioned above. So $$V(x,y)=[\![e]\!](x,y)$$ for all $x,y$. Let's construct the function $s$ from the definition of a Gödel universal function. In the case $m=n=1$, the S-m-n theorem says $$[\![ [\![s^1_1 ]\!](e,x) ]\!](y)=[\![e]\!](x,y).$$
Define $s:N\to N$ by $x\mapsto [\![s^1_1 ]\!](e,x) $. Then we have $$[\![s(x)]\!](y)=[\![e]\!](x,y) $$ or in other notation $$U(s(x),y)=V(x,y).$$
The only thing that's unclear to me is why this $s:x\mapsto [\![s^1_1 ]\!](e,x) $ is total.
