Advanced Topics in Logic: Automated Reasoning and Satisfiability

Course ID 15816

Doctoral Breadth Course: Programming Languages - (*)
Classes marked with "*" (star) are appropriate for any CSD doctoral or 5th year master's student.

Description

Automated reasoning has become a powerful technology with applications ranging from verification of hardware and software to solving long-standing open problems in mathematics. This course covers several state-of-the-art automated reasoning techniques and provides hands-on experience with research questions in this area.

Key Topics
Automated reasoning
Propositional logic
Satisfiability modulo theories
Verification
Proof complexity
Encoding
Certifying programs

Required Background Knowledge
This is an introductory graduate course with no formal prerequisites.

Course Relevance
All levels are welcome

Course Goals
Along the way, students will learn how to:
- Represent problems in a suitable logic;
- Use, modify, and develop automated reasoning tools;
- Produce, optimize, and verify proofs; and
- Write a scientific paper.

Learning Resources
Slides notes will be posted, and videos of the Fall'21 lectures are available.

Assessment Structure
Grades are based on three homework assignments (15% × 3 = 45%), final project (45%), and participation (10%). The final project should raise novel research questions and provide some nontrivial answers. These projects should be described in a report and presented in class at the end of the semester.

Course Link
https://www.cs.cmu.edu/~mheule/15816-f23/