Abstract
Refinement is the process of deriving verifiably-correct software from its specification. In practice, however, refinement steps are complex and difficult to prove correct. We show how animation can be used to provide insights into the correctness, or otherwise, of refinement steps for the most general form of data refinement in which the whole system design can be changed in a single step.