Grzegorczyk hierarchy

From HandWiki
Short description: Functions in computability theory

The Grzegorczyk hierarchy (/ɡrɛˈɡɔːrək/, Polish pronunciation: [ɡʐɛˈɡɔrt͡ʂɨk]), named after the Polish logician Andrzej Grzegorczyk, is a hierarchy of functions used in computability theory.[1] Every function in the Grzegorczyk hierarchy is a primitive recursive function, 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.


First we introduce an infinite set of functions, denoted Ei for some natural number i. We define [math]\displaystyle{ E_0(x,y)=x+y }[/math] and [math]\displaystyle{ E_1(x)=x^2+2 }[/math]. I.e., E0 is the addition function, and E1 is a unary function which squares its argument and adds two. Then, for each n greater than 2, we define [math]\displaystyle{ E_n(x)=E^{x}_{n-1}(2) }[/math], i.e. the x-th iterate of [math]\displaystyle{ E_{n-1} }[/math] evaluated at 2.

From these functions we define the Grzegorczyk hierarchy. [math]\displaystyle{ \mathcal{E}^n }[/math], the n-th set in the hierarchy, contains the following functions:

  1. Ek for k < n
  2. the zero function (Z(x) = 0);
  3. the successor function (S(x) = x + 1);
  4. the projection functions ([math]\displaystyle{ p_i^m(t_1, t_2, \dots, t_m) = t_i }[/math]);
  5. the (generalized) compositions of functions in the set (if h, g1, g2, ... and gm are in [math]\displaystyle{ \mathcal{E}^n }[/math], then [math]\displaystyle{ f(\bar{u}) = h(g_1(\bar{u}), g_2(\bar{u}), \dots, g_m(\bar{u})) }[/math] is as well);[note 1] and
  6. the results of limited (primitive) recursion applied to functions in the set, (if g, h and j are in [math]\displaystyle{ \mathcal{E}^n }[/math] and [math]\displaystyle{ f(t, \bar{u}) \leq j(t, \bar{u}) }[/math] for all t and [math]\displaystyle{ \bar{u} }[/math], and further [math]\displaystyle{ f(0, \bar{u}) = g(\bar{u}) }[/math] and [math]\displaystyle{ f(t+1, \bar{u}) = h(t,\bar{u},f(t,\bar{u})) }[/math], then f is in [math]\displaystyle{ \mathcal{E}^n }[/math] as well).[note 1]

In other words, [math]\displaystyle{ \mathcal{E}^n }[/math] is the closure of set [math]\displaystyle{ B_n = \{Z, S, (p_i^m)_{i \le m}, E_k : k \lt n\} }[/math] with respect to function composition and limited recursion (as defined above).


These sets clearly form the hierarchy

[math]\displaystyle{ \mathcal{E}^0 \subseteq \mathcal{E}^1 \subseteq \mathcal{E}^2 \subseteq \cdots }[/math]

because they are closures over the [math]\displaystyle{ B_n }[/math]'s and [math]\displaystyle{ B_0 \subseteq B_1 \subseteq B_2 \subseteq \cdots }[/math].

They are strict subsets.[2][3] In other words

[math]\displaystyle{ \mathcal{E}^0 \subsetneq \mathcal{E}^1 \subsetneq \mathcal{E}^2 \subsetneq \cdots }[/math]

because the hyper operation [math]\displaystyle{ H_n }[/math] is in [math]\displaystyle{ \mathcal{E}^n }[/math] but not in [math]\displaystyle{ \mathcal{E}^{n-1} }[/math].

  • [math]\displaystyle{ \mathcal{E}^0 }[/math] includes functions such as x+1, x+2, ...
  • [math]\displaystyle{ \mathcal{E}^1 }[/math] provides all addition functions, such as x+y, 4x, ...
  • [math]\displaystyle{ \mathcal{E}^2 }[/math] provides all multiplication functions, such as xy, x4
  • [math]\displaystyle{ \mathcal{E}^3 }[/math] provides all exponentiation functions, such as xy, 222x, and is exactly the elementary recursive functions.
  • [math]\displaystyle{ \mathcal{E}^4 }[/math] provides all tetration functions, and so on.

