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.