Hutton, G., & Gibbons, J. (2005). Proof Methods for Corecursive Programs