在Agda或Coq中,同构类型理论的哪些部分是不可能的?


16

当我们看这本书时,同伦类型理论 -我们看到以下主题:

Homotopy type theory 
2.1 Types are higher groupoids
2.2 Functions are functors
2.3 Type families are fibrations
2.4 Homotopies and equivalences
2.5 The higher groupoid structure of type formers
2.6 Cartesian product types
2.7 S-types
2.8 The unit type
2.9 P-types and the function extensionality axiom
2.10 Universes and the univalence axiom
2.11 Identity type
2.12 Coproducts
2.13 Natural numbers
2.14 Example: equality of structures
2.15 Universal properties

现在我们知道,不是所有同伦类型理论都是可能的,Agda和Coq都是可行的

我的问题是:同构型理论的哪些部分在Agda或Coq中是不可能的?


4
这不是一个特别完善的问题。主题列表和问题之间有什么关系?
戴夫·克拉克

@Dave Clarke,主题列表看起来像发问者心中的上下文,因此应答者知道发问者的出发点是什么,并可以相应地调整答案。其他学习者也可以在相同的背景下欣赏答案,并理解如果回答者对人性的考虑周到且明智,那么答案可能对他们有用。希望这对以后的其他对话也有帮助。
codeshot

Answers:


21

如果你看一下在第8章的注意事项你会看到什么已经正式了,我想这是很多。有Coq HoTT库和Agda HoTT-Agda库,它们将大块的同伦类型理论形式化。

为了在Coq中完成工作,我们需要一个特殊版本的Coq,该特殊版本仅出于HoTT的目的进行了修补。但是,Coq正朝着支持同伦类型理论的方向发展,因此不久之后我们就可以使用标准Coq做到这一点。

在Agda中,必须打开该--without-K选项,否则Agda认为所有类型都是0类型。对于是否--without-K真的摆脱了一切都为0集的假设,或者是否可以通过巧妙地使用模式匹配将其重新引入到Agda中,人们存在一些挥之不去的疑问。

Coq和Agda形式化的以下方面不令人满意:

  1. Univalence公理被陈述为一个假设。如果将其内置到系统中会更好。特别是,我们希望Coq和Agda了解有关Univalence公理的计算规则。

  2. 同样,我们必须使用技巧来获得可行的高归纳类型。同样,最好有直接的支持。

上述缺陷的问题在于,即使从理论上讲,也没有人知道如何解决这些缺陷。这是一个活跃的研究领域。

除此之外,我认为可以公平地说,HoTT 可以在Coq和Agda中完成,而并非以最佳方式完成。


1
谢谢,有没有很好的文章来说明为什么单调性和高归纳类型在诸如Agda和Coq之类的类型理论中并不适合?
Martin Berger 2014年

1
@MartinBerger,这可能是一个单独的问题(为更随意的读者提供一些定义,等等)。
Artem Kaznatcheev

4
单调和HIT的麻烦不是在于它们“不能像Agda和Coq这样的类型理论坐得住”,而是“我们不知道如何在任何类型理论中正确地完成它们”。
Andrej Bauer 2014年

1
@AndrejBauer在HoTT文章(一种半正式的类型理论)中正式定义了高等归纳类型。缺少哪些成分阻碍了Agda / Coq的正确形式化?相关的是,如果您愿意放弃Curry-Howard,在像Isabelle这样的LCF风格证明者中,使用LF作为元语言来形式化证明规则,则难于废除单调和更高归纳类型吗?
Martin Berger 2014年

4
ua见证Univalence公理的常数的计算规则是什么?HIT的计算规则是什么?我们有一些想法,但没有水密性。
Andrej Bauer 2014年

12

据我了解,在Agda中可以表示所有这些内容(即第2章的全部内容– github上有一个库可以做到; AFAIK,Coq也是如此)。只有在以后的章节中,事情才会变得轻松。有两个明显的项目:

  1. 圆。(使用Agda表示)是使用postulate进行的,因此不如其他东西好。

也有其他内容,但是我还没有读过Agda形式化的那一部分……但是总的来说,大多数HoTT都可以在Agda和Coq中很好地形式化。

更重要的是,至少在有明确的实现所需功能的理论时,两个开发人员团队都在积极地调整其系统,以便可以处理更多的HoTT。事实证明,这在某些方面具有挑战性。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.