A Mathematical Introduction to Logic, Second Edition , offers increased flexibility with topic coverage, allowing for choice in how to utilize the textbook in a course. The author has made this edition more accessible to better meet the needs of today's undergraduate mathematics and philosophy students. It is intended for the reader who has not studied logic previously, but who has some experience in mathematical reasoning. Material is presented on computer science issues such as computational complexity and database queries, with additional coverage of introductory material such as sets.
Fascinating material; the book, unfortunately, is too terse and inconsistent it how it presents definitions and examples (of which there are too few). The exercises redeem it somewhat.
Also: needing a new symbol, Enderton differentiates between an asterisk and a "capital asterisk" (which are hardly distinguishable).
The material covers many important results from logic, pretty much from scratch. If you've done some university-level maths & are familiar with proof-based reasoning, want to learn logic, but don't want to shortcut through some of the more introductory logic books, it's not a bad shout. However, I think it'd be difficult to use without accompanying lectures. Some proofs are not fully spelled out, and, as several other reviewers noted, the writing style is pretty terse.
Good introduction to first-order logic and undecidability, with a scattering of other topics (nonstandard analysis, complete sets of connectives, and a coda on second-order and many-sorted logic). Good variety of exercises, some on the tricky side but none really brutally difficult. Some reviewers here knocked the author for terseness and I really cannot see that; if anything he tends to repeat himself too often, particularly in the later chapters.
The biggest problem with the book is the decision to bracket off the development of any notion of computability until a relatively obscure part of the second-to-last chapter. This would be fine in a purely logical book, but Enderton wants to have his cake and eat it too; thus he includes lots of results about undecidability *prior to* the development of a model of computing. This means that a fair number of important results are marked with an asterisk, relying upon on an informal notion of decidability or enumerability. I can understand why he did this: none of the concepts of computability are exactly a walk in the park to develop, and he was planning to go through the whole Robinson arithmetic representability part in Chapter 3. However, it makes the book substantially weaker. It would have been better if he developed register machines, Turing machines, or recursive function theory early on in the text, maybe at the end of chapter 1, so that all later results requiring a formal notion of computability could have been proved legitimately the first time. But perhaps that is what distinguishes this book (maybe-targeted towards philosophy students) from Boolos' book.
There are a couple of other nits to pick. He calls the universal quantifier a parameter of a first-order language, when most people I know wouldn't call it that. He writes \models_{\mathfrak{A}} \varphi instead of \mathfrak{A} \models \varphi, for example. Also there was one erratum on a problem, which is a trivial consequence of Löb's theorem when corrected, but in its uncorrected form is quite a difficult problem.
I LaTeXed a ~200pp set of notes, additional remarks, as well as solutions for all the exercises. It will be available on my Github for those interested in cheating on homework, etc.
Supposedly a classic but really not that good. In what is supposed to be an introduction the author rushes over or skips entirely important basic results and chooses instead to go off on tangents and dive down into minutiae - which I assume he personally finds more interesting. His notations are dense and opaque, his reasoning sparse and incomplete. At times he seems to be showing off rather than making a genuine attempt to teach something. When writing a book it doesn't matter if you know what you're saying or intending to say the challenge is to make it clear to the reader. Now I have the original 1972 edition. These shortcomings make have been addressed in numerous editions since. Don't know. I don't understand how - decades ago - I could ever have thought this was a good book. It does at least mention most of the important basics and is of some historical interest. But if you are a beginner looking for understanding I would recommend looking elsewhere.
Quite terse: an excellent companion piece. I would suggest a different book for the uninitiated, but this one is fine if you want to gloss over the details. This is also the case for Enderton's computability theory.
The book accompanying a course taught by Len Adleman, co-inventor of RSA encryption, father of DNA computing, and a stellar lecturer. Poor textbook is doomed to be the forgotten stepchild of this course.
finished first two chapters, then shift to learn compactness theorem and Lowenheim-Skolem theorem for first order logic, and to learn generating system (basically about recursion = induction). Now, my plan is to read Godel incompleteness theorem, but need a pause for other subjects.