CS 257: Introduction to Automated Reasoning
Winter 2026, Tues/Thurs 1:30 PM PDT - 2:50 PM PDT, Skilling Building, Rm 80 (map)Faculty Instructor: Caroline Trippel
Student Instructor: Hanna Lachnitt
Teaching Assistant: Rachel Cleaveland
Syllabus: Syllabus
Canvas: Class Homepage
Ed Discussion : Ask a Question on Ed
Automated logical reasoning has enabled substantial progress in many fields, including hardware and software verification, theorem-proving, and artificial intelligence. Different application scenarios may require different automated reasoning techniques and sometimes their combination. In this course, we will study the theory and practice of automated reasoning. We start with propositional logic and the propositional satisfiability (SAT) problem. We then move on to general first-order reasoning, including first-order resolution and unification. We next consider first-order theories, such as linear arithmetic over reals and integers, uninterpreted functions, bit-vectors, and arrays. We cover the satisfiability modulo theories (SMT) problem, the DPLL(T) calculus for SMT, and techniques for reasoning about combinations of theories. The course will include many examples of practical applications of these algorithms as well as guest speakers who will tell us about their use in industry.
Overview
Units This class is offered for 3 units as either a letter grade or a CR/NC course.
Prerequisites CS154 Introduction to the Theory of Computation, or CS106B Programming Abstractions and CS103 Mathematical Foundations of Computing, or consent of instructor.
Learning Objectives Through active engagement and completion of course activities, you will be able to:
- Understand the syntax, semantics, and properties of different logical languages for encoding different decision problems;
- Understand and prove properties about popular automated reasoning procedures (e.g., CDCL, DPLL(T), Simplex, Nelson-Oppen);
- Understand the roles of automated reasoning in real-world applications such as software/hardware verification and synthesis;
- Get hands-on experience in using off-the-shelf automated reasoning tools;
- Get exposure to formal methods literature and engage in formal methods research.
Commitment to Inclusion
We are committed to creating a respectful, welcoming, and inclusive environment where students from all backgrounds and perspectives are well-served. To achieve this goal, we encourage all members of the class to conduct discussions in or out of class in a way that shows respect and dignity to everyone. We value your thoughts and encourage you to communicate them while allowing others to express their thoughts as well. This will allow for rigorous intellectual engagement and a deeper learning experience for all. We appreciate your suggestions on ways to improve the effectiveness of the course for you personally or for other students. If any of our class meetings conflict with your religious events, please let us know so that we can make arrangements for you.
Schedule
| Date | Topic | Lecturer | Supplemental Reading | Class Notes |
|---|---|---|---|---|
| 01/06 | [1] Propositional Logic: syntax, semantics, satisfiability and validity | Caroline Trippel | CC 1.1-1.5 MI 1.0-1.2 | Slides |
| 01/08 |
[2] Propositional Logic: Normal forms, SAT-solving, resolution |
Caroline Trippel | CC 1.6-1.7 MI 1.6 |
Slides |
| 01/13 | [3] Proof Systems | Guest lecture by Clark Barrett | Book Chapter | Slides |
| 01/15 | [4] Propositional Logic: DPLL | Guest lecture by Clark Barrett | DP Chapter 2 | Slides |
| 01/17 | ||||
| 01/20 |
[5] Propositional Logic: CDCL |
Caroline Trippel | Slides | |
| 01/22 | [6] First-order Logic: Syntax | Hanna Lachnitt | CC 2.1 MI 2.1 |
Slides |
| 01/27 | [7] First-order Logic: Semantics, normal forms, first-order resolution, unification I | Hanna Lachnitt | CC: 2.2-2.5 MI: 2.2 before "Definability in a Structure" |
Slides |
| 01/29 |
[8] First-order Logic: Semantics, normal forms, first-order resolution, unification II, first-order theories |
Hanna Lachnitt | Slides | |
| 02/03 | [9] Applications: Model checking | Caroline Trippel | Slides | |
| 02/05 | [10] First-order Theories: Overview on theories and DPLL(T) | Hanna Lachnitt | CC Ch. 3 (After class) | Slides |
| 02/07 | ||||
| 02/09 | Midterm review session with cookies! | |||
| 02/10 | [11] First-order Theories: Arithmetic I | Hanna Lachnitt | DP Ch 5.1-5.2 | |
| 02/11 | ||||
| 02/12 |
[12] First-order Theories: Arithmetic II |
Hanna Lachnitt | ||
| 02/16 | ||||
| 02/17 | [13] Decision procedures for arrays, strings, and sequences | Guest lecture by Clark Barrett | ||
| 02/19 | [14] Applications: Symbolic execution | Rachel Cleaveland | ||
| 02/24 | [15] TBD | Guest lecture by Leonardo de Moura | ||
| 02/26 | [16] Bit-vectors | Guest lecture by Mathias Preiner | DP Ch 6 | |
| 02/27 | Course withdrawal deadline |
|||
| 03/03 | [17] SMT: Herbrand's theorem, quantifier instantiation | Hanna Lachnitt | DP Ch. 9.5 | |
| 03/05 | [18] SMT: Theory combination | Caroline Trippel | DP 10.1-10.5 | |
| 03/10 | [19] TBD | Guest lecture by Nina Narodytska | ||
| 03/12 | [20] Schedule buffer: Applications (program Synthesis), finish theory combination, project office hours | Caroline Trippel | ||
| 03/17 |
Course Materials
Ed Discussion Ed Discussion (https://edstem.org/us/courses/89538/) will be used both for online discussion and for announcements. We recommend keeping email notifications on from Ed Discussion (https://edstem.org/us/settings/) to avoid missing any time-sensitive announcements.
Canvas Recordings of the lectures and additional supplementary materials will be available on Canvas ( https://canvas.stanford.edu/courses/220730 ).
Poll Everywhere We will use Poll Everywhere to facilitate in-class discussions and quizzes.
Technology You will need to have access to a PC to complete the programming components of homework assignments. You will also need internet connection so that you can access email, class website, Ed discussion, and Canvas. Students can borrow equipment and access other learning technology from the Lathrop Learning Hub
Readings Reading assignments for each lecture will be posted at least 1 week in advance. You are expected to have read those materials before the lecture. The readings will be primarily selected from the following textbooks accessible through your Stanford account:
- CC: The Calculus of Computation by Aaron Bradley and Zohar Manna (online version).
- DP: Decision Procedures: An Algorithmic Point of View by Daniel Kroening and Ofer Strichman (online version).
- MI: A Mathematical Introduction to Logic by Herbert B. Enderton (online version).
Office Hours
*Office hours by appointment after the week of March 9.- Caroline: Thursdays (5:30pm–6:30pm) in Gates 470
- Hanna: Fridays (3:00pm-4:00pm) in Gates 498
- Rachel: Mondays (4:00pm-5:00pm) in CoDa W101 and Wednesdays (11:00am–12:00pm) in Gates 259
Deliverables
Homework
There will be 3 written homework assignments given in the first half of the quarter. The assignments contain problem sets that evaluate your understanding of the concepts and proof techniques covered in class and the reading. Two of the assignments also have programming components, where you will gain experience using automated reasoning tools. Homework will be due by 11:00 AM and submitted on Gradescope. Please do not email your homework to the course staff unless asked. Solutions will be available online shortly after the deadline.- Assignment 1, released 1/8, due Saturday 1/17
- Assignment 2, released 1/20, due Thursday 1/29
- Assignment 3, released 1/29, due Saturday 2/7
Midterm
There will be one take-home midterm exam, which will contain problems similar in style to the homework assignments. Preparing for the exam will enable you to reinforce your understanding of the key concepts and proof techniques covered in the first half of the quarter. It will cover lectures 1 through 10. The take-home midterm will be released on Wednesday, Feb. 11, at 7:00 AM. It will be available for 24 hours until Thursday, Feb. 12 at 7:00 AM. The exam is expected to take 2 hours. A room on campus will be provided for those who wish to take the exam there. We ask that you take the exam at home if you are able as the reserved room will likely not be large enough to accommodate everyone. There will be a 1.5 hour review session on Monday, Feb. 9, from 7:00 PM to 8:30 PM, where students will have the opportunity to ask questions.Final Project
You will carry out a course project in the second half of the quarter in teams of 2-3. You may use your existing research project if it is relevant to the course and the instructor approves. But, there will have to be a piece of your existing project that is explicitly carved out for the course project. You have two options for the course project:Option 1: Implement a decision procedure and an optimization of it. Present an experimental evaluation of your implementation. For example, the decision procedure could be the DPLL procedure, the optimization could be watched literals, and the evaluation could be (subsets of) benchmarks from the recent SAT competition.
Option 2: Work on a research problem related to automated reasoning. Suitable projects include improving an existing automated reasoning technique, or applying automated reasoning techniques to solve a domain-specific challenge.
You are encouraged to consult with an instructor to determine if your project is adequate for the course. Please find a list of project ideas here. Alternatively, you may devise a completely original project.
The course project deliverables include:
- Project partners: 1/20/2026
- Project proposal: 2/16/2026, 1 page, 10pt font, single-spaced, single column
- Project progress review: 2/27/2026, 3 slides maximum
- Final report: 3/17/2026, 4 pages, 10pt font, single-spaced, two-column
- Artifact: 3/17/2026
Course Policies
Grades
| Category | Grades % | Notes |
|---|---|---|
| Attendance and participation in class | 5% | 3 conditional absence "passes" (see below) Arrival/departure > 10 min late/early counts as an absence |
| Homework | 40% | Eligible for late days One can be revised for extra credit |
| Midterm | 25% | Not eligible for late days Can be revised for extra credit |
| Final Project | 30% | Only project proposal is eligible for late days |
Attendance
Non-CGOE student gets 3 “passes” to be physically absent from class without losing participation points, provided that you:- watch the recording; and
- complete and submit the in-class exercises within a week.
We understand circumstances may arise that will interfere with your ability to attend class, such as feeling sick or needing to quarantine for the safety of everyone. In light of these considerations, we request that you:
- skip class if you are feeling sick, especially if you have any COVID-19 symptoms;
- watch the lecture recording posted on Canvas;
- complete the in-class quiz asynchronously;
- remember that you have 3 absence “passes”;
- meet with the course staff afterwards to ask questions and get caught up.
Other Logistics
Collaboration: You are encouraged to discuss assignments with other students. However, each student must independently write their own solution to homework assignments. Submitting solutions or code written by another person is a violation of the Honor Code. See: honor code and collaboration for some general guidelines, which apply to both project assignments and problem sets.Accommodations: Students who may need an academic accommodation based on the impact of a disability must initiate the request with the Office of Accessible Education (OAE). Professional staff will evaluate the request with required documentation, recommend reasonable accommodations, and prepare an Accommodation Letter for faculty dated in the current quarter in which the request is being made. Students should contact the OAE as soon as possible since timely notice is needed to coordinate accommodations. The OAE is located at 563 Salvatierra Walk; phone: 723-1066; web site http://studentaffairs.stanford.edu/oae.