我们知道,简单类型的lambda项的beta等式是可以确定的。给定M,N:σ→τ,是否对于所有X:σ,MX≃_βNX?
我们知道,简单类型的lambda项的beta等式是可以确定的。给定M,N:σ→τ,是否对于所有X:σ,MX≃_βNX?
Answers:
正如我在评论中说的那样,答案通常是“否”。
要理解的重要一点(我对Viclib讲过这一点,他似乎正在学习这些东西)是拥有一种编程语言/一组计算机,其中所有程序/计算都绝不终止,这意味着函数相等(即,是否两个程序/机器计算相同的功能)是可以确定的。举一个简单的例子:拿一套多项式图灵机。根据定义,所有此类机器都终止于所有输入。现在,给定任意图灵机凡,有一个图灵机的是,在给定的输入字符串,会模拟在固定输入(例如,空字符串)上计算步骤,并接受是否最多终止M 0 x | x | M M | x | N M 0 N M 0 N M步骤,否则拒绝。如果是总是立即拒绝的图灵机,则和都(显然)都是多项式时钟,但是如果我们可以确定和是否计算相同的功能(或者在这种情况下,确定相同的语言),我们将能够确定(记住,这是一个任意的图灵机)是否在空字符串上终止。
在简单类型 -calculus(STLC)的情况下,类似的论点起作用,不同的是,衡量STLC的表达能力并不像上面的情况那么简单。当我写评论时,我想到了Hillebrand,Kanellakis和Mairson于90年代初发表的几篇论文,这些论文表明,通过使用比通常的Church整数类型更复杂的类型,可以在STLC中编码足够复杂以上参数的计算工作。实际上,我现在看到所需的材料已经存在于Mairson的Statman定理的简化证明中:
哈里·梅尔森(Harry G. Mairson),斯坦曼定理的简单证明。《理论计算机科学》,103(2):387-394,1992年。(可在此处在线获取)。
在该论文中,Mairson显示,对于任何图灵机,都有一个简单类型和一个项编码的转换函数。(如果考虑到STLC在Church整数上的表达能力极差,那么这不是先验的先验。确实,Mairson的编码不是即时的)。由此,构建一个术语并不难σ λ δ 中号:σ →交通σ 中号
(其中是中教会整数类型的实例化),如果在以下情况下最多以步终止,则减少为。输入空字符串,否则减少为。如上所述,如果我们能够确定表示的是常量函数,则空字符串上的终止。σ 吨中号1 _ Mn 0 _ t M 0 _ M