ALR Spring 2016

    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.816
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.


    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   DP 2.2
    CDCL SAT solvers
    01/30 CDCL-based SAT Solvers, cont.   N/A
    02/01 Practical applications of boolean satisfiability    
    02/06 No class    
    02/08 No class    
    02/13 Binary Decision Diagrams   Notes on BDDs
    DP 2.3
    02/15 Semantics of First Order Logic   COC 2.1-2.4, COC 2.7
    02/20 Proof rules for first order logic
    Properties of FOL
      COC 2.6
    02/22 Unification   N/A
    02/27 First-Order Theorem Proving    
    03/01 Review   N/A
    03/06 Exam   N/A
    03/08 Overview of First-Order Theories   COC Chapter 3
    03/13 SPRING BREAK    
    03/15 SPRING BREAK    
    03/20 Theory of Equality   COC Chapter 9
    03/22 Linear Arithmetic over Rationals   CLRS Chapter 29
    03/27 Simplex
    03/29 Linear Arithmetic over Integers I   Omega test paper
    04/03 Linear Arithmetic over Integers II   CFP paper
    04/05 Nelson-Oppen   COC Chapter 10
    04/10 DPLL(T) Framework  
    04/12 Hoare Logic    
    04/17 Verification conditions    
    04/19 VCs with functions and pointers    
    04/24 Abstract Interpretation    
    04/26 ALR Taboo Game!    
    05/01 EXAM 2