Is it possible to list all partial recursive functions such that every function appears only once in the enumeration. More precisely, does there exist (total) recursive function $f:\mathbb{N} \rightarrow \mathbb{N}$ such that for any two different values $a,b \in \mathbb{N}$ (where $a\ne b$) the following two properties are satisfied:
(1) $\phi_{f(a)} \ne \phi_{f(b)}$ (the two functions on the left and right hand side aren't the same)
(2) For any possible partial recursive function $g:\mathbb{N} \rightarrow \mathbb{N}$ there exists some value $N \in \mathbb{N}$ such that $g=\phi_{f(N)}$ (the two functions on the left and right hand side are the same)
$\phi_x$ denotes the function computed by the program corresponding to index $x$ (under a reasonable 1-1 correspondence between the collection of programs and $\mathbb{N}$).
Yes, there is a total computable function with those properties. The existence was proved by Friedberg in 1958 using a priority argument.
These uniformly computable non-repeating enumerations are called Friedberg numberings in the literature.