- PR (complexity)
PR is the complexity class of all
primitive recursive functions – or, equivalently, the set of all formal languages that can be decided by such a function. This includes addition, multiplication, exponentiation, tetration, etc.
Ackermann functionis an example of a function that is "not" primitive recursive, showing that PR is strictly contained in R.
PR functions can be explicitly enumerated, whereas functions in R cannot be (since otherwise the
halting problemwould be decidable). That is, PR is a "syntactic" class whereas R is "semantic."
On the other hand, we can "enumerate" any
recursively enumerable set(see also its complexity class RE) by a primitive-recursive function in the following sense: given an input ("M", "k"), where "M" is a Turing machine and "k" is an integer, if "M" halts within "k" steps then output "M"; otherwise output nothing. Then the union of the outputs, over all possible inputs ("M", "k"), is exactly the set of "M" that halt.
PR strictly contains
Primitive recursive function
Wikimedia Foundation. 2010.