Some applications of topology to program semantics
The relationship between programs and the set of partial correctness assertions that they satisfy, constitutes a Galois connection. The topology resulting from this Galois connection is closely related to the Lindenbaum topology for the language in which these partial correctness assertions are stated. This relationship provides us with a tool for understanding the incompleteness of Hoare Logics and for answering certain natural questions about the connection between the relational semantics and the partial correctness assertion semantics for programs.
Unable to display preview. Download preview PDF.
- [B]G. Birkhoff, Lattice Theory, Amer. Math. Soc. Colloq. Publications vol. 25 (1940).Google Scholar
- [BTT]J. Bergstra, J. Tiuryn and J. Tucker, Correctness Theories and Program Equivalence, Stichting Mathematisch Centrum, Amsterdam (1979)Google Scholar
- [C]P. M. Cohn, Universal Algebra, Harper and Row (1965).Google Scholar
- [GM]I. Greif and A. Meyer, Specifying the Semantics of While Programs, 6th Annual Symposium on Principles of Programming Languages, ACM (1979), pp. 180–189. To appear in TOPLAS.Google Scholar
- [HL]A. Hoare and P. Lauer, Consistent and Complementary Formal Theories of the Semantics of Programming Languages, Acta Informatica 3 (1974) pp. 135–155.Google Scholar
- [LPP]D. Luckham, D. Park and M. Paterson, On Formalised Computer Programs, JCSS 3 (1970) pp. 220–249.Google Scholar
- [MH]A. Meyer and J. Halpern, Axiomatic Definitions of Programming Languages: A Theoretical Assessment, 7th Annual Symposium on Principles of Programming Languages, ACM (1980), 202–212.Google Scholar
- [MP]A. Meyer and R. Parikh, Definability in Dynamic Logic, Proc. 12th Annual ACM Symposium on Theory of Computation (1980) pp. 1–7. To appear in JCSS.Google Scholar
- [O]O. Ore, Galois Connexions, Trans. Amer. Math Soc. 55 (1944) pp. 493–513.Google Scholar
- [Pa]R. Parikh, Propositional Logics of Programs — Systems, Models and Complexity, 7th Annual Symposium on Principles of Programming Languages, ACM (1980), pp. 186–192.Google Scholar