Logic, Rewriting, and Concurrency pp 580-597

Part of the Lecture Notes in Computer Science book series (LNCS, volume 9200) | Cite as

The Formal System of Dijkstra and Scholten

Chapter

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.

References

  1. 1.
    Backhouse, R.: Program Construction: Calculating Implementations from Specifications. Wiley, New York (2003)Google Scholar
  2. 2.
    Bijlsma, L., Nederpelt, R.: Dijkstra-Scholten predicate calculus: concepts and misconceptions. Acta Informatica 35(12), 1007–1036 (1998)MathSciNetCrossRefMATHGoogle Scholar
  3. 3.
    Bohórquez, J.: Intuitionistic logic according to Dijkstra’s calculus of equational deduction. Notre Dame J. Formal Log. 49(4), 361–384 (2008)CrossRefMATHGoogle Scholar
  4. 4.
    Bohórquez, J.: An elementary and unified approach to program correctness. Formal Aspects Comput. 22(5), 611–627 (2010)CrossRefMATHGoogle Scholar
  5. 5.
    Bruni, R., Meseguer, J.: Semantic foundations for generalized rewrite theories. Theoret. Comput. Sci. 360(1–3), 386–414 (2006)MathSciNetCrossRefMATHGoogle Scholar
  6. 6.
    Dijkstra, E.: A Discipline of Programming. Prentice-Hall Series in Automatic Computation. Prentice-Hall, Upper Saddle River (1976)MATHGoogle Scholar
  7. 7.
    Dijkstra, E., Scholten, C.: Predicate Calculus and Program Semantics. Texts and Monographs in Computer Science. Springer-Verlag, New York (1990)CrossRefMATHGoogle Scholar
  8. 8.
    Meseguer, J., Durán, F.: On the and coherence properties of conditional rewrite theories. J. Log. Algebraic Program. 81(7), 816–850 (2011)MATHGoogle Scholar
  9. 9.
    Gries, D., Schneider, F.B.: A Logical Approach to Discrete Math. Texts and Monographs in Computer Science. Springer, New Yok (1993)CrossRefMATHGoogle Scholar
  10. 10.
    Gries, D., Schneider, F.B.: Equational propositional logic. Inf. Process. Lett. 53(3), 145–152 (1995)MathSciNetCrossRefMATHGoogle Scholar
  11. 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. 12.
    Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–580 (1969)CrossRefMATHGoogle Scholar
  13. 13.
    Hodel, R.: An Introduction to Mathematical Logic. Dover Books on Mathematics Series. Dover Publications Incorporated, New York (2013)Google Scholar
  14. 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. 15.
    Lifschitz, V.: On calculational proofs. Annals Pure Appl. Log. 113(1–3), 207–224 (2001)MathSciNetCrossRefMATHGoogle Scholar
  16. 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)CrossRefMATHGoogle Scholar
  17. 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) CrossRefGoogle Scholar
  18. 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)CrossRefMATHGoogle Scholar
  19. 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. 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. 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) CrossRefGoogle Scholar
  22. 22.
    Socher-Ambrosius, R., Johann, P.: Deduction Systems (Texts in Computer Science). Springer-Verlag, New York (1996) MATHGoogle Scholar
  23. 23.
    Simmons, G.: Introduction to Topology and Modern Analysis. International Series in Pure and Applied Mathematics. Krieger Publishing Company, Malabar (1963) MATHGoogle Scholar
  24. 24.
    Tourlakis, G.: On the soundness and completeness of equational predicate logics. J. Log. Comput. 11(4), 623–653 (2001)MathSciNetCrossRefMATHGoogle Scholar
  25. 25.
    Viry, P.: Equational rules for rewriting logic. Theoret. Comput. Sci. 285, 487–517 (2002)MathSciNetCrossRefMATHGoogle Scholar

Copyright information

© Springer International Publishing Switzerland 2015

Authors and Affiliations

  1. 1.Escuela Colombiana de IngenieríaBogotáColombia

Personalised recommendations