What are in your opinion some good propositional and first order logic textbooks (undergraduate level) ?
I need one that focuses mainly on the aspects of logic related to computer science.
thanks in advance.

I guess this should be made "community wiki"?
–
Yemon ChoiSep 18 '10 at 12:23

@Ralf To what extent do you need to have examples that are relevant for the applications in CS (e.g. data bases, etc.) as against a purer formulation? Also what level is required? Both questions may influence the reply that you need.
–
Tim PorterSep 18 '10 at 15:44

i'm looking for a textbook that covers both aspects or alternatively two books one for each "topic".
–
RalfSep 18 '10 at 16:23

1

Also, logic shapes CS in two different guises: model theory overlaps with complexity theory, and structural proof theory overlaps with the theory of programming languages. Which do you have a preference for?
–
Neel KrishnaswamiSep 19 '10 at 9:10

Once again, i'm interested in both aspects. Thank you all for the answers.
–
RalfSep 19 '10 at 15:29

10 Answers
10

My favorite introductory book on mathematical logic is Robert S.Wolfe's A TOUR THROUGH MATHEMATICAL LOGIC.Amazingly well written,it covers an extraordinary amount of material in both logic and set theory,complete with biographical vignettes and historical insights.There a deep discussion of first order logic and it's place in metamathematical systems.It also has a wonderful introductory chapter on the theory of computation and it's origins.This is the book I would recommend to any of my students if they asked me about logic.

After that,there are several more advanced texts that I like,particularly the ones by Shoenfield and the classic by my old teacher,Elliot Mendelson.

The question as currently stated is a little vague, but I took a course on logic and theorem proving as it relates to computer science as an undergraduate, and the textbook, Huth and Ryan's "Logic in Computer Science" (which I see now has a second edition) was a reasonable textbook.

I'm suprised that no one has yet mentioned Boolos 'Computability and Logic'. The first 100 pages are pretty solid computability theoyr, and then follows Meta-logic, with an especially good précis on first-order logic that emphasizes the difference between a Language, an theory, and logical/non-logical symbols. Worth a gander, espeically if you're interested in CS related logic.

Robert Sores 'Recursively Enumerable Sets and Degrees' is another good place to start for recursion theory, as well as general logic. His approach is very clear (if a little assuming that you're following everything at once) and the first 120pp are very informative on recursively enumerable sets (now usually called computably enumerable). But for undergraduates, I'd go with the Boolos...

Note of warning - Mendelson's book Introduction to Mathematical Logic I found confusing when starting out - this was confirmed by supervisors/colleagues.

As a clear introduction to propositional and first order logic for the mathematically minded, I think Logic and Structure by Van Dalen is in a class of its own. The majority of the book is not particularly CS focused, but the beginnings of recursion theory are covered in the last chapter.

A Problem Course in Mathematical Logic
is intended to serve as the text for
an introduction to mathematical logic
for undergraduates with some
mathematical sophistication. It
supplies definitions, statements of
results, and problems, along with some
explanations, examples, and hints. The
idea is for the students, individually
or in groups, to learn the material by
solving the problems and proving the
results for themselves. The book
should do as the text for a course
taught using the modified
Moore-method.

The material and its presentation are
pretty stripped-down and it will
probably be desirable for the
instructor to supply further hints
from time to time or to let the
students consult other sources.
Various concepts and and topics that
are often covered in introductory
mathematical logic or computability
courses are given very short shrift or
omitted entirely, among them normal
forms, definability, and model theory.

Parts I and II, Propositional Logic
and First-Order Logic respectively,
cover the basics of these topics
through the Soundness, Completeness,
and Compactness Theorems, plus a
little on applications of the
Compactness Theorem. They could be
used for a one-term course on these
subjects. Part III, Computability,
covers the basics of computability
using Turing machines and recursive
functions; it could be used as the
basis of a one-term course. Part IV,
Incompleteness, is concerned with
proving the Gödel Incompleteness
Theorems.

Not quite a textbook, but a collection of historical projects about elementary logic and
related issues in discrete mathematics and computer science can be found at
www.cs.nmsu.edu/historical-projects
Click on the project "Deduction Through the Ages ..."

Though a little advanced, Logic for Applications by Nerode and Shore fits the bill. (Google books) The book has an extensive treatment of propositional and first-order logic, with an emphasis on resolution as a proof method. Hilbert style systems are also discussed to some length, but natural deduction is lacking. I found that the Prolog related parts can be successfully skipped if necessary.

I don't understand what people usually mean when they say "aspects of some mathematical field related to computer science" (how they know what is really related to CS?), but if you really want to study or teach first order logic, then, in my opinion, there is old but still the best book for that -- Joseph Shoenfield's Mathematical logic.