Mathematically based techniques fOR the specification, development and verification of software and hardware systems. Referentially transparent languages are amenable to symbolic manipulation allowing program transfORmation (e.g. changing a clear inefficient specification into an obscure but efficient program) and proof of cORrectness. {OxfORd FM archive (http://www.comlab.ox.ac.uk/archive/fORmal-methods.html)}. (1996-05-15)