Definition:URM Computability

Program
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$$.

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

Set
Let $$A \subseteq \N$$.

Then $$A$$ is a URM computable set if its characteristic function $$\chi_A$$ is a URM computable function.

Relation
Let $$\mathcal{R} \subseteq \N^k$$ be an $n$-ary relation on $$\N^k$$.

Then $$\mathcal{R}$$ is a URM computable relation iff its characteristic function $$\chi_{\mathcal{R}}$$ is a URM computable function.