Blanchette, J.C., Popescu, A. orcid.org/0000-0001-8747-0619 and Traytel, D. (2015) Foundational extensible corecursion : a proof assistant perspective. In: Fisher, K. and Reppy, J., (eds.) ICFP 2015: Proceedings of the 20th ACM SIGPLAN International Conference on Functional Programming. ICFP 2015: 20th ACM SIGPLAN International Conference on Functional Programming, 31 Aug - 02 Sep 2015, Vancouver, BC, Canada. Association for Computing Machinery (ACM) , pp. 192-204. ISBN 9781450336697
Abstract
This paper presents a formalized framework for defining corecursive functions safely in a total setting, based on corecursion up-to and relational parametricity. The end product is a general corecursor that allows corecursive (and even recursive) calls under "friendly" operations, including constructors. Friendly corecursive functions can be registered as such, thereby increasing the corecursor's expressiveness. The metatheory is formalized in the Isabelle proof assistant and forms the core of a prototype tool. The corecursor is derived from first principles, without requiring new axioms or extensions of the logic.
Metadata
Item Type: | Proceedings Paper |
---|---|
Authors/Creators: |
|
Editors: |
|
Copyright, Publisher and Additional Information: | © 2015 The Authors. This is an author-produced version of a paper subsequently published in ICFP 2015 Proceedings. Uploaded in accordance with the publisher's self-archiving policy. |
Keywords: | (Co)recursion; parametricity; proof assistants; higher-order logic; Isabelle |
Dates: |
|
Institution: | The University of Sheffield |
Academic Units: | The University of Sheffield > Faculty of Engineering (Sheffield) > Department of Computer Science (Sheffield) |
Depositing User: | Symplectic Sheffield |
Date Deposited: | 27 May 2020 10:05 |
Last Modified: | 28 May 2020 06:10 |
Status: | Published |
Publisher: | Association for Computing Machinery (ACM) |
Refereed: | Yes |
Identification Number: | 10.1145/2784731.2784732 |
Open Archives Initiative ID (OAI ID): | oai:eprints.whiterose.ac.uk:161212 |