skip to main content
Skip header Section
Mathematical logic for computer scienceMarch 1993
  • Author:
  • M. Ben-Ari
Publisher:
  • Prentice-Hall, Inc.
  • Division of Simon and Schuster One Lake Street Upper Saddle River, NJ
  • United States
ISBN:978-0-13-564139-2
Published:01 March 1993
Pages:
305
Skip Bibliometrics Section
Bibliometrics
Abstract

No abstract available.

Cited By

  1. Fleischmann P, Kulczynski M, Nowotka D and Wilke T Managing Heterogeneity and Bridging the Gap in Teaching Formal Methods Formal Methods Teaching, (181-195)
  2. ACM
    Malakuti S and Aksit M Evolution of composition filters to event composition Proceedings of the 27th Annual ACM Symposium on Applied Computing, (1850-1857)
  3. ACM
    Bandyopadhyay A (2010). Modeling of state transition rules and its application, ACM SIGSOFT Software Engineering Notes, 35:2, (1-7), Online publication date: 27-Mar-2010.
  4. ACM
    Polycarpou I, Pasztor A and Adjouadi M A conceptual approach to teaching induction for computer science Proceedings of the 39th SIGCSE technical symposium on Computer science education, (9-13)
  5. ACM
    Polycarpou I, Pasztor A and Adjouadi M (2008). A conceptual approach to teaching induction for computer science, ACM SIGCSE Bulletin, 40:1, (9-13), Online publication date: 29-Feb-2008.
  6. ACM
    Ye L and De Volder K Tool support for understanding and diagnosing pointcut expressions Proceedings of the 7th international conference on Aspect-oriented software development, (144-155)
  7. ACM
    Hörne T and van der Poll J Planning as model checking Proceedings of the 2008 annual research conference of the South African Institute of Computer Scientists and Information Technologists on IT research in developing countries: riding the wave of technology, (114-123)
  8. ACM
    Banerjee J, Bandyopadhyay A and Mandal A (2007). Ordering of events in two-process concurrent system, ACM SIGSOFT Software Engineering Notes, 32:4, (1-es), Online publication date: 1-Jul-2007.
  9. ACM
    Singh A and Bandyopadhyay A (2004). Adding the leads-to operator to Dijkstra's calculus, ACM SIGPLAN Notices, 39:2, (12-17), Online publication date: 1-Feb-2004.
  10. Chebotarev A (2019). Construction of an Automaton From a Formula of the Monadic First-Order Theory of Natural Numbers, Cybernetics and Systems Analysis, 37:4, (540-550), Online publication date: 1-Jul-2001.
  11. Mattolini R and Nesi P (2001). An Interval Logic for Real-Time System Specification, IEEE Transactions on Software Engineering, 27:3, (208-227), Online publication date: 1-Mar-2001.
  12. Chebotarev A (2019). The Automata-Theoretic Approach to Verification of Reactive Systems, Cybernetics and Systems Analysis, 37:6, (810-819), Online publication date: 1-Nov-2001.
  13. ACM
    Bellini P, Mattolini R and Nesi P (2000). Temporal logics for real-time system specification, ACM Computing Surveys (CSUR), 32:1, (12-42), Online publication date: 1-Mar-2000.
Contributors
  • Weizmann Institute of Science Israel

Index Terms

  1. Mathematical logic for computer science

      Recommendations

      Alexei P. Stolboushkin

      It is becoming increasingly clear that mathematical logic should be introduced at an early stage of the undergraduate computer science curriculum. This book is intended as a textbook for the first undergraduate course in mathematical logic for computer science students. The author starts by expressing his concern that the standard course in mathematical logic, intended for mathematics students, may not be suitable for computer science students, especially in their early years. For instance, for first-order logic, it seems appropriate for undergraduates in computer science to restrict their attention to countable structures. On the other hand, some topics that are not central in mathematical logic, such as proof methods and resolution, may deserve detailed consideration because of their wide application in computer science. The book has seven chapters: Introduction Propositional Calculus Predicate Calculus Resolution and Logic Programming Temporal Logic Formalization of Programs Further Reading Throughout the book, the exposition is elementary and mostly clear. Semantic tableaux, Gentzen systems, Hilbert systems, and resolution are introduced at the stage of propositional calculus. The discussion of predicate calculus does not go much beyond completeness. Logic programming is first discussed at an abstract level, with Prolog then briefly discussed as an example. The chapter on temporal logic introduces axioms for linear propositional temporal logic and proves their soundness and completeness. The last chapter gives an axiomatization for partial correctness of while programs (Hoare logic), with no proof of completeness, and then briefly discusses specifications with Z. Some incidental issues, such as decidability and complexity, are mentioned briefly. The numerous carefully chosen examples are helpful, especially when formal proofs are omitted. Nevertheless, I have the impression that the exercises could have been formulated better. Because of the pioneering nature of the book, it is natural that the presentation is not uniformly smooth. For instance, the discussion of Boolean operators is misleading. The operators are discussed by analogy with arithmetic operators, and the author suggests that the choice of a particular set of operators is motivated by psychological factors, such as whether they are interesting. The result concerning complete bases for Boolean operators is not even mentioned. The wording is careless at times, especially in informal discussions. For instance, mathematical logic is obscurely defined as “the study of Boolean expressions” (p. 3); statements in English are occasionally called “logical formulas” (p. 7 ); and Ben-Ari claims that “certain variants of resolution have proven to be” very efficient compared with other methods, although it is well known that resolution can be less efficient than exhaustive search. My main reservation about the book deals with what is not included. Traditionally, mathematical logic has three main branches: proof theory, model theory, and recursion theory. Of these, only one, proof theory, is presented in the book. This choice is not (and hardly could be) justified by applications in computer science. Without belaboring the point, we may just refer to the list of topics covered by the annual IEEE Symposium on Logic in Computer Science to see that abstract data types, database theory, and computational complexity, to name only a few, are areas of computer science where mathematical logic (and mostly not proof theory) is extensively used. The book represents a good, professional attempt to provide an undergraduate textbook on mathematical logic for computer science students, but it does not entirely fulfill its title and purpose, because of its omissions.

      Access critical reviews of Computing literature here

      Become a reviewer for Computing Reviews.