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