
Mechanizing Coinduction and Corecursion
in
Higherorder Logic
Lawrence C. Paulson
Computer Laboratory, University of Cambridge
Abstract
A theory of recursive and corecursive definitions has been developed in higherorder logic (HOL) and mechanized using Isabelle. Least fixedpoints express inductive data types such as strict lists; greatest fixedpoints express coinductive data types, such as lazy lists. Wellfounded recursion expresses recursive functions over inductive data types; corecursion expresses functions that yield elements of coinductive data types. The theory rests on a traditional formalization of infinite trees.
The theory is intended for use in specification and verification. It supports reasoning about a wide range of computable functions, but it does not formalize their operational semantics and can express noncomputable functions also. The theory is illustrated using finite and infinite lists. Corecursion expresses functions over infinite lists; coinduction reasons about such functions.
Key words. Isabelle, higherorder logic, coinduction, corecursion
Copyright c 1996 by Lawrence C. Paulson