当前位置: X-MOL 学术J. Funct. Program. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Cubical Agda: A dependently typed programming language with univalence and higher inductive types
Journal of Functional Programming ( IF 1.1 ) Pub Date : 2021-04-06 , DOI: 10.1017/s0956796821000034
ANDREA VEZZOSI , ANDERS MÖRTBERG , ANDREAS ABEL

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 (HITs). 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 HITs. These new primitives allow the direct definition of function and propositional extensionality as well as quotient types, all with computational content. Additionally, thanks also to copatterns, bisimilarity is equivalent to equality for coinductive types. The adoption of cubical type theory extends Agda with support for a wide range of extensionality principles, without sacrificing type checking and constructivity.

中文翻译:

Cubical Agda:一种具有单价和更高归纳类型的依赖类型编程语言

基于依赖类型理论的证明助手为同一系统内的编程和证明提供了富有表现力的语言。然而,所有主要的实现都缺乏强大的外延原则来推理相等性,例如函数和命题外延。这些原则通常是公理化地添加的,这会破坏这些系统的构造特性。立方类型理论通过赋予同伦类型理论和单价基础,特别是单价公理和高级归纳类型 (HIT) 赋予计算意义,从而提供了一种解决方案。本文描述了依赖类型函数式编程语言 Agda 与立方原语的扩展,使其成为一个成熟的证明助手,具有对单价的原生支持和 HIT 的一般模式。这些新的原语允许直接定义函数和命题外延性以及商类型,所有这些都具有计算内容。此外,还要感谢 copatterns,双相似性等同于协导类型的相等性。立方体类型理论的采用扩展了 Agda,支持广泛的可扩展性原则,而不牺牲类型检查和构造性。
更新日期:2021-04-06
down
wechat
bug