Programming by Refinement, as Exemplified by the SETL Representation Sublanguage | Synapse