The aim of this well organized paper is to outline what every computer scientists should know about logic. In order to answer this question the author explains a long series of issues that are an interesting basis to outline a syllabus of logic for computer professionals “responsible for the creation of life-critical software systems". The paper concentrates on issues of modeling, interpretability and levels of abstraction, and many aspects of traditional logic courses are undermined (the ‘narrative’ of the history from Frege to Hilbert, the centrality of first order logic, the role of completeness and compactness). The author points out the construction of a ‘logic tool box’, containing modeling tools (basic set construction principles, inductive definition, proof by induction, basic cardinality arguments) and logic tools (propositional logic, second order logic, first order logic as a restriction of the second, semantic notions, etc.). Other themes, such as philosophy of mathematics and computer science (to which I could add history of computer science) are “something to be left for later", just as the Kabbala that had to be studied not before the age of forty years. Maybe too late, I sholud say: the computer professional outlined by Makowski, so long virgin, facing the problem of when and where to begin his relationship with philosophy or history of science, probably would always answer: ‘not now, not here’.

Reviewer:

L. Borzacchini (Bari)