refinement calculus is a formal system (inspired from hoare logic) that promotes program refinement. the fermat transformation system is an industrial-strength implementation of refinement. the b-method is also a formal method that extends refinement calculus with a component language: it has been used in industrial developments.