Skip to main content

A dynamic logic for program verification

  • Conference paper
  • First Online:
Logic at Botik '89 (Logic at Botik 1989)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 363))

Included in the following conference series:

Abstract

The paper presents an effective dynamic logic of programs. Its novelty lies in the "approximation" of infinitary rules by induction. Although this logic is no longer complete, it is still strong enough to simulate many well-known logics for program verification. Compared with other logics it has the advantage that it strengthens the role of dynamic reasoning and thus makes proofs more natural. An interactive verification system using this logic is outlined.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Andreka, H., Nemeti, I., Sain, I. A Complete Logic for Reasoning about Programs via Nonstandard Model Theory, Part I, II, Theoretical Computer Science 17, pp. 139–212, 259–278

    Google Scholar 

  2. Bergstra, J. A., Klop, J. W. Proving Program Inclusion Using HOARE's Logic, Theoretical Computer Science 30 (1984), pp. 1–48

    Google Scholar 

  3. de Bruijn, N.G. A Survey of the Project AUTOMATH. Essays in Combinatory Logic, Lambda Calculus, and Formalism, J.P. Seldin and J.R. Hindley (eds.) Academic Press (1980), pp 589–606

    Google Scholar 

  4. Burstall, R.M. Program Proving as Hand Simulation with a little Induction. Information Processing 74, North-Holland Publishing Company (1974)

    Google Scholar 

  5. Constable, R./Knoblock, T./Bates, J. Writing Programs That Construct Proofs. Journal of Automated Reasoning, Vol.1, No.3, pp 285–326 (1985)

    Google Scholar 

  6. Damm, W./Josko, B. A sound and relatively* complete Hoare-logic for a language with higher type procedures, Acta Informatica 20 (1983), pp. 59–101

    Google Scholar 

  7. Goldblatt, R. Axiomatising the Logic of Computer Programming. Springer LNCS 130 (1982)

    Google Scholar 

  8. Gries, D. The Science of Programming, Springer-Verlag (1981)

    Google Scholar 

  9. Harel, D. First Order Dynamic Logic. Springer LNCS 68 (1979)

    Google Scholar 

  10. Harel, D. Dynamic Logic. Handbook of Philosophical Logic, D. Gabbay and F. Guenther (eds.), Reidel (1984), Vol. 2, 496–604

    Google Scholar 

  11. Hailpern, B. Keeping a Foot on the Ground, Logics of Programs, Proceedings 81, LNCS 131, pp. 122–123

    Google Scholar 

  12. Hoare, C.A.R. An axiomatic basis for computer programming. Comm. ACM 12 (1969), pp. 576–580, 583

    Google Scholar 

  13. Heisel,M./Reif, W./Stephan, W. A Functional Language to Construct Proofs. Interner Bericht 1/86, Fakultät für Informatik, Universität Karlsruhe (1986)

    Google Scholar 

  14. Heisel,M./Reif, W./Stephan, W. Program Verification by Symbolic Execution and Induction. Proc. 11-th German Workshop on Artificial Intelligence, K. Morik (ed), Informatik Fachberichte 152, Springer-Verlag (1987)

    Google Scholar 

  15. Heisel, M./Reif, W./Stephan, W. Implementing Verification Strategies in the KIV System. Proc. 9-th International Conference on Automated Deduction, E. Lusk/R. Overbeek (eds), Springer LNCS 310 (1988), pp. 131–140

    Google Scholar 

  16. Heisel,M./Reif, W./Stephan, W. Reasoning about imperative programs with dynamic logic. Submitted for publication.

    Google Scholar 

  17. Manna, Z. Mathematical Theory of Computation. McGraw Hill (1974)

    Google Scholar 

  18. Manna, Z. Verification of Sequential Programs: Temporal Axiomatization. Theoretical Foundations of Programming Methodology, Nato Advanced Study Institutes Series C91, D. Reidel, (1981)

    Google Scholar 

  19. Olderog, E. R. Correctness of Programs with Pascal-like Procedures without Global Variables, Theoretical Computer Science 30 (1984), pp. 49–90

    Google Scholar 

  20. Pasztor, A. Non-standard Algorithmic and Dynamic Logic, Journal of Symbolic Computation (86) 2, pp. 59–81.

    Google Scholar 

  21. Pnueli, A. The Temporal Logic of Programs, The 18th Annual Symposium on Foundations of Computer Science (Providence, Rhode Island), pp. 46–57, IEEE (1977)

    Google Scholar 

  22. Salwicki, A. Formalized Algorithmic Languages. Bull. Acad. Pol. Sci., Ser. Sci. Math. Astr. Phys. Vol. 18, No. 5 (1970)

    Google Scholar 

  23. Stephan, W. A Logic for Recursive Programs. Interner Bericht 5/85, Fakultät für Informatik, Universität Karlsruhe (1985)

    Google Scholar 

  24. Stephan, W. Axiomatising Recursive Procedures in Dynamic Logic. Forthcoming (1989)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Albert R. Meyer Michael A. Taitslin

Rights and permissions

Reprints and permissions

Copyright information

© 1989 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Heisel, M., Reif, W., Stephan, W. (1989). A dynamic logic for program verification. In: Meyer, A.R., Taitslin, M.A. (eds) Logic at Botik '89. Logic at Botik 1989. Lecture Notes in Computer Science, vol 363. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-51237-3_12

Download citation

  • DOI: https://doi.org/10.1007/3-540-51237-3_12

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-51237-0

  • Online ISBN: 978-3-540-46180-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics