我有兴趣真正掌握依赖类型。我读过最TaPL和读取(如果不是完全吸收)“相关类型” ATTaPL。我也阅读并浏览了很多有关依赖类型的文章。
许多类型理论的讨论似乎都集中在向以前的类型系统添加增量功能,而不是“从类型系统X进行的下一个大型概括是什么?”。依赖类型似乎是System F的下一个大型概括,但是我还没有找到直观,规范的依赖类型语言。对(归纳)构造的微积分的许多引用使我认为CoC是该语言,但是我所看到的对该语言的解释对我而言似乎并不十分清楚或直观。
我期望/猜测这种语言将具有以下功能:(并且请让我知道是否有任何特别的东西因为困惑或不现实而跳出来)
- 广义抽象(可以具有从类型层次结构中的任何域到其他种类,种类->术语,术语->类型'''等的功能)
- 具有无限的键入层次结构(术语:类型:类型':类型”:...)
- 最少数量的基本元素。我在想该语言对于每个级别都只声明一个元素。例如,它可能断言(():Unit:Type:Type':...)。其他元素是从这些元素构建的。
- 总和和产品类型是可导出的。
我也在寻找该语言的解释,理想情况下将讨论:
- 该语言中抽象与量化之间的关系。如果它们不统一,请解释为什么它们不统一。
- 无限类型层次结构明确
我之所以问这个问题,是因为我想学习依存类型理论,也因为我想编写一份指南,假设具有一点CS知识,就可以教授证明助手和依存类型语言的用法以及如何理解。