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.
This is a preview of subscription content, log in to check access.
Buy single article
Instant access to the full article PDF.
Price includes VAT for USA
Subscribe to journal
Immediate online access to all issues from 2019. Subscription will auto renew annually.
This is the net price. Taxes to be calculated in checkout.
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.
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.
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).
About this article
Cite this article
Naur, P. Proof of algorithms by general snapshots. BIT 6, 310–316 (1966). https://doi.org/10.1007/BF01966091