We study Monadic Second-Order Logic (MSO) over finite words, extended with (non-uniform arbitrary) monadic predicates. We show that it defines a class of languages that has algebraic, automata-theoretic and machine-independent characterizations. We consider the regularity question: given a language in this class, when is it regular? To answer this, we show a substitution property and the existence of a syntactical predicate. We give three applications. The first two are to give simple proofs of the Straubing and Crane Beach Conjectures for monadic predicates, and the third is to show that it is decidable whether a language defined by an MSO formula with morphic predicates is regular.
展开▼