Robert Atkey ; Patricia Johann ; Neil Ghani - Refining Inductive Types

lmcs:957 - Logical Methods in Computer Science, June 4, 2012, Volume 8, Issue 2 - https://doi.org/10.2168/LMCS-8(2:9)2012
Refining Inductive TypesArticle

Authors: Robert Atkey ORCID; Patricia Johann ; Neil Ghani

    Dependently typed programming languages allow sophisticated properties of data to be expressed within the type system. Of particular use in dependently typed programming are indexed types that refine data by computationally useful information. For example, the N-indexed type of vectors refines lists by their lengths. Other data types may be refined in similar ways, but programmers must produce purpose-specific refinements on an ad hoc basis, developers must anticipate which refinements to include in libraries, and implementations must often store redundant information about data and their refinements. In this paper we show how to generically derive inductive characterisations of refinements of inductive types, and argue that these characterisations can alleviate some of the aforementioned difficulties associated with ad hoc refinements. Our characterisations also ensure that standard techniques for programming with and reasoning about inductive types are applicable to refinements, and that refinements can themselves be further refined.


    Volume: Volume 8, Issue 2
    Published on: June 4, 2012
    Imported on: November 20, 2011
    Keywords: Computer Science - Logic in Computer Science,Computer Science - Programming Languages,D.3.3, F.3.3, D.3.1, F.3.2, F.3.1

    10 Documents citing this article

    Consultation statistics

    This page has been seen 1509 times.
    This article's PDF has been downloaded 436 times.