Abstract. We recall Hoare's formulation of data refinement in terms of upward, downward and total simulations between locally ordered functors from the structured locally ordered category generated by a programming language with an abstract data type to a semantic locally ordered category: we use a simple imperative language with a data type for stacks as leading example. We give a unified category theoretic account of the sort of structures on a category that allow upward simulation to extend from ground types and ground programs to all types and programs of the language. This answers a question of Hoare about the category theory underlying his constructions. It involves a careful study of algebraic structure on the category of small locally ordered categories, and a new definition of sketch of such structure. This is accompanied by a range of detailed examples. We extend that analysis to total simulations for modelling constructors of mixed variance such as higher order types.
Similar content being viewed by others
Author information
Authors and Affiliations
Additional information
Received: 27 March 1996 / 29 December 1998
Rights and permissions
About this article
Cite this article
Kinoshita, Y., Power, J. Data refinement and algebraic structure. Acta Informatica 36, 693–719 (2000). https://doi.org/10.1007/s002360050171
Issue Date:
DOI: https://doi.org/10.1007/s002360050171