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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Backhouse, R.: Program Construction: Calculating Implementations from Specifications. Wiley, New York (2003)
Bijlsma, L., Nederpelt, R.: Dijkstra-Scholten predicate calculus: concepts and misconceptions. Acta Informatica 35(12), 1007–1036 (1998)
Bohórquez, J.: Intuitionistic logic according to Dijkstra’s calculus of equational deduction. Notre Dame J. Formal Log. 49(4), 361–384 (2008)
Bohórquez, J.: An elementary and unified approach to program correctness. Formal Aspects Comput. 22(5), 611–627 (2010)
Bruni, R., Meseguer, J.: Semantic foundations for generalized rewrite theories. Theoret. Comput. Sci. 360(1–3), 386–414 (2006)
Dijkstra, E.: A Discipline of Programming. Prentice-Hall Series in Automatic Computation. Prentice-Hall, Upper Saddle River (1976)
Dijkstra, E., Scholten, C.: Predicate Calculus and Program Semantics. Texts and Monographs in Computer Science. Springer-Verlag, New York (1990)
Meseguer, J., Durán, F.: On the and coherence properties of conditional rewrite theories. J. Log. Algebraic Program. 81(7), 816–850 (2011)
Gries, D., Schneider, F.B.: A Logical Approach to Discrete Math. Texts and Monographs in Computer Science. Springer, New Yok (1993)
Gries, D., Schneider, F.B.: Equational propositional logic. Inf. Process. Lett. 53(3), 145–152 (1995)
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)
Hoare, C.A.R.: An axiomatic basis for computer programming. Commun. ACM 12(10), 576–580 (1969)
Hodel, R.: An Introduction to Mathematical Logic. Dover Books on Mathematics Series. Dover Publications Incorporated, New York (2013)
Hsiang, J.: Topics in automated theorem proving and program generation. Ph.D. thesis, University of Illinois at Urbana-Champaign, Computer Science Department (1982)
Lifschitz, V.: On calculational proofs. Annals Pure Appl. Log. 113(1–3), 207–224 (2001)
Lucas, S., Meseguer, J.: Operational termination of membership equational programs: the order-sorted way. Electron. Notes Theo. Comput. Sci. 238(3), 207–225 (2009)
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)
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)
Rocha, C., Meseguer, J.: Five isomorphic Boolean theories and four equational decision procedures. Technical report 2007–2818, University of Illinois at Urbana-Champaign (2007)
Rocha, C., Meseguer, J.: Theorem proving modulo based on Boolean equational procedures. Technical report 2007–2922, University of Illinois at Urbana-Champaign (2007)
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)
Socher-Ambrosius, R., Johann, P.: Deduction Systems (Texts in Computer Science). Springer-Verlag, New York (1996)
Simmons, G.: Introduction to Topology and Modern Analysis. International Series in Pure and Applied Mathematics. Krieger Publishing Company, Malabar (1963)
Tourlakis, G.: On the soundness and completeness of equational predicate logics. J. Log. Comput. 11(4), 623–653 (2001)
Viry, P.: Equational rules for rewriting logic. Theoret. Comput. Sci. 285, 487–517 (2002)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)