I'm trying to understand how we can construct an admissible ordering of the computable (meaning, partial recursive) functions.
Initially my take on such an enumeration was from the point of view of an enumeration of programs. For instance, we could enumerate all possible Turing machines using some set of rules (for instance, first the 1-state machines, then the 2-state machines, with some sort lexicographic order within each of the groups). Or alternatively, perhaps we could encode each program uniquely via some numbering system and then simply take them in increasing order.
These produce computable maps from $\mathbb{N}\to$ set of computable functions. But of course these are not bijections since multiple programs will compute the same function.
So my question is, for the purposes of something like Rice's theorem, how does one construct an admissible numbering of the computable functions?