1 Unifying Themes in Finite Model Theory Scott Weinstein One of the fundamental insights of mathematical logic is that our understand- ing of mathematical phenomena is enriched by elevating the languages we use to describe mathematical structures to objects of explicit study. If mathe- matics is the science of pattern, then the media through which we discern patterns, as well as the structures in which we discern them, command our attention. It is this aspect of logic which is most prominent in model theory, “the branch of mathematical logic which deals with the relation between a formal language and its interpretations” [21]. No wonder, then, that mathe- matical logic, in general, and finite model theory, the specialization of model theory to finite structures, in particular, should find manifold applications in computer science: from specifying programs to querying databases, computer science is rife with phenomena whose understanding requires close attention to the interaction between language and structure. As with most branches of mathematics, the growth of mathematical logic may be seen as fueled by its applications. The very birth of set theory was occasioned by Cantor’s investigations in real analysis, on subjects themselves motivated by developments in nineteenth-century physics; and the study of subsets of the real line has remained the source of some of the deepest results of contemporary set theory. At the same time, model theory has matured through the development of ever deeper applications to algebra. The interplay between language and structure, characteristic of logic, may be discerned in all these developments. From the focus on definability hierarchies in descriptive set theory, to the classification of structures up to elementary equivalence in classical model theory, logic seeks order in the universe of mathematics through the medium of formal languages. As noted, finite model theory too has grown with its applications, in this instance not to analysis or algebra, but to combinatorics and computer sci- ence. Beginning with connections to automata theory, finite model theory has developed through a broader and broader range of applications to problems in graph theory, complexity theory, database theory, computer-aided verifica- tion, and artificial intelligence. And though its applications have demanded