This situation calls out for greater attention to which functions can be defined with a given, fixed number of primitive recursion operations. In other words, it makes sense to look at the hierarchy of increasing classes En defined in terms of increasing numbers of primitive recursions, where each class is closed under composition. Every PR function will be at some finite level of the hierarchy:
But composition is a little weak. Recall that some slow-growing functions like cutoff subtraction required the R schema for their definitions even though they don't really use it to generate faster growth. We would like to distinguish growth-generating applications of R from applications that don't generate growth.
We can get around the difficulty by closing each class under bounded recursion as well as composition. An application of R is bounded in a class of functions if the function resulting from the application is bounded everywhere by some other function already established to be in the class.
Bounded Recursion: An application of R to g, f is bounded just in case there is a previously defined h such that for all x,
R(g, f)(x) £h(x).For example, in the cases of decrementation and cutoff subtraction, we have
Dec(x) < p1,1(x);So both of these functions are definable by bounded recursion and composition from basic functions. Similarly for -., quotient, remainder, sg and -sg, min, and max.
x -. y < p2,2(x, y).
Define
e0(x, y) = x + y;Then define:
e1(x) = x2 + 2;
en+2(0) = 2;
en + 2(x + 1) = en + 1(en + 2(x)).
E0 = the least set X containing the basic functions and closed under composition and bounded recursion.Then the indexed collection {En: n Î N} is called the Grzegorczyk hierarchy.
En+1 = the least set X containing the basic functions, ei, and closed under composition and bounded recursion.
Proposition 0: en
+ 3(x) = (en + 2)x(2).
Proof:
en + 3(0) = 2 = (en + 2)0(2);
en + 3(x) = (en + 2)x(2) Þ en + 3(x + 1) = en + 2(en + 3(x)) = en + 2((en + 2)x(2)) = (en + 2)x + 1(2).
0) [F(0)Ù"x (F(x) ®F(x + 1))] ®"x F(x).What if we wish to prove that forall x, "y Y(x, y)?
If we substitute the desired conclusion "y Y(x, y) for F(x), then we obtain:
1) ["yY(0, y)Ù"x (("yY(x, y)) ® ("y Y(x + 1, y)))] ®"x ("yY(x, y)).To get the first conjunct of the antecedent of (1), it suffices (by induction) to prove:
2) Y(0, 0) Ù "y (Y(0, y) ®Y(0, y + 1)).To get the second conjunct, we can use induction to get the universal quantifier on y in the consequent, so it suffices to show:
(3) "x (("y Y(x, y)) ® [Y(x + 1, 0) Ù [Y(x + 1, y) ®Y(x + 1, y + 1)]].Double Induction Schema:
en + 1(x) ³x + 1.Now we argue:.
DI 1, 2. e0 + 1(x) = x2 + 2 ³ x + 1.Exercise 0: Prove the remaining clauses of the proposition. The strict inequality in 1.2 will be used below, so I mean it.
DI 3. Suppose "x, en + 1(x) ³ x + 1.
a. en + 2(0) = 2 0 + 1.
b. Suppose en + 2(x) ³ x + 1.
Then en + 2(x + 1) = en + 1(en + 2(x)) ³ en + 2(x) + 1 ³ x + 2.
E = E3.It is often repeated that almost all number theoretical functions that arise in practice are elementary. This isn't surprising when one considers that composed exponentials (2 to the 2 to the 2... to the xth power) are all elementary.
The elementary functions have many alternative characterizations.
There is a weakness in this approach to negative results: characteristic functions that run way beyond PR in complexity don't grow at all. For example, d(x) = -sg(f[x, 1](x)). This is a non-PR function since it differs from each unary PR function in at least one place. But it doesn't grow at all. Growth is only a symptom of complexity.
Proposition 2: Each f in E0 satisfies:
$i £n$k"x, f(x) £xi + k.Proof: by induction on depth of E0 derivation trees.
f(g1(y), ..., gk(y)) < gm(y) + c < yj(m) + bm + c = yj(m) + d.Notice that in the preceding proof, the only interesting case is composition. That is because only composition is allowed to build growth rates, since primitive recursion is bounded. The next result says that each function in E1 is everywhere bounded by a linear function of the same arguments, which is also not surprising, since compositions of additions yield linear functions.
Proposition 3: Each f ÎE1 satisfies:
$ linear h "x,f(x) £h(x).Proof: by induction on depth of E1derivation trees.
Exercise 2: Prove it. Don't forget to add e0 to the base case!
The next result says that each function in E2 is bounded by a polynomial function. That's not surprising either since compositions of linear functions and squared functions yield polynomial functions.
Proposition 4: Each f in E2 satisfies:
$ polynomial p"x, f(x) £p(x).Proof: by induction on depth of E2 derivation trees.
Exercise 3: prove it.
Finally, each of the successive classes En + 3 is bounded by iterates of its generating function en + 1.
Proposition 5: Each f in En + 3 satisfies:
"x1, ..., x, $k, f(x1, ..., x) £ (en + 2)k(max(x1, ..., x)).Proof: by induction on depth of En + 3 derivation trees. Recall:
e0(x, y) = x + y;Base case: Observe that
e1(x) = x2 + 2;
en+2(0) = 2;
en + 2(x + 1) = en + 1(en + 2(x)).
e2(0) = 2;Since en + 1(x) ³en(x), by proposition 1.2, it suffices in the base case to show that all the basic functions are bounded by e2. This we do by induction on x.
e2(x + 1) = e1(e2(x)) = e2(x)2 + 2.
s(0) = 1 < 2 =
e2(0);
s(x) = x + 1 £
e2(x)
Þs(x
+ 1) = x + 1 + 1 £
e2(x)
+ 1 <e2(x)2
+ 2 =e2(x) £
e2(x + 1) by proposition
1.2.
max(x) = 0 Þ pi,k(x)
= 0 < 2 = e2(max(x));
max(x) = n Ù
max(y) = n + 1 Ùpi,k(x)
£
e2(n)
Þ
pi,k(y)
£n
+ 1 £
e2(n)
+ 1 < e2(n)2 + 2 =e2(n
+ 1) =
e2(max(y)).
f(g1(y), ..., gk(y)) < (en + 2)m(max(g(y)) [by second hypothesis].Proposition 6: If f ÎEn then the iteration f yÎEn + 1.
< (en + 2)m(en + 2)max(j(1), ..., j(k))(max(y)) [by first hypothesis and proposition 1.2].
< (en + 2)m + max(j(1), ..., j(k)).
Proof: The iteration of addition of a constant is bounded by a linear function, yielding the case for n = 0. Similarly, the iteration of a linear function is a polynomial function, yielding the n = 1 case. Let f ÎEn + 1. We will consider the case of binary f, with iteration on x. When n > 1, we have by proposition 5 above, there is an m such that
f(x, y) £ (en - 1)m(max(x, y)).Now by induction, we show:
(*) f z(x, y) £ (en - 1)mz(max(x, y)).Base:
f 0(x, y) = x £ max(x, y) = (en - 1)0(max(x, y)).Induction: Now suppose that for all x, y,
f z(x, y) < (en - 1)mz(max(x, y)).Then:
f z + 1(x, y) = f z(f(x, y), y) [defn. iteration]That completes the induction. Observe, further, that
f z + 1(x, y) £f z((en - 1)m(max(x, y)), y) [hypothesis, proposition 1.2]
£ (en - 1)mz(max((en - 1)m(max(x, y)), y)) [induction hypothesis]
£ (en - 1)m(z + 1)(max(x, y)) [by proposition 1.2]
(**) (en - 1)mz(max(x, y)) £ (en)(max(x, y) + mz) [propositon 1.4].So by chaining (*) with (**), we obtain
(***) f z(x, y) £ (en)(max(x, y) + mz).Now the iteration f z is defined by primitive recursion in terms of f.
Proposition 8: en
is in En + 1 -En.
Proof sketch: Recall
e0(x, y) = x + y;The membership claims are all true by definition of En. The non-memberships are established by induction on n.
e1(x) = x2 + 2;
en+2(0) = 2;
en + 2(x + 1) = en + 1((en + 2)(x)).
"k $x en + 2(x) > (en + 1)k(x).Now we show by induction on k that:
(*) "k $xen + 3(x) > (en + 2)k(x).Base: For k = 0, we have
en + 3(0) = 2 > 0 = (en + 2)0(0).Induction: Now suppose that for some x :
en + 3(x) > (en + 2)k(x).Then
en + 3(x + 1) = en + 2(en + 3(x)) >en + 2((en + 2)k'(x)) = (en + 2)k' + 1(x).Observe that the red inequality is by proposition 1.2.
Proposition 9: ÈiEi
=
PR.
Proof sketch: The basic functions and compositon are no
problem because each En has them. But none of the
classes has primitive recursion, so we must show that somehow the effect
of primitive recursion results from taking the union of the classes.
So why would we think it's true? Because the successive generating
functions provide increasing bounds so that each unbounded recursion becomes
bounded by some level. By proposition 6,
the iteration f y of a function f in En
is in En + 1. Then one proves (nontrivial)
that all unary primitive recursive functions can be defined by iteration
and composition over some simple PR functions (cf. Rose pp. 17-22).
The idea, as usual, is to use an encoding to allow the iteration to simulate
unary primitive recursion. Then one reduces n-ary primitive recursion
to unary primitive recursion.
An easier way to prove this proposition is to do it directly by induction on derivation complexity, bounding compositions and primitive recursions over functions in one class by compositions of higher generating functions. This is more direct, but then one doesn't end up with nice results like proposition 7 along the way because the bounds are loose (e.g., jumping by 3).
Proposition 9: The Péter
function is not PR.
Proof: The Péter
function p outgrows each en. Thus, by proposition
8, p is not in any class En. By proposition
9, p is not PR.