为什么Leans'Prop`sositions得到特殊待遇?

时间:2017-04-18 08:54:24

标签: types theorem-proving curry-howard lean

自从我开始阅读交互式精益教程以来,一个问题就是唠叨我:Prop中单独的Type层次结构的目的是什么?

据我所知,我们有以下Universe层次结构:

Type (n+1)
  |   \
  |   Sort (n+1)
  |     |
Type n  | (?)
  |   \ |
 ...  Sort n
  |     |
Type 0 ... (?)
  |   \ |
 nat  Prop
  |     |
  0   p ∧ q
        |
     ⟨hp, hq⟩
  1. 标有?的边缘实际上是存在的还是我刚刚制作它们(可能)?
  2. 从快速浏览Agda和Idris看来,它们似乎没有区分Sort nType n。为什么精益可以区分它们?
  3. Prop的奇怪之处在于它一方面就像一个归纳类型(例如,它关闭的意思是p ∧ nat没有意义)但另一方面又像一种类似的使用(例如,通过为p : Prop构建证明来显示类型 p。我怀疑这与区别有关,但我无法表达出来。是否有一些基本的论文来阅读这篇文章?

1 个答案:

答案 0 :(得分:2)

nat索引的Universe只有一个层次结构Sort u。来自Chapter 3 of Theorem Proving in Lean

  

实际上,类型PropSort 0的语法糖,是上一章描述的类型层次结构的最底层。此外,Type u也只是Sort (u+1)的语法糖。

Extended Calculus of Constructions中介绍了在其基础上具有不可预测的底层宇宙Prop和预测层次结构Type u的想法。精益将Sort作为单个通用层次结构引入,以便定义可以使用Sort u覆盖所有Universe,而不需要PropType u的单独定义。

相比之下,Idris和Agda的底层宇宙并没有做任何特殊的事情,因此他们在整个层次结构中使用了一个名称。