This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
December 1976 (vol. 2 no. 4)
pp. 244-252
C. Reynolds, Department of Computer Sciences, University of Texas Austin
We will consider the inductive mechanisms in five techniques for verifying iterative/recursive program structures: inductive assertion, predicate transformers, subgoal induction, computation induction, and structural induction. We will discover that all five techniques can be justified by a single theorem about inductive proof techniques. We will also show that all five techniques face the problem of finding properties that will carry an induction. Such properties are called inductive sets. We will see that the inductive sets of the five techniques are easily related to one another and that a program proof by any of the techniques can be easily converted to a proof by any of the other techniques. Our conclusion is that computer programs simply are inductive definitions of the functions they compute. Induction is the only method by which they can be proved. The problems of induction are therefore unavoidable.
Index Terms:
verification techniques, Computation induction, induction, inductive assertion, inductive sets, predicate transformers, program correctness, structural induction, subgoal induction
Citation:
C. Reynolds, R.T. Yeh, "Induction as the Basis for Program Verification," IEEE Transactions on Software Engineering, vol. 2, no. 4, pp. 244-252, Dec. 1976, doi:10.1109/TSE.1976.233829
Usage of this product signifies your acceptance of the Terms of Use.