The Grzegorczyk hierarchy (, ), named after the Polish logician
Andrzej Grzegorczyk, is a hierarchy of functions used in
computability theory
Computability theory, also known as recursion theory, is a branch of mathematical logic, computer science, and the theory of computation that originated in the 1930s with the study of computable functions and Turing degrees. The field has since ex ...
. Every
function in the Grzegorczyk hierarchy is a
primitive recursive function
In computability theory, a primitive recursive function is, roughly speaking, a function that can be computed by a computer program whose loops are all "for" loops (that is, an upper bound of the number of iterations of every loop is fixed befor ...
, and every primitive recursive function appears in the hierarchy at some level. The hierarchy deals with the rate at which the values of the functions grow; intuitively, functions in lower levels of the hierarchy grow slower than functions in the higher levels.
Definition
First we introduce an infinite set of functions, denoted ''E
i'' for some
natural number
In mathematics, the natural numbers are the numbers 0, 1, 2, 3, and so on, possibly excluding 0. Some start counting with 0, defining the natural numbers as the non-negative integers , while others start with 1, defining them as the positive in ...
''i''. We define
:
is the addition function, and
is a unary function which squares its argument and adds two. Then, for each ''n'' greater than 1,
, i.e. the ''x''-th
iterate of
evaluated at 2.
From these functions we define the Grzegorczyk hierarchy.
, the ''n''-th set in the hierarchy, contains the following functions:
# ''E
k'' for ''k'' < ''n''
# the zero function (''Z''(''x'') = 0);
# the
successor function
In mathematics, the successor function or successor operation sends a natural number to the next one. The successor function is denoted by ''S'', so ''S''(''n'') = ''n'' +1. For example, ''S''(1) = 2 and ''S''(2) = 3. The successor functio ...
(''S''(''x'') = ''x'' + 1);
# the
projection function In set theory, a projection is one of two closely related types of functions or operations, namely:
* A set-theoretic operation typified by the jth projection map, written \mathrm_j, that takes an element \vec = (x_1,\ \dots,\ x_j,\ \dots,\ x_k) ...
s (
);
# the (generalized)
compositions of functions in the set (if ''h'', ''g''
1, ''g''
2, ... and ''g''
m are in
, then
is as well);
[Here represents a ]tuple
In mathematics, a tuple is a finite sequence or ''ordered list'' of numbers or, more generally, mathematical objects, which are called the ''elements'' of the tuple. An -tuple is a tuple of elements, where is a non-negative integer. There is o ...
of inputs to ''f''. The notation means that ''f'' takes some arbitrary number of arguments and if , then . In the notation , the first argument, ''t'', is specified explicitly and the rest as the arbitrary tuple . Thus, if , then . This notation allows composition and limited recursion to be defined for functions, ''f'', of any number of arguments. and
# the results of limited (primitive) recursion applied to functions in the set, (if ''g'', ''h'' and ''j'' are in
and
for all ''t'' and
, and further
and
, then ''f'' is in
as well).
In other words,
is the
closure of set
with respect to function composition and limited recursion (as defined above).
Properties
These sets clearly form the hierarchy
:
because they are closures over the
's and
.
They are strict subsets. In other words
:
because the
hyperoperation
In mathematics, the hyperoperation sequence is an infinite sequence of arithmetic operations (called ''hyperoperations'' in this context) that starts with a unary operation (the successor function with ''n'' = 0). The sequence continues with th ...
is in
but not in
.
*
includes functions such as ''x''+1, ''x''+2, ...
** Every unary function ''f(x)'' in
is ''upper bounded'' by some ''x''+''n''. However,
also includes more complicated functions like ''x''∸1, ''x''∸''y'' (where ∸ is the
monus
In mathematics, monus is an operator on certain commutative monoids that are not groups. A commutative monoid on which a monus operator is defined is called a commutative monoid with monus, or CMM. The monus operator may be denoted with the &minu ...
sign defined as ''x''∸''y'' = max(''x''-''y'', 0)), , etc.
*
provides all addition functions, such as ''x''+''y'', 4''x'', ...
*
provides all multiplication functions, such as ''xy'', ''x''
4
*
provides all exponentiation functions, such as ''x''
''y'', 2
22''x'', and is exactly the
elementary recursive functions.
*
provides all
tetration
In mathematics, tetration (or hyper-4) is an operation (mathematics), operation based on iterated, or repeated, exponentiation. There is no standard mathematical notation, notation for tetration, though Knuth's up arrow notation \uparrow \upa ...
functions, and so on.
Notably, both the function
and the characteristic function of the predicate
from the
Kleene normal form theorem are definable in a way such that they lie at level
of the Grzegorczyk hierarchy. This implies in particular that every recursively enumerable set is enumerable by some
-function.
Relation to primitive recursive functions
The definition of
is the same as that of the
primitive recursive function
In computability theory, a primitive recursive function is, roughly speaking, a function that can be computed by a computer program whose loops are all "for" loops (that is, an upper bound of the number of iterations of every loop is fixed befor ...
s, , except that recursion is ''limited'' (
for some ''j'' in
) and the functions
are explicitly included in
. Thus the Grzegorczyk hierarchy can be seen as a way to ''limit'' the power of primitive recursion to different levels.
It is clear from this fact that all functions in any level of the Grzegorczyk hierarchy are primitive recursive functions (i.e.
) and thus:
:
It can also be shown that all primitive recursive functions are in some level of the hierarchy, thus
:
and the sets
partition the set of primitive recursive functions, .
Meyer and
Ritchie introduced another hierarchy subdividing the primitive recursive functions, based on the nesting depth of loops needed to write a
LOOP program that computes the function. For a natural number
, let
denote the set of functions computable by a LOOP program with
LOOP
and
END
commands nested no deeper than
levels. Fachini and Maggiolo-Schettini showed that
coincides with
for all integers
.
[E. Fachini, A. Maggiolo-Schettini, " hierarchy of primitive recursive sequence functions. From ''Informatique théorique'', book 13, no. 1 (1979), pp.49--67.]p.63
Extensions
The Grzegorczyk hierarchy can be extended to
transfinite ordinals. Such extensions define a
fast-growing hierarchy. To do this, the generating functions
must be recursively defined for
limit ordinal
In set theory, a limit ordinal is an ordinal number that is neither zero nor a successor ordinal. Alternatively, an ordinal λ is a limit ordinal if there is an ordinal less than λ, and whenever β is an ordinal less than λ, then there exists a ...
s (note they have already been recursively defined for successor ordinals by the relation
). If there is a standard way of defining a ''fundamental sequence''
, whose limit ordinal is
, then the generating functions can be defined
. However, this definition depends upon a standard way of defining the fundamental sequence. suggests a standard way for all ordinals ''α'' <
ε0.
The original extension was due to
Martin Löb
Martin Hugo Löb (; 31 March 1921 – 21 August 2006) was a German mathematician. He settled in the United Kingdom after the Second World War and specialised in mathematical logic. He moved to the Netherlands in the 1970s, where he remained in r ...
and
Stan S. Wainer and is sometimes called the
Löb–Wainer hierarchy.
See also
*
ELEMENTARY
*
Fast-growing hierarchy
*
Ordinal analysis
In proof theory, ordinal analysis assigns ordinals (often large countable ordinals) to mathematical theories as a measure of their strength.
If theories have the same proof-theoretic ordinal they are often equiconsistent, and if one theory ha ...
Notes
References
Bibliography
*
*
*
*
*
*
*
{{Large numbers
Computability theory
Hierarchy of functions