我正在寻找最小的通用组合器,该组合器是通过在lambda演算中指定这种组合器所需的抽象次数和应用程序数量来衡量的。通用组合器的示例包括:
- 大小23: λf.f(fS(KKKI))K
- 大小18: λf.f(fS(KK))K
- 大小14: λf.fKSK
- 大小12: λf.fS(λxyz.x)
- 大小11: λf.fSK
其中S = 大小为6的 λxyz.xz(yz)和K = 大小为2的 λxy.x 是SK组合器演算的组合器。本文描述了前4个示例。
我的问题是:
- 是否有尺寸更小的通用组合器?
- 最小的通用组合器是什么?
编辑:另请参阅/math//a/180263/76284,它具有λazbc.bc(a(λy.c))
(大小为8,与SK基础的大小之和匹配)。有人知道如何从该组合器表达S和K吗?
也许这很有趣:wolframscience.com/nksonline/page-1123a-text?firstview=1
—
Andrej Bauer
您对尺寸的定义是什么?您可以将其编写为函数吗?
—
Joshua Herman
由于6 + 2 = 8 <11,这使我想知道{S,K}是否是以总大小衡量的最小组合器基础?
—
Noam Zeilberger
您最近的编辑听起来像是(部分)答案。
—
EmilJeřábek
您对“ 组合器 ”的定义有多严格?是否有这样的形式
—
彼得·泰勒
λx*.E
,其中E
是抽象免费的吗?