Proving total correctness of programs in weak second-order logic
A purely syntactical but nevertheless handy definition of the predicate transformer wp is presented. Weak second-order logic is used to formalize the weakest precondition for an imperative programming language similar to Dijkstra's language of guarded commands. It is demonstrated how to express and prove important properties of wp in this logic. Here a new normal form representation for wp plays an important rôle.
KeywordsImperative programming language weakest preconditions weak second-order logic nondeterminism guarded commands normal form theorem
Unable to display preview. Download preview PDF.
- [Back 81]Back R.J.R.: Proving total correctness of nondeterministic programs in infinitary logic. Acta Informatica 15, 233–249 (1981)Google Scholar
- [Dijkstra 75]Dijkstra E.W.: Guarded commands, nondeterminacy and formal derivation of programs. Comm. ACM 18, 8, 453–457 (1975)Google Scholar
- [Dijkstra 76]Dijkstra E.W.: A discipline of programming. Engelwood-Cliffs: Prentice-Hall (1976)Google Scholar
- [Ehrig Mahr 85]Ehrig H., Mahr B.: Fundamentals of algebraic specifications 1. Equations and initial semantics. EATCS Monographs in Theoretical Computer Science, Vol. 6, Berlin: Springer (1985)Google Scholar
- [Gries 81]Gries D.: The science of programming. Texts and Monographs in Computer Science, New York: Springer (1981)Google Scholar
- [Hoare 69]Hoare C.A.R.: An axiomatic basis for computer programming. Comm. ACM 12, 10, 576–583 (1969)Google Scholar
- [Karp 64]Karp C.R.: Languages with expressions of infinite length. Amsterdam: North-Holland (1964)Google Scholar
- [Keisler 71]Keisler H.J.: Model theory of infinitary logic. Amsterdam: North-Holland (1971)Google Scholar
- [Loeckx Sieber 84]Loeckx J., Sieber K.: The foundations of program verification. Stuttgart: Teubner (1984)Google Scholar
- [Platek 90]Platek R.A.: Making computers safe for the world: An introduction to proofs of programs. Part I. In: Logic and Computer Science, Lecture Notes in Mathematics 1429, Berlin: Springer (1990)Google Scholar
- [Tucker Zucker 88]Tucker J.V., Zucker J.I.: Program correctness over abstract data types with error-state semantics. CWI Monographs 6, Amsterdam: North-Holland (1988)Google Scholar