Please see http://www.cs.bham.ac.uk/research/projects/cosy/papers#dp0601