ABSTRACT

First and foremost these decisions concern the class of structures to be con­ sidered (certain classes of algebras or relational structures, possibly just finite structures of a certain kind, etc.); and a notion of equivalence between struc­ tures (isomorphism, elementary equivalence, bisimulation equivalence, etc.). While the class of structures depends on what is to be modelled, the accompa­ nying notion of equivalence depends on the coarseness of this modelling, or its level of abstraction. Classical algebra, for instance, would typically consider the class of all algebras of a certain type, and analyse them up to isomor­ phism. Classical model theory is concerned with classes of all structures of a certain type, considered up to elementary equivalence. In fact, classical model

theory to a large extent can be understood as an exploration of elementary equivalence (first-order logic) and its relationship to isomorphism (algebra). Finite model theory on the other hand restricts its domain to just the finite structures of certain type, under a variety of equivalences that are coarser than elementary equivalence. Elementary equivalence is of no particular in­ terest since over finite structures it coincides with isomorphism. Apart from equivalences like bounded-variable elementary equivalence, which are partly motivated as appropriate technical substitutes for elementary equivalence in this setting, other notions of equivalence are motivated by specific require­ ments from application domains in the above sense. One such domain is the theoretical study of the behaviour of computational processes, which has long been a fruitful domain of interaction between logic and computer science.