Mona: Monadic Second-order Logic in Practice
The purpose of this article is to introduce Monadic Second-order Logic as a practical means of specifying regularity. The logic is a highly succinct alternative to the use of regular expressions. We have built a tool MONA, which acts as a decision procedure and as a translator to finite-state automata. The tool is based on new algorithms for minimizing finite-state automata that use binary decision diagrams (BDDs) to represent transition functions in compressed form. A byproduct of this work is an algorithm that matches the time but improves the space of Sieling and Wegener's algorithm to reduce OBDDs in linear time. The potential applications are numerous. We discuss text processing, Boolean circuits, and distributed systems. Our main example is an automatic proof of properties for the "Dining Philosophers with Encyclopedia” example by Kurshan and MacMillan. We establish these properties for the parameterized case without the use of induction. Our results show that, contrary to common beliefs, high computational complexity may be a desired feature of a specification formalism.
J. G. Henriksen et al., "Mona: Monadic Second-order Logic in Practice," Lecture Notes in Computer Science: Tools and Algorithms for the Construction and Analysis of Systems, Springer Verlag, Jan 1995.
The definitive version is available at http://dx.doi.org/10.1007/3-540-60630-0_5
Mathematics and Statistics
Article - Journal
© 1995 Springer Verlag, All rights reserved.