Lecture: Satisfiability Checking

Important information

RWTHonlineSee here
Lecture + ExercisesMonday 08:30 – 10:00, AH III
Tuesday 08:30 – 10:00, AH III
First LectureOctober 7th, 2019
Examwritten, 120 minutes
Admission to examfive e-Tests + one programming task
PrerequisitesBasic knowledge about algorithms is required
SWS4 (V3Ü1)
Credit points6
First exam22.02.2020, 13:30 – 15:30
Second exam26.03.2020, 14:30 – 16:30

News and materials can be found in the corresponding Moodle learning room. For additional information see also the information on RWTHonline.


Different approaches in computer science involve tools (solvers) to check whether certain formulas are satisfiable. Examples can be found in the fields of hardware and software verification, counterexample generation, termination analysis of programs, and optimization algorithms, just to mention a few.

In this lecture we deal with the automatic check of satisfiability of formulas from different logics. Formulas of propositional logic can be checked for satisfiability using SAT-solvers (SAT=”satisfiability”). Extending the logic with different theories leads us to SMT-solvers (SMT=”satisfiability modulo theories”). During the semester we will discuss extensions of propositional logic with equalities, uninterpreted functions, and linear and non-linear constraints involving real- and integer-valued variables (linear/non-linear real/integer arithmetic). To demonstrate practical relevance, we employ the above methods in the context of bounded model checking.


For learning you can use the book

Daniel Kroening and Ofer Strichman: Decision Procedures: An Algorithmic Point of View, Springer-Verlag, Berlin, 2008.

which is available in the computer science library, the lecture slides and the lecture notes that will be made available in the L2P learning room.

Evaluations of past years