Notably, both the function [math]\displaystyle{ U }[/math] and the characteristic function of the predicate [math]\displaystyle{ T }[/math] from the Kleene normal form theorem are definable in a way such that they lie at level [math]\displaystyle{ \mathcal{E}^0 }[/math] of the Grzegorczyk hierarchy. This implies in particular that every recursively enumerable set is enumerable by some [math]\displaystyle{ \mathcal{E}^0 }[/math]-function.

Relation to primitive recursive functions

The definition of [math]\displaystyle{ \mathcal{E}^n }[/math] is the same as that of the primitive recursive functions, PR, except that recursion is limited ([math]\displaystyle{ f(t, \bar{u}) \leq j(t, \bar{u}) }[/math] for some j in [math]\displaystyle{ \mathcal{E}^n }[/math]) and the functions [math]\displaystyle{ (E_k)_{k\lt n} }[/math] are explicitly included in [math]\displaystyle{ \mathcal{E}^n }[/math]. 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. [math]\displaystyle{ \mathcal{E}^n \subseteq \mathsf{PR} }[/math]) and thus:

[math]\displaystyle{ \bigcup_n{\mathcal{E}^n} \subseteq \mathsf{PR} }[/math]

It can also be shown that all primitive recursive functions are in some level of the hierarchy,[2][3] thus

[math]\displaystyle{ \bigcup_n{\mathcal{E}^n} = \mathsf{PR} }[/math]

and the sets [math]\displaystyle{ \mathcal{E}^0, \mathcal{E}^1 - \mathcal{E}^0, \mathcal{E}^2 - \mathcal{E}^1, \dots, \mathcal{E}^n - \mathcal{E}^{n-1}, \dots }[/math] partition the set of primitive recursive functions, PR.


Main page: Fast-growing hierarchy

The Grzegorczyk hierarchy can be extended to transfinite ordinals. Such extensions define a fast-growing hierarchy. To do this, the generating functions [math]\displaystyle{ E_\alpha }[/math] must be recursively defined for limit ordinals (note they have already been recursively defined for successor ordinals by the relation [math]\displaystyle{ E_{\alpha+1}(n) = E_\alpha^n(2) }[/math]). If there is a standard way of defining a fundamental sequence [math]\displaystyle{ \lambda_m }[/math], whose limit ordinal is [math]\displaystyle{ \lambda }[/math], then the generating functions can be defined [math]\displaystyle{ E_\lambda(n) = E_{\lambda_n}(n) }[/math]. However, this definition depends upon a standard way of defining the fundamental sequence. (Rose 1984) suggests a standard way for all ordinals α < ε0.

The original extension was due to Martin Löb and Stan S. Wainer and is sometimes called the Löb–Wainer hierarchy.[4]

See also


  1. 1.0 1.1 Here [math]\displaystyle{ \bar{u} }[/math] represents a tuple of inputs to f. The notation [math]\displaystyle{ f(\bar{u}) }[/math] means that f takes some arbitrary number of arguments and if [math]\displaystyle{ \bar{u} = (x, y, z) }[/math], then [math]\displaystyle{ f(\bar{u}) = f(x, y, z) }[/math]. In the notation [math]\displaystyle{ f(t, \bar{u}) }[/math], the first argument, t, is specified explicitly and the rest as the arbitrary tuple [math]\displaystyle{ \bar{u} }[/math]. Thus, if [math]\displaystyle{ \bar{u} = (x, y, z) }[/math], then [math]\displaystyle{ f(t, \bar{u}) = f(t, x, y, z) }[/math]. This notation allows composition and limited recursion to be defined for functions, f, of any number of arguments.



  • Brainerd, Walter S.; Landweber, Lawrence H. (1974). Theory of computation. Wiley. ISBN 9780471095859. 
  • Gakwaya, Jean-Sylvestre (1997). "A survey on the Grzegorczyk Hierarchy and its Extension through the BSS Model of Computability". CiteSeerX
  • Löb, Martin Hugo; Wainer, Stan S. (1970). "Hierarchies of Number Theoretic Functions I, II: A Correction". Archiv für mathematische Logik und Grundlagenforschung 14 (3–4): 198–199. doi:10.1007/bf01991855. 
  • Wagner, K.; Wechsung, G. (1986). "Computational Complexity". Mathematics and Its Applications (Springer) 21. ISBN 978-90-277-2146-4.