CS598MP: FALL'05: Automata and logic in verification
Tuesdays and Thursdays, 3:30-4:45
Office hours: Thursdays, 2:00-3:00
Overview of course
Logic is one of the cornerstones of computer science.
While the beginnings of computer science were intimately related to
logic (pioneered by Goedel and Turing), logic has a very modern
use in verification: it serves as a robust way to specify properties of
systems.
Logic in verification has three distinct important characteristics:
(1) it should be natural, a language using which a human
can express correctness requirements,
(2) it should have a precise semantics, and
(3) it should be amenable to model-checking (it should be decidable
and in fact efficiently tractable).
The study of logic in verification forms a very core aspect of the
field, and forms the theoretical basis on which all formal methods is
developed. In this course, we will study various logics that arise in
this field (first-order logics, temporal logics, fixpoint logics),
automata and games that serve as machine-equivalent formalisms for these
logics, and algorithms that render questions on these logics tractable.
We will cover the following topics roughly:
Regular languages and its logical characterizations, logics on words:
MSO and FOL on words, linear-time temporal logic, logics on trees,
regular tree languages, branching time temporal logics, automata on
infinite words and trees, Rabin's theorem, model checking temporal
logics using automata, algorithms on automata, logics on structures,
fixpoint logics, games, mu-calculus and parity games, decidable logics
such as reals, Pressburger arithmetic and other decidable theories,
decidable logics on graphs, and combinations of decision procedures.
Mathematical maturity and some knowledge of automata theory and propositional logic required.
Books/references:
Languages, Automata and Logic, Wolfgang Thomas.
Handbook of Formal Languages.
Click here for a tech report which
is close to the published version.
Automata, Logic and Infinite Games: A Guide to Current Research
Lecture Notes in Computer Science, Vol. 2500.
Available online on UIUC net domains.
Linear-time temporal logic and Buchi automata, Madhavan Mukund.
Automata on infinite objects, Wolfgang Thomas, Handbook of Theoretical
Computer Science, Vol B. (Electronic Reserve at UIUC)
TATA: Tree automata Techniques and Applications
Section 6.2 from book "Parameterized Complexity", by Downey and Fellows
(Electronic Reserve at UIUC)
Finite Model Theory, by Ebbinghaus and Flum.
Lecture 0 (8/25): Introduction, motivation and overview
Lecture 1 (8/30): Logics on fixed structures; FO, SO, MSO;
overview of automata on words
Lecture 2 (9/1): Equivalence of MSO on finite words and regular languages
Homerwork #1
Details of the proof of MSO -> Automata
Lecture 3 (9/6): Example of translation of MSO to automata,
decidability of MSO, complexity, prenex normal form,
MSO=EMSO, undecidability of satisfiability of second-order logic
over finite words with quantification
over binary relations only
Lecture 4 (9/8) Weak monadic second-order theory of one successor (WS1S);
decidability using automata on finite words;
deciding Presburger arithmetic (first order theory of
natural numbers with addition) using WS1S
Homerwork #2
Lecture 5 (9/13): Linear temporal logic on finite words; model checking;
notion of atoms
Lecture 6 (9/15): Vardi-Wolper construction for LTL on finite words
Lecture 7 (9/20): System model checking for LTL, satisfiability of LTL;
LTL over infinite words; Vardi-Wolper construction for
LTL to generalized Buchi automata
Lecture 8 (9/22): Automata on infinite words: Buchi automata, closure
properties
Lecture 9 (9/27): Complementing Buchi automata
Lecture 10 (9/29): Deciding MSO over infinite words; deciding FO over reals
Lecture 11 (10/4): Interpretations; deciding MSO over finite traces by
interpreting over finite words
Homerwork #3 ; due Oct 14
Lecture 12 (10/6): Overview of results and topics covered thus far;
definition of top-down tree automata on finite trees
(see the TATA book)
Lecture 13 (10/11): Top-down and bottom-up tree automata, determinization
of bottom-up tree automata, closure under union, intersection, complement and projection, equivalence between MSO on trees and regular tree languages.
Lecture 14 (10/13): Two-player reachability games on finite graphs; solving
games and determinacy; solving tree automata membership
and emptiness using games.
Lecture 15 (10/18): MSO on finite binary trees is decidable;
Interpretation on finite trees: MSO on series-parallel
graphs is decidable (by interpretation on the term
representing the graph)
Lecture 16 (10/20): Definition of tree width; tree decompositions;
definition of a finitely-labeled tree representing a
graph of bounded tree width
Lecture 17 (10/25): Courcelle's Theorem: MSO on graphs of bounded tree
width is solvable in linear time in the graph.
Applications of Courcelle's theorem; Seese's theorem.
Lecture 18 (10/27): Discussion of seminar papers/projects; winning conditions
for omega-automata (Buchi, Rabin, parity)
Homerwork #4 ; due Nov 9
Lecture 19 (11/1): Parity games: zero-memory determinacy; solving parity
games on finite graphs.
Lecture 20 (11/3): Caucal's transformations; Muchnik's theorem; Caucal hierarchy (MSO over pushdown graphs is decidable;
N with (2^n)-predicate is decidable)
Lecture 21 (11/8): Synchronous rational graphs and their decidable FO theory
Lecture 22 (11/10): Rabin's tree theorem: MSO over the infinite binary tree
is decidable
Lecture 23 (11/15): Finite model theory; logical characterizations of NP and
P.
Lecture 24 (11/17): Finite model theory; overview of course.
(11/29): Rishi Bharadwaj: Quantifier Elimination
Papers:
Cooper: Theorem Proving in Arithmetic without
Multiplication, 1972
Ferrante and Rackoff: A Decision Procedure for the
First Order Theory of Real Addition with Order, 1975.
(12/1): Ayesha Yasmeen: Automata in Security
Papers:
Schneider: Enforceable Security Policies
(12/6): Michael Katelman and Traian Serbanuta:
Decidable and undecidable questions in rewriting
and
Sumanth Kowshik:
Automata based models for software
(12/8): Ken Keefe:
Combining decision procedures
and
Andrei Popescu: Monadic second-order logic and mu-calculus