Help on query formulation
Logic calculi in informatics. How is logic used by the computer? (Logikkalküle in der Informatik. Wie wird Logik vom Rechner genutzt?) (German)
Studienbücher Informatik. Wiesbaden: Springer Vieweg (ISBN 978-3-8348-1887-4/pbk; 978-3-8348-2295-6/ebook). xii, 232~p. (2013).
This 232-pages book, written in German, gives an elementary introduction to logic in computer science. It presupposes some knowledge in discrete mathematics but none in formal logic itself. It thus aims to provide the basis for an introductory course on logic in computer science as part of a Bachelor’s curriculum. The book’s feature is breadth rather than depth, as can already be seen from the table of contents. A short introduction to the reasons for and use of logic in computer science is followed by ten chapters, each one presenting a different logical formalism. The chapter sizes vary around 20 pages each, which does not leave enough space for a thorough in-depth study. Typically, a chapter introduces syntax and semantics of a logic, gives some examples and then presents a little bit of material on what to do with these logics, for instance in the form of a calculus. Apart from propositional and first-order logic ‒ two musts when it comes to logic in computer science ‒ the book covers Hoare, modal, temporal, epistemic, deontic, nonmonotonic and default logic in this way. For those who have noticed that this only makes a sum of nine logics: first-order logic is treated in two chapters with the second one exclusively presenting SLD resolution. The book finishes with an appendix-style chapter on mathematical foundations mentioning sets, relations, functions, induction, graphs and trees. The choice of topics covered in this book gives the reader a very nice overview of different facets of logic and why logic should be considered to be an important topic in computer science education. Unfortunately, the lack of depth and the choice of material in these topics prevent it from going beyond that. Even proofs (of completeness of particular calculi for instance) that are only moderately difficult but not entirely obvious are omitted, and the reader is referred to other textbooks instead. The same holds even for constructions (e.g. for the existence of normal forms). The choice of calculi is also sometimes questionable with respect to the title (Logic calculi {\it in informatics}) of the book. Algorithmic aspects of reasoning for instance are hardly broached, and things like syllogisms may be historically relevant or of interest for logic in philosophy but could have been replaced by material with a stronger impact in computer science. It is questionable whether this material is self-contained, focused, detailed and challenging enough in order to serve the purposes of formal logic in computer science within a university’s curriculum: to make students proficient in modelling, formalisation, abstraction and reasoning. Instead, it can be used to alert students of the fact that logic can play an important role in fields within computer science. It may therefore rather be suitable for curricula with an application-oriented audience for which theoretical foundations of computer science at most play a supporting role. The suitability for such readers without a strong affiliation to formalisms is diminished by an aspect of readability, though. The mathematical typesetting is way below standard; the use of different fonts for the same symbol ‒ even up to three in a single definition ‒ is not just an exception but occurs frequently throughout the book. The wrong use of whitespaces often contradicts the intended precedence of operators, etc. This is only annoying for those who are familiar with formal logic; those for whom this topic is new may struggle with the obstacles that are unnecessarily introduced by bad typesetting.
Reviewer: Martin Lange (Kassel)
Classification: E30 P20
Valid XHTML 1.0 Transitional Valid CSS!