Foundational nonuniform (Co)datatypes for higher-order logic

International audience Nonuniform (or " nested " or " heterogeneous ") data-types are recursively defined types in which the type arguments vary recursively. They arise in the implementation of finger trees and other efficient functional data structures. We show how to reduce a l...

Full description

Bibliographic Details
Published in:2017 32nd Annual ACM/IEEE Symposium on Logic in Computer Science (LICS)
Main Authors: Blanchette, Jasmin Christian, Meier, Fabian, Popescu, Andrei, Traytel, Dmitriy
Other Authors: Modeling and Verification of Distributed Algorithms and Systems (VERIDIS), Max-Planck-Institut für Informatik (MPII), Max-Planck-Gesellschaft-Max-Planck-Gesellschaft-Inria Nancy - Grand Est, Institut National de Recherche en Informatique et en Automatique (Inria)-Institut National de Recherche en Informatique et en Automatique (Inria)-Department of Formal Methods (LORIA - FM), Laboratoire Lorrain de Recherche en Informatique et ses Applications (LORIA), Institut National de Recherche en Informatique et en Automatique (Inria)-Université de Lorraine (UL)-Centre National de la Recherche Scientifique (CNRS)-Institut National de Recherche en Informatique et en Automatique (Inria)-Université de Lorraine (UL)-Centre National de la Recherche Scientifique (CNRS)-Laboratoire Lorrain de Recherche en Informatique et ses Applications (LORIA), Institut National de Recherche en Informatique et en Automatique (Inria)-Université de Lorraine (UL)-Centre National de la Recherche Scientifique (CNRS)-Université de Lorraine (UL)-Centre National de la Recherche Scientifique (CNRS), Max-Planck-Gesellschaft, Vrije Universiteit Amsterdam Amsterdam (VU), Google Switzerland, Research at Google, Middlesex University London, Eidgenössische Technische Hochschule - Swiss Federal Institute of Technology Zürich (ETH Zürich)
Format: Conference Object
Language:English
Published: HAL CCSD 2017
Subjects:
Online Access:https://hal.inria.fr/hal-01599174
https://hal.inria.fr/hal-01599174/document
https://hal.inria.fr/hal-01599174/file/conf.pdf
https://doi.org/10.1109/LICS.2017.8005071
Description
Summary:International audience Nonuniform (or " nested " or " heterogeneous ") data-types are recursively defined types in which the type arguments vary recursively. They arise in the implementation of finger trees and other efficient functional data structures. We show how to reduce a large class of nonuniform datatypes and codatatypes to uniform types in higher-order logic. We programmed this reduction in the Isabelle/HOL proof assistant, thereby enriching its specification language. Moreover, we derive (co)induction and (co)recursion principles based on a weak variant of parametricity.