Unfolding Abstract Datatypes

Abstract datatypes — with public interfaces hiding private implementations — represent a form of codata rather than ordinary data, and so proof methods for corecursive programs are the appropriate techniques to use for reasoning with them. In particular, we show that the universal properties of unfo...

Full description

Bibliographic Details
Main Author: Gibbons, J
Format: Conference item
Published: 2008
Description
Summary:Abstract datatypes — with public interfaces hiding private implementations — represent a form of codata rather than ordinary data, and so proof methods for corecursive programs are the appropriate techniques to use for reasoning with them. In particular, we show that the universal properties of unfold operators are perfectly suited for the task. We illustrate with the solution to a problem in the recent literature.