A course on mathematical logic - Srivastava, Shashi Mohan (Universitext, 2013)
This is a short, modern, and motivated introduction to mathematical logic for upper undergraduate and beginning graduate students in mathematics and computer science. Any mathematician who is interested in getting acquainted with logic and would like to learn Gödel's incompleteness theorems should find this book particularly useful. The treatment is thoroughly mathematical and prepares students to branch out in several areas of mathematics related to foundations and computability, such as logic, axiomatic set theory, model theory, recursion theory, and computability. In this new edition, many small and large changes have been made throughout the text.  The main purpose of this new edition is to provide a healthy first introduction to model theory, which is a very important branch of logic.  Topics in the new chapter include ultraproduct of models, elimination of quantifiers, types, applications of types to model theory, and applications to algebra, number theory and geometry.  Some proofs, such as the proof of the very important completeness theorem,  have been completely rewritten in a more clear and concise manner.  The new edition also introduces new topics, such as the notion of elementary class of structures, elementary diagrams, partial elementary maps, homogeneous structures, definability, and many more. Review from the first edition: "All results included in the book are very carefully selected and proved. The author's manner of writing is excellent, which will surely make this book useful to many categories of readers." --Marius Tarnauceanu, Zentralblatt MATH