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

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 SATsolvers (SAT=”satisfiability”). Extending the logic with different theories leads us to SMTsolvers (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
Decision Procedures: An Algorithmic Point of View
by Daniel Kroening and Ofer Strichman
SpringerVerlag, Berlin, 2008 
Lecture Content
Nr.

Theme

Slides


1.

Introduction


2.

Firstorder logic


3.

Propositional logic


Examples for propositional logic


SATsolving


Examples for SATsolving


4.

SATmodulotheories solving


5.

Equality logic


6.

Linear real algebra


FourierMotzkin 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
