An example of goal-directed, calculational proof - Backhouse, Roland Carl (Journal of Functional Programming)