Foundational nonuniform (co)datatypes for higher-order logic

Blanchette, Jasmin Christian, Meier, Fabian, Popescu, Andrei and Traytel, Dmitriy (2017) Foundational nonuniform (co)datatypes for higher-order logic. Proceedings of the 32nd Annual ACM/IEEE Symposium on Logic in Computer Science (LICS). In: 32nd Annual ACM/IEEE Symposium on Logic in Computer Science (LICS), 20-23 Jun 2017, Reykjavik, Iceland. ISBN 978-1-5090-3018-7. (doi:10.1109/LICS.2017.8005071)

[img]
Preview
PDF - Final accepted version (with author's formatting)
Download (273kB) | Preview

Abstract

Nonuniform (or “nested” or “heterogeneous”) datatypes 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)recusion and (co)induction principles based on a weak variant of parametricity.

Item Type: Conference or Workshop Item (Paper)
Research Areas: A. > School of Science and Technology > Computer Science > Foundations of Computing group
Item ID: 22101
Notes on copyright: © 2017 IEEE. Personal use of this material is permitted. Permission from IEEE must be obtained for all other uses, in any current or future media, including reprinting/republishing this material for advertising or promotional purposes, creating new collective works, for resale or redistribution to servers or lists, or reuse of any copyrighted component of this work in other works.
Useful Links:
Depositing User: Andrei Popescu
Date Deposited: 20 Jun 2017 15:49
Last Modified: 04 Apr 2019 05:53
URI: https://eprints.mdx.ac.uk/id/eprint/22101

Actions (login required)

View Item View Item

Full text downloads (NB count will be zero if no full text documents are attached to the record)

Downloads per month over the past year