Programming from specifications (Prentice Hall international series in computer science)