Krivine表示法的好处是什么?


9

我看到有些人在介绍函数的语法时使用Krivine的符号表示功能 λ-结石。例如,λ-术语 λFλXλÿF X ÿ(按照函数应用程序与左侧关联的常规约定,因此它实际上表示)写为(按照类似的约定,它实际上是指)。我看不出在最里面的周围有另一对括号的意义。人们为什么使用Krivine的符号而不是通常的符号?λf.λx.λy.((f x) y)λf.λx.λy.(f) x yλf.λx.λy.((f) x) yf

Answers:


13

我假设您的意思是Lambda Calculus中的 Krivine表示法:Types and Models

这种表示法用作数据表示形式,使许多关于lambda项的算法更易于实现和证明正确。也就是说,给定一个lambda项fe1e2en,您希望将其视为头像 f以及参数列表[e1,e2,,en]

例如,假设您要比较两个术语 fe1engt1tn。比较头通常是最自然的fg 首先,甚至不看 (ei,ti)配对,除非比较成功。(这通常在高阶统一的实现中出现。)

有关此想法的正式说明,请参见Cervesato和Pfenning的论文“线性脊柱微积分 ”。


0

在Krivine的书第2章的第2节“可表示的功能”中显示了一个有趣的区别。教会编码的三个以标准符号表示为λ X λ ÿ X X X ÿ。使用Krivine的表示法(如果我终于正确理解了!),我们将改为λX λÿ XXXÿ

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.