next up previous
Next: Relation to Other Formalisms Up: Properties of Computable Functions Previous: Formal Properties of Conditional

Recursion Induction

 

Suppose a function f is defined recursively by

(1) tex2html_wrap_inline3868 { tex2html_wrap_inline3870 }

where tex2html_wrap_inline3872 is an expression that in general contains f. Suppose that tex2html_wrap_inline3876 is the set of n-tuples tex2html_wrap_inline2666 for which f is defined. Now let g and h be two other functions with the same domain as f and which are defined for all n-tuples in tex2html_wrap_inline3876 . Suppose further that g and h satisfy the equation which defined f. We assert that

displaymath3902

for all tex2html_wrap_inline2666 in tex2html_wrap_inline3876 . This is so, simply because equation (1) uniquely determines the value that any function satisfying it has for arguments in tex2html_wrap_inline3876 which in turn follows from the fact that (1) can be used to compute tex2html_wrap_inline3910 for tex2html_wrap_inline2666 in tex2html_wrap_inline3876 .

We shall call this method of proving two functions equivalent by the name of recursion induction.

We shall develop some of the properties of the elementary functions of integers in order to illustrate proof by recursion induction. We recall the definitions

displaymath3916

displaymath3918

eqnarray314

Only the definition of addition and the properties of conditional expressions were used in this proof.

tex2html_wrap_inline3920

Proof Define tex2html_wrap_inline3924 . It is easily seen that f(m,n) converges for all m and n and hence is completely defined by the above equation and is computable from it. Now

eqnarray320

It is easily seen that the functions g and h defined by the equations g(m,n) =(m + n)' and h(m,n) = m' + n both satisfy the equation f. For example, it is clear that tex2html_wrap_inline3942 and tex2html_wrap_inline3944 Therefore, by the principle of recursion induction h and g are equivalent functions on the domain of where f is defined, but this is the set of all pairs of integers.

The fact that the above defined f(m,n) converges for all m and n is a case of the more general fact that all functions defined by equations of the form

eqnarray326

converge. We are not yet able to discuss formal proofs of convergence.

In presenting further proofs we shall be more terse.

tex2html_wrap_inline3958
Proof Let tex2html_wrap_inline3962 Again f converges for all m, n, p. We have

eqnarray334

Each of these forms satisfies the equation for f(m,n,p).

Setting m = 0 in Theorem 3 gives

displaymath3972

so that if we had 0 + m = m we would have commutativity of addition.

In fact, we cannot prove 0 + m = m without making some assumptions that take into account that we are dealing with the integers. For suppose our space consisted of the vertices of the binary tree in figure 2, where #1#2#3#4#5@font#1#2pt#3#4#5

picture2387

Fig. 2

m' is the vertex just above and to the left, and tex2html_wrap_inline3980 is the vertex just below, and 0 is the bottom of the tree. m + n can be defined as above and of course satisfies Theorems 1, 2, and 3 but does not satisfy 0+m = m. For example, in the diagram 0 + a = b although a + 0 = a.

We shall make the following assumptions:

1. tex2html_wrap_inline3990

2. tex2html_wrap_inline3992

3. tex2html_wrap_inline3994

which embody all of Peano's axioms except the induction axiom.

tex2html_wrap_inline3996

eqnarray382

tex2html_wrap_inline3998

Proof By 3 and 4 as remarked above.

tex2html_wrap_inline1966

eqnarray395

tex2html_wrap_inline1968

eqnarray402

tex2html_wrap_inline1970

eqnarray405

tex2html_wrap_inline1972

eqnarray413

eqnarray418

Now we shall give some examples of the application of recursion induction to proving theorems about functions of symbolic expressions. The rest of these proofs depend on an acquaintance with the Lisp formalism.

We start with the basic identities.

displaymath1498

Let us define the concatenation tex2html_wrap_inline4002 of two lists x and y by the formula

displaymath4008

Our first objective is to show that concatenation is associative.

Th. 11. tex2html_wrap_inline4012

Proof

We shall show that tex2html_wrap_inline4016 and tex2html_wrap_inline4018 satisfy the functional equation

displaymath4020

First we establish an auxiliary result:

displaymath4022

Now we write

eqnarray438

and

displaymath4024

From these results it is obvious that both tex2html_wrap_inline4016 and tex2html_wrap_inline4028 satisfy the functional equation.

eqnarray444

Let tex2html_wrap_inline4030

tex2html_wrap_inline4032 NIL satisfies this equation. We can also write for any list x

eqnarray458

which also satisfies the equation.

Next we consider the function reverse[x] defined by

displaymath2008

It is not difficult to prove by recursion induction that

displaymath2010

and

displaymath4042

Many other elementary results in the elementary theory of numbers and in the elementary theory of symbolic expressions are provable in the same straightforward way as the above. In number theory one gets as far as the theorem that if a prime p divides ab, then it divides either a or b. However, to formulate the unique factorization theorem requires a notation for dealing with sets of integers. Wilson's theorem, a moderately deep result, can be expressed in this formalism but apparently cannot be proved by recursion induction.

One of the most immediate problems in extending this theory is to develop better techniques for proving that a recursively defined function converges. We hope to find some based on ambiguous functions. However, Godel's theorem disallows any hope that a complete set of such rules can be formed.

The relevance to a theory of computation of this excursion into number theory is that the theory illustrates in a simple form mathematical problems involved in developing rules for proving the equivalence of algorithms. Recursion induction, which was discovered by considering number theoretic problems, turns out to be applicable without change to functions of symbolic expressions.


next up previous
Next: Relation to Other Formalisms Up: Properties of Computable Functions Previous: Formal Properties of Conditional

John McCarthy
Wed May 1 17:18:52 PDT 1996