Acta Informatica

, Volume 14, Issue 1, pp 21–37 | Cite as

The ‘Hoare logic’ of concurrent programs

  • Leslie Lamport


Hoare's logical system for specifying and proving partial correctness properties of sequential programs is generalized to concurrent programs. The basic idea is to define the assertion {P} S {Q} to mean that if execution is begun anywhere in S with P true, then P will remain true until S terminates, and Q will be true if and when S terminates. The predicates P and Q may depend upon program control locations as well as upon the values of variables. A system of inference rules and axiom schemas is given, and a formal correctness proof for a simple program is outlined. We show that by specifying certain requirements for the unimplemented parts, correctness properties can be proved without completely implementing the program. The relation to Pnueli's temporal logic formalism is also discussed.


Computational Mathematic Control Location System Organization Program Control Logic Formalism 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ashcroft, E.A.: Proving assertions about parallel programs. J. Comput. Systm. Sci. 10, 110–135 (1975)Google Scholar
  2. 2.
    Floyd, R.W.: Assigning meanings to programs. Proc. A.M.S. Symp. in Applied Math., Amer. Math. Soc. pp. 19–31, 1967Google Scholar
  3. 3.
    Hoare, C.A.R.: An axiomatic basis for computer programming. Comm. ACM 12, 576–583 (1969)Google Scholar
  4. 4.
    Lamport, L.: Proving the correctness of multiprocess programs. IEEE Trans. Soft. Engrg. SE-3, 2, 125–143 (1977)Google Scholar
  5. 5.
    Lamport, L.: Sometime is sometimes not never: On the temporal logic of programs. Proceedings of the Seventh Annual Symposium on Principles of Programming Languages, ACM SIGACTSIGPLAN, January 1980Google Scholar
  6. 6.
    Owicki, S., Gries, D.: An axiomatic proof technique for parallel programs. Acta Informat. 6, 319–340 (1976)Google Scholar
  7. 7.
    Pnueli, A.: The temporal logic of programs. Proc. of the 18th Symposium on the Foundations of Computer Science, ACM, November 1977Google Scholar

Copyright information

© Springer-Verlag 1980

Authors and Affiliations

  • Leslie Lamport
    • 1
  1. 1.SRI International Computer Science LaboratoryMenlo ParkUSA

Personalised recommendations