PR is the complexity class of all
primitive recursive functions—or, equivalently, the set of all
formal language
In logic, mathematics, computer science, and linguistics, a formal language is a set of strings whose symbols are taken from a set called "alphabet".
The alphabet of a formal language consists of symbols that concatenate into strings (also c ...
s that can be decided in
time
Time is the continuous progression of existence that occurs in an apparently irreversible process, irreversible succession from the past, through the present, and into the future. It is a component quantity of various measurements used to sequ ...
bounded by such a function. This includes
addition
Addition (usually signified by the Plus and minus signs#Plus sign, plus symbol, +) is one of the four basic Operation (mathematics), operations of arithmetic, the other three being subtraction, multiplication, and Division (mathematics), divis ...
,
multiplication
Multiplication is one of the four elementary mathematical operations of arithmetic, with the other ones being addition, subtraction, and division (mathematics), division. The result of a multiplication operation is called a ''Product (mathem ...
,
exponentiation
In mathematics, exponentiation, denoted , is an operation (mathematics), operation involving two numbers: the ''base'', , and the ''exponent'' or ''power'', . When is a positive integer, exponentiation corresponds to repeated multiplication ...
,
tetration, etc.
The
Ackermann function
In computability theory, the Ackermann function, named after Wilhelm Ackermann, is one of the simplest and earliest-discovered examples of a total function, total computable function that is not Primitive recursive function, primitive recursive. ...
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
, where
is a
Turing machine
A Turing machine is a mathematical model of computation describing an abstract machine that manipulates symbols on a strip of tape according to a table of rules. Despite the model's simplicity, it is capable of implementing any computer algori ...
and
is an integer, if
halts within
steps then output
; otherwise output nothing. Then the union of the outputs, over all possible inputs (
,
), is exactly the set of
that halt.
PR strictly contains
ELEMENTARY.
PR does not contain "PR-complete" problems (assuming, e.g.,
reductions that belong to ELEMENTARY).
Hierarchy
The PR class can be divided into an infinite hierarchy of increasingly large complexity levels, according to the
fast-growing hierarchy.
The
class is the class of problems that can be solved in
time. That is, there exists a Turing machine and a constant
, such that given an input of length
, the machine solves it and halts within
steps.
The
class is the class of problems that can be solved in
time.
The
class is ELEMENTARY.
The
class is TOWER, which can be equivalently written as the class of problems that can be solved in
tetration-time.
The union
is PR.
In practice, many problems that are not in PR but just beyond it are
-complete (Schmitz 2016).
References
*
*
*
External links
* .
{{DEFAULTSORT:Pr (Complexity)
Complexity classes