page 1  (33 pages)
2to next section

Mechanizing Coinduction and Corecursion

in

Higher-order Logic

Lawrence C. Paulson

Computer Laboratory, University of Cambridge

Abstract

A theory of recursive and corecursive definitions has been developed in higher-order 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, higher-order logic, coinduction, corecursion

Copyright c 1996 by Lawrence C. Paulson