A partial function is computable when a program returns its value on every input in its domain and runs forever on inputs outside its domain.
A universal partial computable function simulates the program with index on input , reproducing both its output and its divergence. Decode the finite program and repeatedly apply its transition rule. This gives a partial computable function of the code and inputs. There can be no total computable evaluator whose rows are precisely all total computable functions, because would be a missing diagonal row.
For every partial computable function , there are total primitive recursive functions such that
Here is zero exactly on codes of valid halting computation histories for the chosen program and input, and extracts the final output. Coding finite configurations and finite histories makes checking every local step a bounded primitive recursive operation. If a computation halts, some history code passes and every passing code has the same output; if it does not halt, none passes. This is the usual normal-form version with the program index fixed; a universal predicate can also retain that index as an input.
For a partial function , unbounded minimization defines
as the least at which is zero, provided the preceding required computations are defined. If no such is found, is undefined. Closing the primitive recursive functions under this operation gives the partial recursive functions.
A total computable function is a computable function whose domain is the entire input space.
A total computable function is a computable function whose domain contains every allowed input.
For a theory of arithmetic and a program index , the function is provably total in when proves its canonical totality sentence
If is recursively axiomatized, the indices of its provably total functions form a computably enumerable set.
For a program code , input , and time bound , the truncated computation simulates program on for at most steps and reports either its output or that no halt occurred within the bound. This is a total computable function of .
One convention for the Ackermann function on nonnegative integers is
Its two-argument recursion defines a computable function; fixing the convention matters when defining an inverse Ackermann function.
For the displayed Ackermann function convention, one possible inverse-growth scale is for positive integers . It gives through , from through , and from through . Several inverse Ackermann function conventions occur in algorithm analysis; changing convention can shift these small values without changing the very slow growth relevant to the disjoint-set data structure. This inverse-growth definition does not invert a two-variable function as an ordinary one-variable inverse function.

Articles by others on the same topic (2)