Author: Lindsay Groves
Source: GZipped PostScript (66kb); Adobe PDF (336kb)
Although program refinement is usually presented as a top-down process, real programs are usually constructed by extending, adapting and combining existing programs. We show how this kind of program development can be performed using editable refinement scripts, which can be extended, adapted and combined in this way. Our approach is illustrated by a sequence of example, beginning with a list insertion algorithm and culminating in a stable sorting algorithm.