Comprehensive overview, suitable for advanced undergraduates and graduate students, covers propositional logic; first-order languages and logic; incompleteness, undecidability, and indefinability; recursive functions; computability; and Hilbert's Tenth Pr