Skip to main content
Article thumbnail
Location of Repository

Proof Methods for Corecursive Programs

By Graham Hutton and Jeremy Gibbons


Recursion is a well-known and powerful programming technique, with a wide variety of applications. The dual technique of corecursion is less well-known, but is increasingly proving to be just as useful. This article is a tutorial on the four main methods for proving properties of corecursive programs: fixpoint induction, the approximation (or take) lemma, coinduction, and fusion

Publisher: IOS Press
Year: 2005
OAI identifier:
Provided by: Nottingham ePrints

Suggested articles


  1. (1988). An Introduction to Functional Programming, doi
  2. (2004). Chasing Bottoms: A Case Study in Program Verification in the Presense of Partial and Infinite Values, in:
  3. Coalgebras, Monads and Comonads, in: doi
  4. (2003). Generalised Coinduction, doi
  5. (1994). Infinite Objects in Type Theory, in: Types for Proofs and Programs
  6. (1998). Introduction to Functional Programming using Haskell (second edition),
  7. (1990). Introduction to Lattices and Order, doi
  8. (1980). Mathematical Theory of Program Correctness,
  9. (1988). Non-Well-Founded Sets, doi
  10. (1997). O.: Algebra of Programming, doi
  11. (1991). Program Calculation Properties of Continuous Algebras,
  12. (1975). Recursive Programming Techniques,
  13. (1996). Vicious Circles: On the Mathematics of Non-Wellfounded Phenomena, doi

To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.