如果(λx。xx)具有类型,那么类型系统是否不一致?


20

如果类型系统可以将类型分配给λ x . x x或非终止类型(λx . x x) (λ x . x x),那么结果是该系统不一致吗?该系统下的每种类型是否有人居住?你能证明是假的吗?

Answers:


29

当然,可以为指定类型是足够的不一致性:在系统,我们可以推导出 λx.x xF

λx.x x:(X.X)(X.X)

以一种非常直接的方式(这是一个很好的练习!)。但是,在此系统中,假设 omega-二阶算术的一致性,则无法很好地键入,因为这意味着所有此类良好键入的术语都将归一化。(λx.x x)(λx.x x) ω

此外,系统是一致的。这归因于归一化,因为它可以表明类型的任何项都不能具有正规形式,或者更简单的参数,其中为每种类型分配了一个集合,可以是或,可以看出,所有可派生类型都被分配了,而被分配了(因此不是可派生的)。FX.X{}{}X.X

后一个参数可以在一阶算术中执行。可以在一致的系统中很好地键入的事实,这在一定程度上令人不安,这是系统的不可思议性的结果。有些人对命令式逻辑系统的可信赖性提出质疑,不足为奇。但是,到目前为止,在此类系统中未发现任何不一致之处。λx.x x

另一方面,为了能够做出更笼统的断言,即在一致的系统中无法正确键入,您需要在您的系统中具有足够的“逻辑结构”类型系统,以便能够清楚地定义一致性。然后,您需要证明没有正面范式(如上述形式)的术语可以具有任何类型,这也不是显而易见的!(λx.x x)(λx.x x)

可以在我对一个相关问题的答案中找到更多详细信息:https : //cstheory.stackexchange.com/a/31321/3984


4
通过阅读这些答案,我看到您显然对这件事有很好的理解。我想了解更多,但不确定在哪里寻找。我浏览了TAPL的书,但没有提及任何内容,因此我不确定这是类型理论的主题。您能否指出我与该问题相关的CS /数学领域,也许还有几本书/文章?非常感谢你。
MaiaVictor '16

2
我不确定这些问题本身就是一个“研究领域” ,更像是一些很有趣的问题,如果专家们认真努力,这些问题早就可以回答了。这绝对是类型理论的主题,而纯类型系统的理论具有使问题明确和受约束的优点。我可能会从其他线程推荐Coquand-Herbelin论文。
科迪

3
有人问过类似的问题,例如在这里这里。我将Barendregt的“带有类型lambda calculi 添加到列表中。
科迪

1
这里的语法是什么?我希望看到表示类型。X X X X λx:(X.X).ΛY.x[YY](x[Y])(X.X)(X.X)
安德烈·鲍尔

1
@AndrejBauer是“隐式”语法,在上没有注释,并且省略了类型抽象和应用程序。您还可以给出:如果愿意)。这里无法确定类型推断,但这与问题有点正交。当您具有从属类型时,事情当然不是很清楚,但是例如有隐式量化的CoC版本(Miquel的隐式构造演算),因此问题仍然很重要。λ X X X X [ X X X X ] Xλλx:(X.X).x[(X.X)(X.X)] x
科迪
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.