ALR Spring 2018

    Welcome to the home page for
    Automated Logical Reasoning!

Logistical Information:

Instructor: Işıl Dillig
Time: Tuesday, Thursday 3:30pm - 5 pm
Place: GDC 4.304
Instructor e-mail:
Instructor office hours: Thursday 5-6:30pm in GDC 5.726
TA: Yuepeng Wang
TA e-mail:
TA office hours: Monday, Wednesday 4-5 pm at GDC 5.710B.
Reference books (optional): The Calculus of Computation by Aaron Bradley and Zohar Manna;  
Decision Procedures: An Algorithmic Point of View by Daniel Kroening and Ofer Strichman
Course Webpage:

Course Description:

Automated logical reasoning has enabled substantial progress in many fields of computer science, including software and hardware verification, theorem proving, program analysis, and artifical intelligence. In this course, we will study widely-used logical theories and decision procedures for answering whether formulas in these theories are satisfiable. In particular, we will consider automated reasoning techniques for propositional logic, first-order logic, linear arithmetic over reals and integers, theory of uninterpreted functions, and combinations of these theories. We will also look at applications of logic, particularly in program verification.

Requirements and Grading:

  • Regular class attendance is required. Please email instructor if you will not be able to attend class on a particular day.
  • The course will have two in-class exams. The exams are closed-book and closed-notes.
  • The homework assignments collectively count for 35% of your final grade, and each exam will count for 30% of final grade. The remaining 5% will be based on class attendance and participation.


  • Our first class will meet on Tuesday, Jan 16 in GDC 1.406.
  • We have been assigned a new classroom: We will meet in GDC 4.304 starting Tuesday, Jan 23.
  • The first problem set is out and will be due Thursday, February 1.
  • The second problem set is out and will be due Tuesday, February 13.
  • The third problem set is out and will be due Tuesday, February 20.
  • The fourth problem set is out and will be due Thursday, March 1.
  • The fifth problem set is out and will be due Tuesday, March 27.
  • Problem set 6 is out and will be due Tuesday, April 3.
  • Problem set 7 is out and will be due Tuesday, April 19.


    In the Reading section of the syllabus below, COC refers to the Bradley & Manna Calculus of Computation book, while DP refers to the "Decision Procedures: An Algorithmic Point of Book" by Kroening & Strichman.

    Date Lecture topics Notes Reference
    01/18 Introduction and basics Lecture 1 COC 1.1-1.5
    01/23 Normal forms and DPLL Lecture 2 COC 1.6-1.7
    01/25 CDCL-based SAT Solvers Lecture 3 DP 2.2
    CDCL SAT solvers
    01/30 Practical applications of boolean satisfiability Lecture 4 N/A
    02/01 Binary decision diagrams Lecture 5 Notes on BDDs
    DP 2.3
    02/06 No class    
    02/08 No class    
    02/13 Semantics of First Order Logic Lecture 6 COC 2.1-2.4, COC 2.7
    02/15 Proof rules for first order logic
    Properties of FOL
    Lecture 7 COC 2.6
    02/20 Unification Lecture 8 N/A
    02/22 First-Order Theorem Proving Lecture 9  
    02/27 Overview of First-Order Theories Lecture 10 COC Chapter 3
    03/01 Review   N/A
    03/06 Exam   N/A
    03/08 Go over exam  
    03/20 Theory of Equality Lecture 11 COC Chapter 9
    03/22 Linear Arithmetic over Rationals
    Lecture 12 CLRS Chapter 29
    03/27 Omega Test Lecture 13 Omega test paper
    03/29 Cuts-from-Proofs Lecture 14 CFP paper
    04/03 Nelson-Oppen Lecture 15 COC Chapter 10
    04/05 DPLL(T) Framework Lecture 16  
    04/10 Hoare Logic Lecture 17  
    04/12 Verification conditions    
    04/17 Exercises & Dafny    
    04/19 VCs with functions and pointers Lecture 18  
    04/24 Abstract Interpretation Lecture 19  
    04/26 ALR Taboo Game!    
    05/01 EXAM 2