Cubical agda: a dependently typed programming language with univalence and higher inductive types
- Andrea Vezzosi,
- Anders Mörtberg,
- Andreas Abel
- Stockholm University,
- Chalmers University of Technology
Research Output:
Journal Article or Conference Article in Journal
Conference article
Peer-reviewOpen access
Publication Information
Output type
Research Output:
Journal Article or Conference Article in Journal
Conference article
Peer-reviewOriginal language
EnglishArticle number
87Pages from-to (Number of pages)
Pages 87:1-87:29 (29 pages)Journal (Volume, Issue Number)
Proceedings of the ACM on Programming Languages (Volume 3, Issue ICFP)Publication milestones
- Published - 08/2019
Publication status
Published - 08/2019
Publication IDs
- Scopus: 85120108133
Abstract
Proof assistants based on dependent type theory provide expressive languages for both programming and proving within the same system. However, all of the major implementations lack powerful extensionality principles for reasoning about equality, such as function and propositional extensionality. These principles are typically added axiomatically which disrupts the constructive properties of these systems. Cubical type theory provides a solution by giving computational meaning to Homotopy Type Theory and Univalent Foundations, in particular to the univalence axiom and higher inductive types. This paper describes an extension of the dependently typed functional programming language Agda with cubical primitives, making it into a full-blown proof assistant with native support for univalence and a general schema of higher inductive types. These new primitives make function and propositional extensionality as well as quotient types directly definable with computational content. Additionally, thanks also to copatterns, bisimilarity is equivalent to equality for coinductive types. This extends Agda with support for a wide range of extensionality principles, without sacrificing type checking and constructivity.
Publication metrics
PlumX, opens in new tab
Captures
28
Citations
77
Access to documents
Final published version, 425.95 KB
License:CC BY, opens in new tab
Related Event
Title
International Conference on Functional Programming (IFCP 2019)
Event type
ConferenceDegree of recognition
International eventDate
18/08/2019 - 23/08/2019Location
Hotel Scandic Berlin Potsdamer PlatzBerlinGermany
