结构演算:将表达压缩到最小形式


11

我知道构造演算正在高度规范化,这意味着每个表达式都具有不能被beta,eta进一步简化的法线。因此,实际上,这是计算与原始表达式相同值的最有效表达式。

但是在某些情况下,规范化可能会将一个小表达式缩减为一个大表达式(就大小而言)。

有最小形式的表达式吗?以最小的尺寸计算相同值的表单。

换句话说,代替了节省时间的范式,而是节省了空间的范式。

Answers:


8

我们认为“相同的价值”有一点自由。让我表明,如果“相同的值”表示“观察上等效”,则没有这样的算法。我将使用构造微积分的一部分,即Gödel的System T(简单类型的微积分,自然数和它们的原始递归),因此该论点已经适用于弱得多的微积分。λ

给定一个号码,让¯ Ñ是代表它相应的标号,即Ñ应用小号ü Ç Ç0。给定一个图灵mahcine 中号,让中号是数字编码中号以某种合理的方式。nn¯nsucc0MMM

再说说两个封闭条件等价物,写牛逼ü,当所有ñ ñŧt,u:natnattunN小号tn¯既正常化相同数字(它们归到一个数字,因为我们是在一个强烈正火claculus)。sn¯

假设我们有一个算法,给出给定类型任何封闭项,都会计算出最小等效项。然后,我们可以按以下方式解决暂停问题。natnat

有一个术语,使得对于所有Ñ Ñ和所有图灵机中号小号中号¯ Ñ以归一化¯ 1如果Ť内暂停Ñ步骤,它归一化到¯ 0否则。这是众所周知的,因为针对固定数量的步骤n的图灵机的仿真是原始递归的。S:nat×natnatnNMS(M,n¯)1¯Tn0¯n

有有限多个闭合术语这是最小的术语相当于λ X Ñ Z1,,Zk。我们最小化算法返回他们中的一个,当我们给它 λ X ñ 一个牛逼λx:nat.0,并且它甚至可以是该情况下 λ X Ñ λx:nat.0实际上, 0是唯一这样的最小项。所有这一切并不重要,唯一重要的是,有穷个最小的术语,其相当于 λ X ñ 一个牛逼λx:nat.0λx:nat.0

现在,考虑任何机器,考虑术语 ü = λ X ñ 一个牛逼M 如果中号永远运行然后 ü ¯ Ñ规格化到 ¯ 0为每 Ñ和相当于 λ X Ñ

u:=λx:nat.S(M,x)
Mun¯0¯n。为了确定 M是否永远运行,我们将 u输入到最小化算法中,并检查算法是否返回 Z 1... Z k之一。如果是这样,则 M永远运行。如果没有,则停止。(请注意:该算法无需自行计算 Z 1Z k,这些可以硬编码到算法中。)λx:nat.0MuZ1,,ZkMZ1,,Zk

知道一个适用于较弱等价概念(例如仅是约性)的论点会很高兴。β


您如何计算Z1,.. Zk?
user47376

不用了 就是说,我正在描述的算法在那里,我们不确切知道它是什么,但这是无关紧要的。我实际上并没有尝试运行该算法,我只需要它的存在来表明您的算法不存在。
Andrej Bauer

是的,但是您的论据说,如果存在我的算法,那么我们可以解决停止问题。要确定图灵机M是否暂停,您的算法会对u进行归一化,并检查它是否为Z1,.. Zk之一。因此,它必须能够枚举那些,否则可能不会停止。
user47376

Z1,,ZkkZkZ[i]

7

(λx:T.C x x) uβC u u
u

从这个意义上讲,已知如何以最佳方式减少未键入的词语,并尽可能减少共享。对此进行了解释:https//stackoverflow.com/a/41737550/2059388,相关的引文是J. Lamping的最佳Lambda微积分减少算法。毫无疑问,无类型演算的定理可以扩展到CIC。

另一个相关的问题是执行类型转换时,或者实际上如何执行有效转换时可以擦除的类型信息量,这是一个活跃的研究领域,请参见例如Mishra-Linger的论文


6

让我坚持科迪回答所涉及的观点。

λλλλ

Mf

Mx¯l(|x|)f(x)¯
l(|x|)l(n)=O(nk)kf

λΘ(n)Θ(2n)λλ

λλ

λ

可以使用相同的语法来证明,与幼稚的直觉相反,上述问题的答案是肯定的:实际上,即使大小爆炸,正常形式的最左外步骤的数量也是合理的成本度量,因为实际上,存在另一种表示相同计算(使用线性显式替换)的方式,其中:

  1. 尺寸也不会爆炸;
  2. λ

Accattoli和Dal Lago的论文“ Beta Reduction是不变的,的确如此”(LICS 2014,然后我认为还有更新的期刊版本)都对此进行了解释。

λ


例如,我想到的一个术语会展开一百万步以生成一百万个元素列表。这归一化为实际列表,该列表是该值的最有效表示(它是实际的最终结果,不需要其他步骤)。但是展开的术语本身可能很小。
user47376

β

是的,正如安德烈(Andrej)所说,这是不可能的。那回答了我的问题。
user47376
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.