众所周知,S和K组合器构成了组合器演算的基础集,从这个意义上说,所有其他组合器都可以用它们来表示。还有Curry的B,C,K,W基础,具有相同的属性。这样的基础一定是无限的,但我不知道其他任何一个。
我知道有很多单一组合器基础,例如Iota组合器和Fokker构建/审查的各种其他组合器。但是,这些是“不合适的”组合器,这意味着它们是用其他组合器而不是纯抽象来表示的。1 出于这个问题的目的,我只对由适当的组合器组成的基集感兴趣。
是否还存在对其他可能基础集的研究?理想的做法是按照Wolfram 对其他各种计算模型进行的研究,其中系统地研究了各种组合。我尤其对以下事情的简单示例感兴趣:
- 包含I组合器的最小基础集。(我用“最小”表示如果删除任何成员,它将不再是基础,因此SKI基础将不计。)
- 包含Y组合器或组合器(又名模仿鸟)的最小基础集
除S,K和B,C,K,W之外,有关组合逻辑其他可能基础的任何其他信息也将非常有帮助。
广而言之,我对作为纯机械系统的组合演算的研究感兴趣,即作为带有标记节点的二叉树上的一组转换规则的研究,不需要给出任何特定的语义解释。任何采用这种方法的资源指向都将不胜感激。(要嘲笑一只模仿鸟则采用了这种方法,但却给出了一个不完整的表述,而Barendregt的Lambda微积分与语义紧密相关,这使我很难提取我感兴趣的纯粹机械方面。)
1 确切地说:在lambda演算中,适当的组合器是形式的表达式,其中仅具有,等作为自由变量,并且不包含任何抽象。因此,例如是适当的组合器,但不是合适的组合器,因为它包含应用于lambda项的。P (X 1,X 2,... )X 1 X 2(λ X ý ž 。X (Ž Ž ))(λ X 。X (λ ÿ 。Ý ))X