Loopskey-logo
CourseTechnology

Automated Reasoning: satisfiability

By External Provider

Price

Free

Go to content

Opens coursera.org in a new tab

Level

INTERMEDIATE

Duration

30 h

About this course

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.

What you will learn

  • Learn the fundamentals of SAT (Boolean Satisfiability) and SMT (Satisfiability Modulo Theories) solving
  • Apply SAT/SMT techniques to real problems such as scheduling, Sudoku solving, rectangle fitting, and program verification.
  • Understand core SAT-solving algorithms including Resolution, DPLL, and CDCL.
  • Use the Simplex method and SMT techniques to reason about linear inequalities and optimization problems.