Definition:URM Computability

The URM program $$P$$ is said to compute the function $$f: \N^k \to \N$$ if:
 * for all ordered $k$-tuples $$\left({n_1, n_2, \ldots, n_k}\right) \in \N^k$$, the computation of a URM using the program $$P$$ with input $$\left({n_1, n_2, \ldots, n_k}\right)$$ produces the output $$f \left({n_1, n_2, \ldots, n_k}\right)$$.

If there are any inputs such that either of the following happens:
 * the output fails to equal $$f \left({n_1, n_2, \ldots, n_k}\right)$$;
 * the program will never terminate,

then the program does not compute the function $$f: \N^k \to \N$$.

The function $$f: \N^k \to \N$$ is said to be URM computable if there exists a URM program which computes it.