Logic of Programs 1985: Logics of Programs pp 190-195 | Cite as

Partial-correctness theories as first-order theories

  • Daniel Leviant
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 193)


We show that any predicate transformer is rendered (semantically) by a first-order theory, provided it is propositionally closed, i.e. closed under the rules of Consequence, Conjunction and Disjunction.

It follows that fundamental results in the metamathematics of first-order theories can be applied to propositionally closed predicate transformers, and therefore also to partial-correctness theories of programs. In particular, any such theory is complete for the Hoare semantics it induces, by Godel's Strong Completeness Theorem. From this is also follows that a predicate transformer is a partial-correctness theory of some I/O relation iff it is propositionally closed [Par83].


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BT83]
    Jan A. Bergstra and John V. Tucker, The axiomatic semantics of programs based on Hoare's Logic; Preprint, Technical Report 1W 236/83, September 1983, Mathematisch Centrum, Amsterdam.Google Scholar
  2. [Dij76]
    Edsger W. Dijkstra, A Discipline of Programming; Prentice-Hall, Englewood Cliffs (1976) xvii+217pp.Google Scholar
  3. [End70]
    Herbert B. Enderton, A Mathematical Introduction to logic; Academic Press, New York (1970) xiii+295pp.Google Scholar
  4. [HL74]
    C.A.R. Hoare and P. Lauer, Consistent and complementary formal theories of the semantics of programming languages; Acta Informatica 3 (1974) 135–155.Google Scholar
  5. [Hoa69]
    C.A.R. Hoare, An axiomatic basis for computer programming; Communications of the ACM 12 (1969) 576–580.Google Scholar
  6. [MH82]
    Albert Meyer and Joseph Halpern, Axiomatic definition of programming languages: a theoretical assessment, Journal of the ACM 29 (1982) 555–576.Google Scholar
  7. [HW73]
    C.A.R. Hoare and Nicolas Wirth, An axiomatic definition of the programming language PASCAL; Acta Informatica 2 (1973) 335–355.Google Scholar
  8. [Lau72]
    P. Lauer. Consistent and complementary formal theories of the semantics of programming languages; PhD Thesis, Queens University, Belfast (1972).Google Scholar
  9. [Man69]
    Zohar Manna, The correctness of programs; Journal of Computer and Systems Science 3 (1969) 119–127.Google Scholar
  10. [Par83]
    Rohit Parikh, Some applications of topology to program semantics; Math. Systems Theory 16 (1983) 111–131.Google Scholar
  11. [Sch77]
    Kurt Schutte, Proof Theory; Springer-Verlag, Berlin (1977) xii+299pp.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1985

Authors and Affiliations

  • Daniel Leviant
    • 1
  1. 1.Department of Computer ScienceCarnegie-Mellon UniversityUSA

Personalised recommendations