Skip to main content

Formalizing Dijkstra

  • Refereed Papers
  • Conference paper
  • First Online:
Theorem Proving in Higher Order Logics (TPHOLs 1998)

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

Included in the following conference series:

  • 120 Accesses

Abstract

We present a HOL formalization of the foundational parts of Dijkstra's classic monograph “A Discipline of Programming≓. While embedding programming language semantics in theorem provers is hardly new, this particular undertaking raises several interesting questions, and perhaps makes an interesting supplement to the monograph. Moreover, the failure of HOL's first order proof tactic to prove one ‘theorem’ indicates a technical error in the book.

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. R. Back. Correctness Preserving Program Transformations: Proof Theory and Applications, Volume 131 of Mathematical Centre Tracts. Mathematical Centre, Amsterdam, 1980.

    Google Scholar 

  2. R. DeMillo, R. Lipton, and A. Perlis. Social processes and proofs of theorems and programs. Communications of the ACM, 22, 271–280, 1979.

    Article  Google Scholar 

  3. E. W. Dijkstra. Trip report visit ETH Zurich, EWD474, 3–4 February 1975. See [8], pp. 95–98.

    Google Scholar 

  4. E. E. Dijkstra. A Discipline of Programming. Prentice-Hall, 1976.

    Google Scholar 

  5. E. W. Dijkstra. Formal techniques and sizeable programs, EWD563. See [8], pp. 205–214, 1976. Paper prepared for Symposium on the Mathematical Foundations of Computing Science, Gdansk 1976.

    Google Scholar 

  6. E. W. Dijkstra. A somewhat open letter to EAA or: Why I proved the boundedness of the nondeterminacy in the way I did, EWD614, 1977. See [8], pp. 284–287.

    Google Scholar 

  7. E. W. Dijkstra. On a political pamphlet from the middle ages. ACM SIGSOFT, Software Engineering Notes, 3, 14, 1978.

    Article  Google Scholar 

  8. E. W. Dijkstra (ed.). Selected Writings on Computing: A Personal Perspective. Springer-Verlag, 1982.

    Google Scholar 

  9. M. J. C. Gordon. Mechanizing programming logics in higher order logic. In G. Birtwistle and P. A. Subrahmanyam (eds.), Current Trends in Hardware Verification and Automated Theorem Proving, pp. 387–439. Springer-Verlag, 1989.

    Google Scholar 

  10. J. Grundy. Predicative programming — a survey. In D. BjØrner, M. Broy, and I. V. Pottosin (eds.), Formal Methods in Programming and Their Applications: Proceedings of the International Conference, Volume 735 of Lecture Notes in Computer Science, Academgorodok, Novosibirsk, Russia, pp. 8–25. Springer-Verlag, 1993.

    Google Scholar 

  11. W. H. Hesselink. Programs, Recursion and Unbounded Choice, Volume 27 of Cambridge Tracts in Theoretical Computer Science. Cambridge University Press, 1992.

    Google Scholar 

  12. J. J. Joyce and C. Seger (eds.). Proceedings of the 1993 International Workshop on the HOL theorem proving system and its applications, Volume 780 of Lecture Notes in Computer Science, UBC, Vancouver, Canada. Springer-Verlag, 1993.

    Google Scholar 

  13. D. Syme. Reasoning with the formal definition of Standard ML in HOL. See [12], pp. 43–60.

    Google Scholar 

  14. M. VanInwegen and E. Gunter. HOL-ML. See [12], pp. 61–74.

    Google Scholar 

  15. J. von Wright, J. Hekanaho, P. Luostarinen, and T. Långbacka. Mechanizing some advanced refinement concepts. Formal Methods in System Design, 3, 49–82, 1993.

    Article  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jim Grundy Malcolm Newey

Rights and permissions

Reprints and permissions

Copyright information

© 1998 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Harrison, J. (1998). Formalizing Dijkstra. In: Grundy, J., Newey, M. (eds) Theorem Proving in Higher Order Logics. TPHOLs 1998. Lecture Notes in Computer Science, vol 1479. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0055136

Download citation

  • DOI: https://doi.org/10.1007/BFb0055136

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-64987-8

  • Online ISBN: 978-3-540-49801-8

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics