1. Introduction
In 1936, M. H. Stone initiated duality theory in logic by presenting a dual category equivalence between the category of Boolean algebras and the category of compact Hausdorff spaces having a basis of clopen sets. Stone’s duality and its variants are central in making the link between syntactical and semantic approaches to logic. In computer science this link is central as the two sides correspond to specification languages and to spaces of computational states, respectively. The ability to translate faithfully between these two worlds has often proved itself to be a powerful theoretical tool as well as a handle for making practical problems decidable. A prime example is the seminal work (Abramsky 1991) linking program logic and domain theory via Stone duality. Other examples include the work (Plotkin 1980) and (Smyth 1983) on predicate transformers, and (Goldblatt 1989) identifying extended Stone duality as the setting for completeness issues for Kripke semantics in modal logic. Applications of Stone duality in logic and computer science generally need more than just basic Stone duality. For example, Abramsky’s work needs Stone or Priestley duality for distributive lattices and the dualisation of additional structure in the form of functors. Applications in modal logic require a duality for Boolean algebras or distributive lattices endowed with additional operations. Thus much work in duality theory has been spawned to answer questions and solve problems coming from semantics both in computer science and logic.