Induction Recursion
Induction Recursion
1 Introduction
In this material we will focus on two alternative aapraches to the classification of computable functions: machine based and
the functional one. The former is based on the Turing Machine framework while the later set out to capture the concept
of computability by considering the class class of functions over N that result from a set of basic functions and functional
composition operators.
In section 4 we review the basic elements underlying this approach, developed by Gödel and Kleene, and called Recur-
sive Function Theory. Before that presentation, some concepts about recursion proceedures shall be discussed.
2 Peano’s Axioms
Given the set N of undefined objects called natural numbers, and a function s : N → N,where s (n) is called the successor
of n. The function s satisfies the following axioms [6]:
P1) The function s in injective.
P2) N − s (N) has only one element.
P3. Induction Principle: If X ⊂ N is a subset such that 0 ∈ X and, for all n ∈ X we have s (n) ∈ X, then X = N.
The Induction Principle can be also stated in another way which is more suitable in practice. Before to re-write it, let
us consider any property P concerning natural numbers as a function:
P : N → {0, 1} ,
such that P (n) = 1 if P is true for a given n and P (n) = 0 otherwise. So, we can re-write the axiom P3) in the following
way:
Induction Principle: Let us consider P as a property related to natural numbers. If P (0) = 1, and starting from the
hypotesis that P (k) = 1, it is possible to show that P (k + 1) = 1 also, then we can conclude that P (n) = 1, ∀n ∈ N.
Deomonstration by Mathematical Induction: It is any demonstration in which the Induction Principle is applied.In
this case, the demonstration follows the next steps:
(a) We show that P (0) = 1,
(b) As the inductive hypothesis, we assume that P (k) = 1. Then, using this hypothesis we try to prove that P (k + 1) =
1 also.
(c) From (a), (b), and by the Induction Principle we conclude that P (n) = 1, ∀n ∈ N.
Example: Prove by mathematical induction that:
(a − 1) 1 + a + a2 + ... + an = an+1 − 1.
Theorem: The set N is well-ordered; that is, every nonempty subset of N has a least element.
3 Axioms and Computer Science
The Peano ’s Axioms, plus set N, composes a formal (axiomatic) system. We can say that in an Axiomatic System there are
objects, which existence is assumed, and a finite number of statements about the objects, the axioms [4].
We always hope that an axiomatic system has the following properties:
(A1) Complete: If and only if for all statement S at least one of S, ˜S is a theorem;
(A2) Consistent: If and only if for all statement S at most one of S, ˜S is a theorem;
Until the beginning of the XX century it was a belief that we could solve any well defined problem. So, if anyone did not
have success to demonstrate some property, we should expect that the chosen hypotheses were not suitable or some mistake
was made. Such belief in the axiomatic method was the starting point for Hilbert ’s work in computer science. Hilbert asked
whether or not there existed some algorithm which could be used, in principle, to solve all the problems of mathematics. He
expected that the answer to this question would be yes. However, the answer to Hilbert’s problem turned out to be no: there
is no algorithm to solve all mathematical problems. Such demonstration was due Church and Turing and is a remarkable
work in the theory of algorithms, and consequently, for the modern theory of computer science (see [7], Chapter 3)
Besides, the development of a precise formulation of the concept of mathematical proof, culminated with the Kurt Gödel
’s results on completeness and consistency in forma theories. These establish the existence, in any sufficiently powerful
theory, of mathematical statements that are (self-evidently) true but can not be proved to be so. Gödel ’s work was also
motivated by the Hilbert’s problem. In 1931 Gödel published his famous Incompleteness Theorem, that essentially shows
that no set of axioms with properties (A1) and (A2) above could exist ; and thus, Hilbet’s algorithm could not be written.
Interested reader shall see references, [7], Chapter 3, and [3] to complete this discussion.
h : Nm → N, (4)
h (x) = g (f1 (x) , f2 (x) , ..., fk (x)) ,
h (x1 , ..., xn ) = min {y; f (x1 , ..., xn , y) = 0 and if z ≤ y ⇒ f (x1 , ..., xn , z) exists} (7)
is said to be defined by minimization from f and is also partial recursive.
The reader can find more details in [3]
We shall made some considerations about the minimization. We are going to show that we need this concept in order to
include the factorial function in the PRF set. So, let us consider the partial recursive function:
f : N → N,
f (n) = 1 − n, n ≤ 1, (8)
f (n) = 0, otherwise.
h : · → N, (10)
h = 1.
From this fact, using also the axiom that successor is a PRF and the fact that the product function is a PRF (Exercise),
it follows that the function:
g : N2 → N,
f (0) = h, (12)
7 Exercises
1) By using induction, prove that:
1.a) for all n ∈ N
n
1 + 2 + 3 + ... + n = (n + 1) .
2
1.b) for all positive integer n, 5n − 1 is divided by 4.
1.c) for all n ∈ N
xn+1 − 1
1 + x + x2 + ... + xn = .
x−1
1.d)
1 1 1 1 n (n + 3)
+ + + ... =
1·2·3 2·3·4 3·4·5 n · (n + 1) · (n + 2) 4 (n + 1) (n + 2)
2) Based on the axioms of the PRFs, demonstrate that the following functions are PRF:
2.a) f : N → N; f (n) = 1 (constant ”1” function)
2.b) Addition of two natural numbers;
2.c) Product of two natural numbers;
2.d) P ower (n, m) = nm ;
3) Prove that the function given by expression (11) is a PRF.
4) Show, by induction, that the scheme given by expressions (12)-(13) defines the factorial f (k) = k!, k ∈ N and
k ≥ 0.
References
[1] S. Bains and J. Johnson. Noise, physics, and non-turing computation. www.sunnybains.com/jcis2000.pdf, 2000.
[2] David Deutsch. Quantum theory, the Church-Turing principle and the universal quantum computer. Proceedings of the
Royal Society of London Ser. A, A400:97–117, 1985.
[3] P.E. Dunne. Computability Theory: Concepts and Applications. Ellis Horwood, 1991.
[4] R. Garnier and J. Taylor. Discrete Mathematics for New Technology. Adam Hilger, 1992.
[5] Gilson A. Giraldi, Adilson V. Xavier, Antonio L. Apolinario Jr., and Paulo S. Rodrigues. Lattice gas cellular automata
for computational fluid animation. Technical report, 2005.
[6] E. L. Lima. Curso de Análise, volume 2. Livros Técnicos e Cientı́ficos Editora S.A., 1985.
[7] M. Nielsen and I. Chuang. Quantum Computation and Quantum Information. Cambridge University Press., December
2000.
[8] G. Paun, G. Rozenberg, and A. Salomaa. DNA computing : new computing paradigms. Springer, Berlin, New York,
1998.
[9] T.A. Sudkamp. Languages and Machines: An Introduction to the Theory of Computer Science. Addison-Wesley Pub-
lishing Company, INC., 1988.