Summary
Dijkstra's predicate transformer for specifying the semantics of guarded commands set and proving the total correcness of a program is generalized to a programming language with the go to statement. The concept of general predicate transformer and its properties are introduced. We explore the approach of proving the correctness — preserving property of some common program transformations that are used in the compiling process.
Similar content being viewed by others
References
Alagic, S., Arbib, M.A.: The Design of Well-Structured and Correct Programs. Berlin, Heidelberg, New York: Springer 1978
Dijkstra, E.W.: A Discipline of Programming. New Jersey: Prentice-Hall 1976
Dijkstra, E.W.: Guarded Commands, Non-Determinacy and Formal Derivation of Programs. CACM 18(8) 453–457 (1975)
Knuth, D.E.: Structured Programming with Go To Statements. ACM Computing Survey 6(4) 261–301 (1974)
Lamport, L.: The “Hoare Logic” of Concurrent Programs. Acta Informat. 14, 21–40 (1980)
Russell, B.: Correctness of the Compiling Process Based on Axiomatic Semantics. Acta Informat. 14, 1–20 (1980)
Scott, D.: Outline of a Mathematical Theory of Computation Proceedings of Fourth Annual Princeton Conference on Information Science and Systems, pp. 169–176, 1970
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
He, J. General predicate transformer and the semantics of a programming language with go to statement. Acta Informatica 20, 35–57 (1983). https://doi.org/10.1007/BF00264294
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00264294