COMPSCI 513/613: Logic in Computer Science, Fall 2023

Welcome to CS 513/613 Logic in Computer Science. This page will be updated in preparation for the Fall semester.

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:

  1. Introduction
  2. Propositional Calculus
  3. Compactness of Propositional Calculus
  4. Resolution for Propositional Calculus
  5. First-Order Logic: Syntax and Semantics
  6. Prenex Normal Form and the Truth Game
  7. Ehrenfeucht-Fraissé Games
  8. Skolemization and First-Order Resolution
  9. Herbrand's Theorem
  10. Unification and Completeness of First-Order Resolution
  11. Consequences of Completeness
  12. Decidability and Undecidability
  13. Undecidability of First-Order Logic and Gödel's Incompleteness Theorem
  14. Inductive Definitions, Least Fixed Points, Datalog and Prolog
  15. Model Checking. Linear Temporal Logic (LTL)
  16. Computation Tree Logic: CTL, CTL*
  17. Ordered Binary Decision Diagrams. Symbolic Model Checking
  18. SAT Solvers
  19. Descriptive Complexity
  20. The Alloy Analyzer
  21. The Coq Proof Assistant
  22. TBD + Project Presentations
See also: COMPSCI 513/613 Fall'21, taught by Prof. Neil Immerman
Last modified: Thu Aug 31 10:42:39 EDT 2023