# Introductory book on Logic and Computation

Can you give me some suggestions about a good introductory (but comprehensive) book

Some fuzzy topics that I have in mind are:

• Presburger artihm., PA, ZF, ZFC, HOL
• Set theory, Type theory
• Modeling Computation (Turing machines) in different theories
• Links with computational complexity (FMT, descriptive complexity)

My answer could be late for this question, but I hope it will be helpful for other people looking for similar information.

I had taken a course about Mathematical Logic at National University of Singapore, in which the lecturer used this textbook:

A Concise Introduction to Mathematical Logic, 3rd edition, by Wolfgang Rautenberg

Personally, I like both the textbook and the course a lot.

The textbook initially appears to be quite difficult to read. However, once getting familiar with it, it is much easier to follow since the system of notation is very clear, the content is self-contained and the approach is by starting from foundation, no vague assumption. For example, this book develops the natural deduction calculus and Hilbert calculus, or prove two incompleteness theorems of Kurt Gödel from scratch.

I suggest one of the book I recently bought:

Pavel Pudlak: Logical Foundations of Mathematics and Computational Complexity - A Gentle Introduction; Springer Monographs in Mathematics; 2013

I had not ("still haven't" :-) a strong background on logic and this book is helping me to better understand some "fundamental" aspects of logic and its relation with computation and complexity. Doubtless a good introductory book.

From the Introduction:

... The first two chapters are an introduction to the foundations of mathematics and mathematical logic. The material is explained very informally and more detailed presentation is deferred to later chapters....

Chapter 3 is devoted to set theory, which is the most important part of the foundations of mathematics. The two main themes in this chapter are: (1) higher infinities as a source of powerful axioms, and (2) alternative axioms, such as the Axiom of Determinacy...

Proofs of impossibility, the topic of Chapter 4, are proofs that certain tasks are impossible, contrary to the original intuition. Nowadays we tend to equate impossibility with unprovability and non-computability, which is a rather narrow view. Therefore, it is worth recalling that the first important impossibility results were obtained in different contexts: geometry and algebra. The most important result presented in this chapter is the Incompleteness Theorem of Kurt Godel...

Proofs of impossibility are, clearly, important in foundations. One field in which the most basic problems are about proving impossibility is computational complexity theory, the topic of Chapter 5. But there are more connections between computational complexity and the foundations....

In fact, there is a field of research that studies connections between computational complexity and logic. It is called ‘Proof Complexity’ and it is presented in Chapter 6. Although we do have indications that complexity should play a relevant role in the foundations, we do not have any results proving this connection. ...

Every book about the foundations of mathematics should mention the basic philosophical approaches to the foundations of mathematics. I also do it in Chapter 7, but as I am not a philosopher, the main part of the chapter rather concentrates on mathematical results and problems that are at the border of mathematics and philosophy ...

It doesn't cover FMT and descriptive complexity, but there are a few good books that are focused on those topics (e.g. Leonid Libkin: Elements of Finite Model Theory; Texts in Theoretical Computer Science. An EATCS Series; 2004 )

I accept my answer because I hadn't the opportunity to read the book suggested by Trung Ta, yet.

• Could you enhance your answer with a very brief review of Pudlak's book? We know now it doesn't cover FMT and descriptive complexity, but what is nice about what it does cover? – Anton Trunov May 18 '16 at 20:49
• @AntonTrunov: I added the TOC in the answer. Furthermore, I like its general structure: explain concepts at a high level $\to$ give more details in the notes at the end of the chapters $\to$ explain proofs (not a mere list of formulas) on dedicated chapters/sections. – Vor May 18 '16 at 22:51

I like Tom Stuart's book "Understanding computation" with respect to modeling computation. He offers a nice progressive overview of models for computation. If I recall correctly: - deterministic finite-state machines - non-deterministic FSM - FSM with a stack (deterministic and non-deterministic) - Turing machines (with a tape)

It's pretty interactive and hands-on as he simultaneously builds a simple implementation of each model in Ruby.