|
ABSTRACT
A proof method, subgoal induction, is presented as an alternative or supplement to the commonly used inductive assertion method. Its major virtue is that it can often be used to prove a loop's correctness directly from its input-output specification without the use of an invariant. The relation between subgoal induction and other commonly used induction rules is explored and, in particular, it is shown that subgoal induction can be viewed as a specialized form of computation induction. A set of sufficient conditions are presented which guarantee that an input-output specification is strong enough for the induction step of a proof by subgoal induction to be valid.
REFERENCES
Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
| |
1
|
Basu, S., and Misra, J. Proving loop programs. IEEE Trans. Software Eng. SE-1, 1 (March 1975), 76-86.
|
 |
2
|
|
| |
3
|
Burstall, R.M. Proving properties of programs by structural induction. Computer J. 12, 1 (Feb. 1969), 41-48.
|
| |
4
|
Floyd, R.W. Assigning meanings to programs. Moth. Aspects of Computer Science, J.T. Schwartz, Ed., Amer. Math. Soc., Providence, R.I., 1967, pp. 19-32.
|
| |
5
|
German, S.M., and Wegbreit, B. A synthesizer of inductive assertions. IEEE Trans. Software Eng., SE-1, 1 (March 1975), 68-75.
|
 |
6
|
|
| |
7
|
Hoare, C.A.R. Procedures and parameters: an axiomatic approach. Lecture Notes in Mathematics 188, E. Engeler, Ed., Springer-Verlag, 1971.
|
| |
8
|
|
| |
9
|
McCarthy, J. A basis for a mathematical theory of computation. In Computer Programming and Formal Systems, P. Braffort and D.S. Hirschberg, Eds., North-Holland, Amsterdam, 1963, pp. 33-70.
|
| |
10
|
McCarthy, J. and Painter, J.A. Correctness of a compiler for arithmetic expressions. Mathematical Aspects of Computer Science, J.T. Schwartz, Ed., Amer. Math. Sot., Providence, R.I., 1967, pp. 33-41.
|
 |
11
|
|
 |
12
|
|
| |
13
|
|
 |
14
|
|
 |
15
|
|
| |
16
|
Moore, J.S. Introducing prog into the pure lisp theorem prover. CSL-74-3, Xerox Palo Alto Res. Center, Palo Alto, Calif. (Dec. 1974).
|
| |
17
|
Topor, R.W. Interactive program verification using virtual programs. Ph.D. Th., University Of Edinburgh, Edinburgh, 1975.
|
| |
18
|
Waldinger, R.J., and Levitt, K.N. Reasoning about programs. Artificial Intelligence 5, 3 (Fall 1974), 235-316.
|
| |
19
|
Wegbreit, B. Complexity of synthesizing inductive assertions. Comptr. Sci. Lab., Xerox Palo Alto Res. Center, Palo Alto, Calif., Jan. 1975.
|
| |
20
|
Manna, Z. Mathematical theory of partial correctness. J. Computer System Sci. 5, 3 (June 1971), 239-253.
|
|