Ehrenfeucht–Fraïssé game
In the mathematical discipline of model theory, the Ehrenfeucht–Fraïssé game (also called back-and-forth games) is a technique based on game semantics for determining whether two structures are elementarily equivalent. The main application of Ehrenfeucht–Fraïssé games is in proving the inexpressibility of certain properties in first-order logic. Indeed, Ehrenfeucht–Fraïssé games provide a complete methodology for proving inexpressibility results for first-order logic. In this role, these games are of particular importance in finite model theory and its applications in computer science (specifically computer aided verification and database theory), since Ehrenfeucht–Fraïssé games are one of the few techniques from model theory that remain valid in the context of finite models. Other widely used techniques for proving inexpressibility results, such as the compactness theorem, do not work in finite models. Ehrenfeucht–Fraïssé-like games can also be defined for other logics, such as fixpoint logics and pebble games for finite variable logics; extensions are powerful enough to characterise definability in existential second-order logic. Main idea The main idea behind the game is that we have two structures, and two players – Spoiler and Duplicator. Duplicator wants to show that the two structures are elementarily equivalent (satisfy the same first-order sentences), whereas Spoiler wants to show that they are different. The game is played in rounds. A round proceeds as follows: Spoiler chooses any element from one of the structures, and Duplicator chooses an element from the other structure. In simplified terms, the Duplicator's task is to always pick an element "similar" to the one that the Spoiler has chosen, whereas the Spoiler's task is to choose an element for which no "similar" element exists in the other structure. Duplicator wins if there exists an isomorphism between the eventual substructures chosen from the two different structures; otherwise, Spoiler wins. The game lasts for a fixed number of steps (which is an ordinal – usually a finite number or ). Definition Suppose that we are given two structures and , each with no function symbols and the same set of relation symbols, and a fixed natural number n. We can then define the Ehrenfeucht–Fraïssé game to be a game between two players, Spoiler and Duplicator, played as follows: The first player, Spoiler, picks either a member of or a member of . If Spoiler picked a member of , Duplicator picks a member of ; otherwise, Duplicator picks a member of . Spoiler picks either a member of or a member of . Duplicator picks an element or in the model from which Spoiler did not pick. Spoiler and Duplicator continue to pick members of and for more steps. At the conclusion of the game, we have chosen distinct elements of and of . We therefore have two structures on the set , one induced from via the map sending to , and the other induced from via the map sending to . Duplicator wins if these structures are the same; Spoiler wins if they are not. For each n we define a relation if Duplicator wins the