Speaker:  Nils Klarlund, Bell Labs


Part I
------

"The logic-automata connection and applications"

Abstract:

This talk will be a survey of the Mona tool and its applications.
Mona is a tool for building powerful specification languages that
"compile into" automata.  Languages built on top of MONA that I will
mention include:

-- assertion languages for pointers

-- protocol specification languages

-- languages for generation of fast parsers that enforce
   side-constraints' on parse trees

Mona is used to generate automata from these languages, and these
automata can be used both at runtime and to do static analysis at
compiler time.  I will discuss the BDD-representation of automata and
the three-valued logic behind a practical engine for automata
calculations expressed by formulas in Mona's internal language,
monadic second-order logic.  The Mona tool is in use in applications
ranging from linguistics to hardware verification.

Part II
-------

"Relativization for the logic-automata connection."

Enthused (?) by the informal introduction to symbolic calculations
with automata in Part I, we will delve into the theoretical
underpinnings of the Mona tool.  In particular, we will discuss the
use of three-valued versions of WS1S (Weak Second order-theory of 1
Successor) to represent reasoning under constraints and how we can
compress automata in specialized ways without losing canonicity, a
property essential to BDD and automata-based calculations.  WS1S is a
second-order logic that catches reasoning about finite sets of numbers
and even a little bit of arithmetic.

(I still need to send you the paper "Relativization for the
logic-automata connection.".)

Part III
--------

Complementation of Buchi automata (Chapter 4)

I will go through the results of Chapter 4 of "Automata, logics, and
infinite games", which provide relatively simple ways of understanding
the behavior of omega-automata.  The results of Chapter 4 are just
what we need to generalize the decidability of WS1S to S1S (which
allows quantification over *arbitrary* sets of numbers).  We will
discuss also why, despite similar complexity-theoretic
characterizations, WS1S is somewhat usable in practice, whereas S1S is
almost totally unassailable for practical purposes.  To understand the
material, please try to read the whole chapter ahead.

