In recursion theory, an elementary recursive function, also called an elementary function, or a Kalmár elementary function, is a restricted form of a primitive recursive function, allowing bounded applications of exponentiation (for example,
2n | |
O(2 |
)
The name was coined by László Kalmár, in the context of recursive functions and undecidability; most elementary recursive functions are far from elementary. Not all primitive recursive problems are elementary; for example, tetration is not elementary. The corresponding class of decision problems is denoted ELEMENTARY
The definitions of elementary recursive functions are the same as for primitive recursive functions, except that primitive recursion is replaced by bounded summation and bounded product. All functions work over the natural numbers. The basic functions, all of them elementary recursive, are:
From these basic functions, we can build other elementary recursive functions.
f(m,x1,\ldots,xn)=
mg(i, | |
\sum\limits | |
i=0 |
x1,\ldots,xn)
f(m,x1,\ldots,xn)=
mg(i, | |
\prod\limits | |
i=0 |
x1,\ldots,xn)
The class of elementary functions coincides with the closure with respect to composition of the projections and one of the following function sets:
\{n+1,n\stackrel{.}{-}m,\lfloorn/m\rfloor,nm\}
\{n+m,n\stackrel{.}{-}m,\lfloorn/m\rfloor,2n\}
\{n+m,n2,n\bmodm,2n\}
n\stackrel{.}{-}m=max\{n-m,0\}
Lower elementary recursive functions follow the definitions as above, except that bounded product is disallowed. That is, a lower elementary recursive function must be a zero, successor, or projection function, a composition of other lower elementary recursive functions, or the bounded sum of another lower elementary recursive function.
Lower elementary recursive functions are also known as Skolem elementary functions.[3] [4]
Whereas elementary recursive functions have potentially more than exponential growth, the lower elementary recursive functions have polynomial growth.
The class of lower elementary functions has a description in terms of composition of simple functions analogous to that we have for elementary functions.[5] Namely, a polynomial-bounded function is lower elementary if and only if it can be expressed using a composition of the following functions: projections,
n+1
nm
n\stackrel{.}{-}m
n\wedgem
\lfloorn/m\rfloor
2n
nm
xy(z+1)
(x+y)yz+x+zx+1
2x | |
2 |
n\wedgem
In descriptive complexity, ELEMENTARY is equal to the class HO of languages that can be described by a formula of higher-order logic. This means that every language in the ELEMENTARY complexity class corresponds to as a higher-order formula that is true for, and only for, the elements on the language. More precisely,
| |||||
NTIME\left(2 |
\exists{}HOi