Skip to main content
  (Week 2)

Lecture 2: SAT: Solving and Applications

Week 2 | Apr 6 – Apr 12

Last week you saw solvers find bugs and prove correctness. This week: how do you encode a real engineering problem? We build a package manager in three versions, each asking a different question of the solver. Then we look under the hood at how modern SAT solvers actually work, and close with the first reading discussion.

What We Cover

Practice teaches SAT encoding as an engineering skill through configuration management. Three demos share the same package dependency graph: a SAT solver checks whether a package can be installed, a pseudo-boolean optimizer finds the cheapest installation, and a partial MaxSAT solver resolves conflicts by uninstalling as little as possible. We close with the pigeonhole problem, where solvers hit a proven mathematical wall.

Theory opens up the SAT solver. DPLL from last week has three fundamental limitations: no learning, chronological backtracking, and naive decisions. CDCL (Conflict-Driven Clause Learning) fixes all three. We walk through a concrete example step by step, building an implication graph and watching the solver derive a conflict clause and jump back to where the mistake actually originated.

Studio is the first reading discussion. You read one of three papers that question formal methods from different angles: Hoare on reliability without proof, Dodds on selling formal methods, Gabriel on worse is better. In small groups you share reactions, argue about the tensions, and post your group's sharpest disagreement to Ed.

Practice: Larger SAT apps: encoding quality, scalability, solver sympathy

From puzzles to engineering: encoding real problems as SAT, optimizing solutions, and resolving conflicts.

Theory: CDCL deep dive: conflict analysis, non-chronological backtracking, solver behavior intuition

How modern SAT solvers fix the three fundamental limitations of DPLL.

Studio: Reading discussion

For our first reading discussion: share what you read, argue about the tensions, and post your group's takeaway.