**Contents:** This course is a rigorous introduction to mathematical logic from an algorithmic perspective. Topics include: Propositional logic and SAT solvers; First Order Logic: soundness and completeness of resolution, compactness theorem, automatic theorem proving, model checking. We will learn about and use the Coq theorem prover, Datalog, model checkers, and SAT and SMT solvers. Undergraduate Prerequisites: COMPSCI 250 (discrete math) and COMPSCI 311 (algorithms).

**Times**: TuTh 8:30-9:45am

**Instructor:** Marius Minea (marius at cs), office: LGRC A261

**Textbook:** Uwe Schöning, Logic for Computer
Scientists, Birkhäuser, 2008. Available through UMass subscription

**Topics:**

- Introduction
- Propositional Calculus
- Compactness of Propositional Calculus
- Resolution for Propositional Calculus
- First-Order Logic: Syntax and Semantics
- Prenex Normal Form and the Truth Game
- Ehrenfeucht-Fraissé Games
- Skolemization and First-Order Resolution
- Herbrand's Theorem
- Unification and Completeness of First-Order Resolution
- Consequences of Completeness
- Decidability and Undecidability
- Undecidability of First-Order Logic and Gödel's Incompleteness Theorem
- Inductive Definitions, Least Fixed Points, Datalog and Prolog
- Model Checking. Linear Temporal Logic (LTL)
- Computation Tree Logic: CTL, CTL*
- Ordered Binary Decision Diagrams. Symbolic Model Checking
- SAT Solvers
- Descriptive Complexity
- The Alloy Analyzer
- The Coq Proof Assistant
- TBD + Project Presentations

Last modified: Thu Aug 31 10:42:39 EDT 2023