What is the relation between truth and proof? Are there true statements about natural numbers that cannot, in principle, be proven? Can an algorithm be written to decide which statements about numbers are provable and which are not? What is the mathematical basis of the concept of a mechanically implementable algorithm (i.e., a computer program)? What does all of this have to do with logic? This course addresses these and other questions by investigating the properties of propositional and 1st-order logic. Topics include the soundness and completeness of formal systems of propositional and 1st-oder logic, the Löwenheim-Skolem and Compactness theorems for 1st-order logic, Gödel’s incompleteness theorems for formal arithmetic, and Turing machines and the notions of computability and undecidability.
Prerequisites: PL 2003 or permission of the instructor. Co-requisites: None. Notes: Satisfies a HuSS elective.