Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

EIT Digital

Automated Reasoning: satisfiability

EIT Digital via Coursera


In this course, you will learn how to apply satisfiability (SAT/SMT) tools to solve a wide range of problems.
Several basic examples are given to get the flavour of the applications: fitting rectangles to be applied for printing posters, scheduling problems, solving puzzles, and program correctness. Also, the underlying theory is presented: resolution as a basic approach for propositional satisfiability, the CDCL framework to scale up for big formulas, and the simplex method to deal with linear inequalities.

The lightweight approach to following the Automated Reasoning: satisfiability course is just watching the lectures and doing the corresponding quizzes. To get a flavor of the topic this may work out fine. However, the much more interesting approach is to use this as a basis to apply SAT/SMT yourself on several problems, for instance on the problems presented in the honor's assignment.


  • SAT/SMT basics, SAT examples
    • This module introduces SAT (satisfiability) and SMT (SAT modulo theories) from scratch, and gives a number of examples of how to apply SAT.
  • SMT applications
    • This module shows a number of applications of satisfiability modulo the theory of linear inequalities (SMT)
  • Theory and algorithms for CNF-based SAT
    • This module describes how a rule called Resolution serves to determine whether a propositional formula in conjunctive normal form (CNF) is unsatisfiable. It is shown how an approach called DPLL does the same job, and how it is related to resolution. Finally, it is shown how current SAT solvers essentially implement and optimize DPLL.
  • Theory and algorithms for SAT/SMT
    • This module consists of two parts.
      The first part is about transforming arbitrary propositional formulas to CNF, leading to the Tseitin transformation doing this job such that the size of the transformed formula is linear in the size of the original formula.
      The second part is about extending SAT to SMT, in particular to dealing with linear inequalities. It is shown how the Simplex method for linear optimization serves for this job; the Simplex method itself is explained in detail.

Taught by

Hans Zantema


4.8 rating at Coursera based on 41 ratings

Start your review of Automated Reasoning: satisfiability

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.