不动点组合子

✍ dations ◷ 2025-11-04 08:49:25 #Lambda演算,不动点,组合子逻辑

不动点组合子(英语:Fixed-point combinator,或不动点算子)是计算其他函数的一个不动点的高阶函数。

函数 f 的不动点是将函数应用在输入值 x 时,会传回与输入值相同的值,使得 f(x) = x。例如,0 和 1 是函数 f(x) = x2 的不动点,因为 02 = 0 而 12 = 1。鉴于一阶函数(在简单值比如整数上的函数)的不动点是个一阶值,高阶函数 f 的不动点是另一个函数 g 使得 f(g) = g。那么,不动点算子 fix 的定义是

使得对于任何函数 f

不动点组合子它们可以用非递归的 lambda抽象来定义,在 lambda演算中的函数都是匿名的。然而在命令式编程语言中的递归,或许限制只能以呼叫函数名称作为参数来实作。在函数式编程语言中的不动点,以 lambda抽象来定义的Y组合子为:

则允许匿名函数足够逹成递归的作用,即递归函数。应用于带有一个变量的函数,Y组合子通常不会终止。将 Y组合子应用于二或更多个变量的函数,会获得更有趣的结果。第二个变量可当作计数器或索引。由此产生的函数行为,表现出如命令式语言中一个whilefor循环。

这个组合子也是 Curry悖论的核心,演示了无型别的 lambda演算是一个不稳固的推论系统,因由 Y组合子允许一个匿名表达式来表示零或者甚至许多值,这在数理逻辑上是不一致的。

在无类型lambda演算中众所周知的(可能是最简单的)不动点组合子叫做Y组合子。它是Haskell B. Curry发现的,定义为

注意Y组合子意图用于传名求值策略,因为 (Y g)在传值设置下会发散(对于任何g)。

在数学的特定形式化中,比如无类型lambda演算和组合演算中,所有表达式都被当作高阶函数。在这些形式化中,不动点组合子的存在性意味着“所有函数都至少有一个不动点”,函数可以有多于一个不同的不动点。

在其他系统中,比如简单类型lambda演算,不能写出有良好类型(well-typed)的不动点组合子。在这些系统中对递归的任何支持都必须明确的增加到语言中。带有扩展的递归类型的简单类型lambda演算,可以写出不动点算子,“有用的”不动点算子(它的应用总是会返回)的类型将是有限制的。

例如,在Standard ML中Y组合子的传值调用变体有类型∀a.∀b.((a→b)→(a→b))→(a→b),而传名调用变体有类型∀a.(a→a)→a。传名调用(正则序)变体在应用于传值调用的语言的时候将永远循环下去 -- 所有应用Y(f)展开为f(Y(f))。按传值调用语言的要求,到f的参数将接着展开,生成f(f(Y(f)))。这个过程永远重复下去(直到系统耗尽内存),而不会实际上求值f的主体。

考虑阶乘函数(使用邱奇数)。平常的递归数学等式

可以用lambda演算把这个递归的一个“单一步骤”表达为

这里的"f"是给阶乘函数的占位参数,用于传递给自身。函数F进行求值递归公式中的一个单一步骤。应用fix算子得到

Y组合子的可以在传值调用的应用序求值中使用的变体,由普通Y组合子的部分的η-展开给出:

Y组合子用SKI-演算表达为

另一个常见不动点组合子是图灵不动点组合子(阿兰·图灵发现的):

相关

  • abbr class=abbr title=S16: 远离燃点 - 禁烟S16/abbr安全建议标准词(英语:Safety phrases,简写:S-phrases)是于《欧盟指导标准67/548/EEC 附录Ⅳ: 有关危险物品与其储备的安全建议》里定义。该列表被集中并再出版于指导标准2001/59/
  • BBC OnlineBBC在线(BBC Online),旧称BBCi,是英国广播公司(BBC)的网站名称及其提供的服务。BBC在线提供BBC新闻、BBC体育的内容,以及BBC iPlayer点播服务。BBC自1994年就开始网络服务,但在1997
  • 福克兰群岛福克兰群岛(英语:Falkland Islands,英国所使用的称呼)或称马尔维纳斯群岛(西班牙语:Islas Malvinas,阿根廷所使用之称呼),由东福克兰岛和西福克兰岛两个主岛以及周围778座小岛所组成
  • 奥拉夫王子山脉奥拉夫王子山脉(英语:Prince Olav Mountains)是南极洲的山脉,位于杜费克海岸,属于毛德王后山脉的一部分,在1911年被挪威探险家罗尔德·阿蒙森发现,现时由南极条约体系管理。坐标:84
  • 排列排列(英语:Permutation)是将相异对象或符号根据确定的顺序重排。每个顺序都称作一个排列。例如,从一到六的数字有720种排列,对应于由这些数字组成的所有不重复亦不阙漏的序列,例如
  • 布莱尔酱料小吃布莱尔的酱料与小吃(英文:Blair's Sauces and Snacks)是一家1989年成立的美国零食公司,以其史高维尔指标极高的辣酱著称。在购买其产品时,消费者甚至要与公司签署一份声明书:如果
  • 林日成林日成(?-1865年2月6日),又叫林日晟,清代台湾民变戴潮春事件领导人之一。1862年4月3日,台湾兵备道道员孔昭慈在彰化命原任彰化知县的淡水厅同知秋曰觐协助扫荡八卦会,秋曰靓另募林奠
  • 米哈乌 (波兰国王)米哈乌·科雷布特·维希尼奥维茨基 (波兰语:Michał Korybut Wiśniowiecki、立陶宛语:Mykolas I Kaributas Višnioveckis,1640年7月31日-1673年11月10日),亚雷马·维希尼奥维茨
  • 利摩日大学利摩日大学(法语:Université de Limoges),是法国利摩日的一所公立综合性大学,于1993年由利摩日的多所高等教育机构合并成立。
  • 有限交集性质在点集拓扑学中,有限交集性质是集合 的子集的集合(子集族,即幂集 P ( X ) {\displaystyle P(X)} 有有限交集性质。