We give an account of the use of category theory in modelling data refinement over the past twenty years. We start with Tony Hoare's formulation of data refinement in category theoretic terms, explain how the category theory may be made precise in generality and with elegance, using the notion of structure respecting lax transformation, for a first order imperative language, then study two main alternatives for extending that category theoretic analysis in order to account for higher order languages. The first is given by adjoint simulations; the second is given by the notion of lax logical relation. These provide techniques that can be used for a combined language, such as an imperative language with procedure passing. © 2008 Elsevier B.V. All rights reserved.
Johnson, M., Naumann, D., & Power, J. (2009). Category Theoretic Models of Data Refinement. Electronic Notes in Theoretical Computer Science, 225(C), 21–38. https://doi.org/10.1016/j.entcs.2008.12.064