A constructive approach to the question of proofs of algorithms is to consider proofs that an object resulting from the execution of an algorithm possesses certain static characteristics. It is shown by an elementary example how this possibility may be used to prove the correctness of an algorithm written in ALGOL 60. The stepping stone of the approach is what is called General Snapshots, i.e. expressions of static conditions existing whenever the execution of the algorithm reaches particular points. General Snapshots are further shown to be useful for constructing algorithms.
Key wordsAlgorithm proof computer programming
Unable to display preview. Download preview PDF.
- The basic question of proof has so far been ignored in data processing to an incredible degree. A review of recent work is given in: J. McCarthy,Problems in the Theory of Computation, Proc. IFIP Congress 65, Vol. 1, 1965, pp. 219–222.Google Scholar
- Most of the work described there is heavily oriented towards the basic theoretical problems of computation. The General Snapshots of the present chapter are related to the state vectors of J. McCarthy: J. McCarthy,A Formal Description of a Subset of ALGOL, Proc. of a Conference on Formal Language Description Languages, Vienna, 1964.Google Scholar
- However, the present approach, which is directly applicable in proving and constructing practical programs, is believed to be new. Similar concepts have been developed independently by Robert W. Floyd (unpublished paper, communicated privately).Google Scholar