PR (complexity)

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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.

The Ackermann function is an example of a function that is not primitive recursive, showing that PR is strictly contained in R (Cooper 2004:88).

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 ELEMENTARY.

PR does not contain "PR-complete" problems (assuming, e.g., reductions that belong to ELEMENTARY). In practice, many problems that are not in PR but just beyond are -complete (Schmitz 2016).

References[edit]

  • S. Barry Cooper (2004), Computability Theory, Chapman & Hall. ISBN 1-58488-237-9
  • Herbert Enderton (2011), Computability Theory, Academic Press. ISBN 978-0-12-384-958-8
  • Sylvain Schmitz (2016), "Complexity Hierarchies Beyond Elementary", ACM Transactions on Computation Theory 8. doi:10.1145/2858784

External links[edit]