| ALR Spring 2021 |
| |
Welcome to the home page for |
| Instructor: | Işıl Dillig |
| Time: | Tuesday, Thursday 2-3 pm |
| Place: | Zoom |
| Instructor e-mail: | isil@cs.utexas.edu |
| Instructor office hours: | Thursday 3-4 pm |
| TA: | Shankara Pailoor |
| TA e-mail: | spailoor@cs.utexas.edu |
| TA office hours: | Monday 4-5 pm |
| 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: | http://www.cs.utexas.edu/~isil/cs389L/ |
| Date | Lecture topics | Notes | Reference |
| 01/19 | Introduction and basics | Lecture 1 | COC 1.1-1.5 |
| 01/21 | Normal forms and DPLL | Lecture 2 | COC 1.6-1.7 |
| 01/26 | CDCL-based SAT Solvers | Lecture 3 | DP 2.2 CDCL SAT solvers |
| 01/28 | Free time for programming assignment | N/A | N/A |
| 02/02 | Practical applications of boolean satisfiability | Lecture 4 | N/A |
| 02/04 | Binary decision diagrams | Lecture 5 | Notes on BDDs DP 2.3 |
| 02/09 | Semantics of First Order Logic | Lecture 6 | COC 2.1-2.4, COC 2.7 |
| 02/11 | Proof rules and properties of FOL | Lecture 7 | COC 2.6 |
| 02/16 | Unification | Lecture 8 | |
| 02/18 | First-order theorem proving | Lecture 9 | |
| 02/23 | Overview of First-Order Theories | Lecture 10 | COC Chapter 3 |
| 02/25 | Theory of Equality |
Lecture 11 | COC Chapter 9 |
| 03/02 | Free time for programming assignment | N/A | N/A |
| 03/04 | Linear Arithmetic over Rationals | Lecture 12 | CLRS Chapter 29 | 03/09 | Linear Arithmetic over Integers | Lecture 13 |
| 03/11 | Nelson-Oppen | Lecture 14 | COC Chapter 10 |
| 03/16 | Spring break | ||
| 03/18 | Spring break | ||
| 03/23 | DPLL(T) Framework | Lecture 15 | |
| 03/25 | Hoare Logic | Lecture 16 |   |
| 03/30 | Verification conditions | Lecture 17 |   |
| 04/01 | VCs with functions and pointers | Lecture 18 |   |
| 04/06 | Intro to Dafny | N/A |   |
| 04/08 | Time for programming assignment |   | |
| 04/13 | Abstract interpretation | Lecture 19 |   |
| 04/15 | Guess-and-check methods | Lecture 20 | Houdini Abduction |
| 04/20 | Predicate abstraction; CEGAR | Lecture 21 | |
| 04/22 | Proving (non-)termination | Ledture 22 |   |
| 04/27 | Reasoning about concurrency | Lecture 23 |   |
| 04/29 | Program Synthesis I | Lecture 24 |   |
| 05/04 | Program Synthesis II | Lecture 25 |   |
| 05/06 | Wrap-up |   | |