组合器演算表达式可以计算哪些函数?


13

可以将组合器表达式(假设以SK为基础)视为将组合器演算表达式映射到组合器演算表达式的函数。也就是说,可以将表达式视为函数,其中是在SK基础上所有语法有效的组合器表达式的集合。通过将输入应用于表达式,然后简化为正常形式以获取输出,可以执行此映射。XX:LLL

由于SK基础是Turing完整的,因此可能会天真的认为存在一个SK表达式,该表达式实现了从到任何可计算函数。但是,显然不是这种情况,因为减少的结果将始终为正常形式。这意味着表达式无法具有非正常形式的输出。XLL

因此,我可以将SK微积分表达式视为将映射到,其中是标准形式的SK表达式集。对于任何可计算的映射,是否存在一个实现此映射的SK表达式?还是对组合器演算表达式可以这种方式计算的函数集有进一步的限制?LLLf:LLX

Answers:


6

为了使事情顺利进行,并希望其他人对可定义函数的结构给出更深入,更详细的答案,让我引用Barendregts 的Lambda微积分的推论20.3.3。语法和语义(又名“圣经”)。λLL

推论20.3.3:函数,由 在无类型的演算中无法定义,即没有项使得 表示所有。δ:L2L

δ(M,N)={True if M=βηNFalse otherwise
λD
D M N=βηδ(M,N)
M,NL

该证明涉及对伯姆树的考虑,这些伯姆树对任意lambda项在正常形式上可能的“作用”给出了相当有力的描述。特别地,对于任何非恒定闭项,on都可以找到和,使得 FnNP1,,Pn

F x P1Pn=βηx Q1Qk

对于某些,。这极大地限制了实现的假设的可能形式,并通过少量工作表明这种不存在。kQ1,,QkDδD

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.