Lecture: Satisfiability Checking

Schedule WS 12/13

Prerequisites:
SWS:
V3 + Ü1
Lecture times:
Monday     15:30 – 17:00 (room 5056) (V2)
Thursday   10:00 – 11:30 (room 5056) (V1 + Ü1)
Start: 
October 08, 2012
Language:
English or German (depending on the students’ preferences)
Exam:       
written or oral, to be announced
ECTS credits:
6
 
News and materials can be found in the corresponding L2P learning room. For additional information see also the Campus page. During the semester we record the lecture and work out lecture notes. Both the videos and the notes will be made available in the L2P room. For possible exam combinations with other lectures see here.

Motivation

Different approaches in computer science involve tools (solvers) to check if 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.

In this lecture we deal with the automatic check of satisfiability for 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”). To demonstrate practical relevance, we employ the above methods in the context of bounded model checking.

Prerequisites

This course can be attended by bachelor students (as Wahlpflicht in theoretical computer science) as well as by master/diploma students.

Basic knowledge about algorithms is required.

Materials

For learning you can use the book
 Decision Procedures: An Algorithmic Point of View

 

 by Daniel Kroening and Ofer Strichman

 

 Springer-Verlag, Berlin, 2008

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

Lecture Content

The slides of the last lecture (WS 11/12):
 
Nr.
Theme   
Slides
1.
Introduction
2.
First-order logic
3.
Propositional logic
Examples for propositional logic
SAT-solving
Examples for SAT-solving
4.
SAT-modulo-theories solving
5.
Equality logic
6.
Linear real algebra
Fourier-Motzkin variable elimination
Simplex
7.
Presburger arithmetic
The branch and bound method
Gomory cuts
The Omega test
8.
Applications
Bounded model checking
Minimal critical subsystems
9.
Nonlinear real arithmetic
Virtual substitution
Cylindrical Algebraic Decomposition

Evaluations

WS 10/11: Lecturer Lecture
WS 11/12: Lecturer Lecture
WS 12/13: Lecturer Lecture