Skip to main content

The Formal System of Dijkstra and Scholten

  • Chapter
  • First Online:
Logic, Rewriting, and Concurrency

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 9200))

Abstract

The logic of E.W. Dijkstra and C.S. Scholten has been shown to be useful in program correctness proofs and has attracted a substantial following in research, teaching, and programming. However, there is confusion regarding this logic to the point in which, for some time, it was not considered a logic, as logicians use the word. The main objections arise from the fact that: (i) symbolic manipulations seem to be based on the meaning of the terms involved, and (ii) some notation and the proof style of the logic are different, to some extent, from those found in the traditional use of logic. This paper presents the Dijkstra-Scholten logic as a formal system, and explains its proof-theoretic foundations as a formal system, thus avoiding any confusion regarding term manipulation, notation, and proof style. The formal system is shown to be sound and complete, mainly, by using rewriting and narrowing based decision and semi-decision procedures for, respectively, propositional and first-order logic previously developed by C. Rocha and J. Meseguer.

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

Access this chapter

eBook
USD 16.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Backhouse, R.: Program Construction: Calculating Implementations from Specifications. Wiley, New York (2003)

    Google Scholar 

  2. Bijlsma, L., Nederpelt, R.: Dijkstra-Scholten predicate calculus: concepts and misconceptions. Acta Informatica 35(12), 1007–1036 (1998)

    Article  MathSciNet  MATH  Google Scholar 

  3. Bohórquez, J.: Intuitionistic logic according to Dijkstra’s calculus of equational deduction. Notre Dame J. Formal Log. 49(4), 361–384 (2008)

    Article  MATH  Google Scholar 

  4. Bohórquez, J.: An elementary and unified approach to program correctness. Formal Aspects Comput. 22(5), 611–627 (2010)

    Article  MATH  Google Scholar 

  5. Bruni, R., Meseguer, J.: Semantic foundations for generalized rewrite theories. Theoret. Comput. Sci. 360(1–3), 386–414 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  6. Dijkstra, E.: A Discipline of Programming. Prentice-Hall Series in Automatic Computation. Prentice-Hall, Upper Saddle River (1976)

    MATH  Google Scholar 

  7. Dijkstra, E., Scholten, C.: Predicate Calculus and Program Semantics. Texts and Monographs in Computer Science. Springer-Verlag, New York (1990)

    Book  MATH  Google Scholar 

  8. Meseguer, J., Durán, F.: On the and coherence properties of conditional rewrite theories. J. Log. Algebraic Program. 81(7), 816–850 (2011)

    MATH  Google Scholar 

  9. Gries, D., Schneider, F.B.: A Logical Approach to Discrete Math. Texts and Monographs in Computer Science. Springer, New Yok (1993)

    Book  MATH  Google Scholar 

  10. Gries, D., Schneider, F.B.: Equational propositional logic. Inf. Process. Lett. 53(3), 145–152 (1995)

    Article  MathSciNet  MATH  Google Scholar 

  11. Grundy, J.: Window inference in the HOL system. In: Archer, M., Joyce, J.J., Levitt, K.N., Windley, P.J. (eds.) Proceedings of the 1991 International Workshop on the HOL Theorem Proving System and its Applications, August 1991, Davis, California, USA, pp. 177–189. IEEE Computer Society (1992)

    Google Scholar 

  12. Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–580 (1969)

    Article  MATH  Google Scholar 

  13. Hodel, R.: An Introduction to Mathematical Logic. Dover Books on Mathematics Series. Dover Publications Incorporated, New York (2013)

    Google Scholar 

  14. Hsiang, J.: Topics in automated theorem proving and program generation. Ph.D. thesis, University of Illinois at Urbana-Champaign, Computer Science Department (1982)

    Google Scholar 

  15. Lifschitz, V.: On calculational proofs. Annals Pure Appl. Log. 113(1–3), 207–224 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  16. Lucas, S., Meseguer, J.: Operational termination of membership equational programs: the order-sorted way. Electron. Notes Theo. Comput. Sci. 238(3), 207–225 (2009)

    Article  MATH  Google Scholar 

  17. Meseguer, J.: Membership algebra as a logical framework for equational specification. In: Parisi-Presicce, Francesco (ed.) WADT 1997. LNCS, vol. 1376, pp. 18–61. Springer, Heidelberg (1998)

    Chapter  Google Scholar 

  18. Meseguer, J., Thati, P.: Symbolic reachability analysis using narrowing and its application to verification of cryptographic protocols. Higher-Order Symbolic Comput. 20(1–2), 123–160 (2007)

    Article  MATH  Google Scholar 

  19. Rocha, C., Meseguer, J.: Five isomorphic Boolean theories and four equational decision procedures. Technical report 2007–2818, University of Illinois at Urbana-Champaign (2007)

    Google Scholar 

  20. Rocha, C., Meseguer, J.: Theorem proving modulo based on Boolean equational procedures. Technical report 2007–2922, University of Illinois at Urbana-Champaign (2007)

    Google Scholar 

  21. Rocha, C., Meseguer, J.: Theorem proving modulo based on boolean equational procedures. In: Berghammer, R., Möller, B., Struth, G. (eds.) RelMiCS/AKA 2008. LNCS, vol. 4988, pp. 337–351. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  22. Socher-Ambrosius, R., Johann, P.: Deduction Systems (Texts in Computer Science). Springer-Verlag, New York (1996)

    MATH  Google Scholar 

  23. Simmons, G.: Introduction to Topology and Modern Analysis. International Series in Pure and Applied Mathematics. Krieger Publishing Company, Malabar (1963)

    MATH  Google Scholar 

  24. Tourlakis, G.: On the soundness and completeness of equational predicate logics. J. Log. Comput. 11(4), 623–653 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  25. Viry, P.: Equational rules for rewriting logic. Theoret. Comput. Sci. 285, 487–517 (2002)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Camilo Rocha .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this chapter

Cite this chapter

Rocha, C. (2015). The Formal System of Dijkstra and Scholten. In: Martí-Oliet, N., Ölveczky, P., Talcott, C. (eds) Logic, Rewriting, and Concurrency. Lecture Notes in Computer Science(), vol 9200. Springer, Cham. https://doi.org/10.1007/978-3-319-23165-5_27

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-23165-5_27

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-23164-8

  • Online ISBN: 978-3-319-23165-5

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics