Proving properties of programs by means of predicate logic
In this paper a method of proving properties of programs is presented. It consists in associating with any program under consideration a formal theory which describes all executions of this program. Such a theory can be constructed by introducing a notion of history, and by refering other objects which take part in a program execution to histories of this execution. Appropriate axioms and the properties which are to be proved can be then formulated as formulas of a natural predicate logic language. This enables one to consider various program properties as theorems of the resulting theory, and to prove them by usual means of predicate logic. Besides, it is possible to formulate and prove properties which can not be formulated in other methods.
Unable to display preview. Download preview PDF.
- 1.de Bakker, J.W., Recursive procedures. Proc. M-25 Informatica Symp., Math. Center Tracts 37, Amsterdam, 1971.Google Scholar
- 2.Blikle, A. and Mazurkiewicz, A., An algebraic approach to the theory of programs, algorithms, languages and recursiveness. Proc. of Symp. and Summer School on MFCS (Mathematical Foundations of Computer Science), Warsaw-Jabłonna, August 21–27, 1972.Google Scholar
- 3.Blikle, A., An extended approach to mathematical analysis of programs. CC PAS Reports 169, 1974.Google Scholar
- 4.Clint, M., Program proving: Coroutines. Acta Informatica 2(1973)Google Scholar
- 5.Dahl, O.J., An approach to correctness proofs of semicoroutines. Proc. of Symp. and Summer School on MFCS, Warsaw-Jadwisin, June 17–22, 1974, Springer-Verlag, Berlin, 1975, pp. 157–174.Google Scholar
- 6.Mazurkiewicz, A., Recursive algorithms and formal languages. Bull. Acad. Polon. Sci., Sér. Sci. Math. Astronom. Phys. 20(1972).Google Scholar
- 7.Nivat, M., Langages algébriques sur le magma libre et sémantique des schémas de programmes. Proc. IRIA Symp. on Automata, Formal Languages and Programming 1972, North-Holland, Amsterdam. pp. 293–308.Google Scholar
- 8.Rasiowa, H., ω+-valued algorithmic logic as a tool to investigate procedures. Proc. of Symp. and Summer School on MFCS, Warsaw-Jadwisin, June 17–22, 1974, Springer-Verlag, Berlin, 1975, pp. 423–450.Google Scholar
- 9.de Roever, W.P., Call-by-value versus call-by-name: a proof theoretic comparison. ibid., pp. 451–463.Google Scholar
- 10.Salwicki, A., Procedures, formal computations and models. ibid, p. 464–484.Google Scholar
- 11.Scott, D. and Strachey, Ch., Toward a mathematical semantics for computer languages. Techn. Monogr. PRG-4, Oxford University, 1970.Google Scholar
- 12.Winkowski, J., A natural method of proving properties of programs. (to appear in CC PAS Reports).Google Scholar