Mechanizing Coinduction and Corecursion in Higher-order Logic
Lawrence C. Paulson

TL;DR
This paper develops a formal theory for recursive and corecursive definitions within higher-order logic, mechanized in Isabelle, enabling reasoning about both finite and infinite data structures like lists.
Contribution
It introduces a formal framework for coinduction and corecursion in HOL, supporting verification of infinite data structures and functions, with mechanization in Isabelle.
Findings
Formalization of inductive and coinductive data types in HOL
Mechanization of the theory in Isabelle proof assistant
Application to reasoning about finite and infinite lists
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. Well-founded 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.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsLogic, programming, and type systems · Logic, Reasoning, and Knowledge · Computability, Logic, AI Algorithms
