What is Simple refinement?

A specification SP, the programming task it sets, is to generate an algebra A
such that A [SP]. Instead of trying this in a single step, we systematically go through a step-by-step approach, take more and more design decisions and implement each step. This includes selecting behavioural options that are opened by specification, between algorithms that are aware of this behaviour, between data representation schemes, etc. Each such decision is included as a separate step, usually consisting of a local change in detail.