ALR Spring 2016

    Welcome to the home page for
    Automated Logical Reasoning!

Logistical Information:

Instructor: Işıl Dillig
Time: Tuesday, Thursday 5:00 pm - 6:15 pm
Place: GDC 4.304
Instructor e-mail:
Instructor office hours: Tuesday, Thursday 6:15-7pm in GDC 5.726
TA: Pengxiang Cheng
TA e-mail:
TA office hours: Monday, Wednesday 2:30-3:30pm
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.


  • Since the instructor is away at a conference during the first week of the semester, our first class will meet on January 24.
  • Our classroom will move to GDC 1.304 starting Thursday, Jan 26.
  • The first problem set is available here . It's due Thursday, Feb 2.
  • The second problem set is available here . It's due Thursday, Feb 16.
  • The third problem set is available here .
  • The fourth problem set is available here .
  • Here is problem set 5 . It's due Thursday, March 30.
  • Here is problem set 6 . It's due Thursday, April 13.


    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/24 Introduction and basics Lecture 1 COC 1.1-1.5
    01/26 Normal forms and DPLL Lecture 2 COC 1.6-1.7
    01/31 CDCL-based SAT Solvers Lecture 3 DP 2.2
    CDCL SAT solvers
    02/02 CDCL-based SAT Solvers, cont. Same as 01/31 N/A
    02/07 Practical applications of boolean satisfiability Lecture 4  
    02/09 Binary Decision Diagrams Lecture 5 Notes on BDDs
    DP 2.3
    02/14 MaxSAT
    MaxSAT guest lecture
    02/16 Semantics of First Order Logic Lecture 6 COC 2.1-2.4, COC 2.7
    02/21 Proof rules for first order logic
    Properties of FOL
    Lecture 7 COC 2.6
    02/23 Review   N/A
    02/28 Unification Lecture 8  
    03/02 EXAM 1   N/A
    03/07 First-Order Theorem Proving Lecture 9  
    03/09 FOL and Theories Lecture 10 COC Chapter 3
    03/14 SPRING BREAK    
    03/16 SPRING BREAK    
    03/21 Overview of First-Order Theories Lecture 11 COC Chapter 3
    03/23 Theory of Equality Lecture 12 COC Chapter 9
    03/28 Linear Arithmetic over Rationals Lecture 13 CLRS Chapter 29
    03/30 Simplex
    Lecture 14  
    04/04 Linear Arithmetic over Integers I Lecture 15 Omega test paper
    04/06 Linear Arithmetic over Integers II Lecture 16 CFP paper
    04/11 Nelson-Oppen Lecture 17 COC Chapter 10
    04/13 DPLL(T) Framework Lecture 18
    04/18 Constraint simplification Lecture 19 SAS'10 paper
    04/20 Verification I Lecture 20  
    04/25 Verification II Lecture 21  
    04/27 Verification III    
    05/02 EXAM 2    
    05/04 ALR Taboo Game!