Skip to content

Kleene 不动点定理

Kleene fixed-point theorem · Kleene fixed point theorem

pointed DCPO 上 Scott 连续自映射的最小不动点由底元的有限迭代上确界给出。

形式陈述

(D,,) 是 pointed DCPOF:DDScott 连续自映射。则

F()F2()

是一条递增链,并且

lfp(F)=n<ωFn()

F 的最小不动点。

证明令 a=nFn()。Scott 连续性给出

F(a)=F(nFn())=nFn+1()=a,

最后一个等号来自删除链首项 不改变上确界。若 x 是任意前不动点 F(x)x,由 x归纳可得 Fn()x,故 ax。特别地,它小于每个不动点。

只要求 ω-CPO 与保持递增 ω-链上确界的 ω-连续性,也足以推出该公式;使用一般 DCPO/Scott 连续是更统一的版本。

直觉

从完全未知的 开始,每次应用 F 多展开一层递归。第 n 项只含有限深度内可以证明的行为,链的上确界汇总所有有限证据。最小性意味着不凭空加入任何递归方程没有由有限展开强迫的结果。

“最小”相对于信息序,而不是数值大小。一个函数在更多输入上终止,通常在逐点信息序中更大;最小不动点保留必要终止行为,把无有限证据的输入留为未定义。

例子与边界

在部分自然数函数的逐点域中,底函数处处未定义。阶乘泛函满足

F(f)(0)=1,F(f)(n+1)=(n+1)f(n),

其中右侧调用未定义时结果也未定义。F1() 只定义输入 0F2() 再定义输入 1,第 k 轮覆盖有限前缀;上确界得到通常的总阶乘函数。

不动点不必唯一。恒等映射的每个元素都是不动点,Kleene 构造只选出 。因此本定理没有Banach 不动点定理的唯一性结论。

仅有单调性也不够保证自然数次迭代在 ω 阶段闭合。完备格上的单调映射由Knaster–Tarski 定理保证最小不动点存在,但可能需要超限迭代才能从底元到达;Scott 连续性正是把构造压缩到可数有限迭代上确界的额外条件。

推论与应用

最小不动点语义把递归程序或 while 循环的语义泛函交给本定理:第 n 次迭代对应至多展开有限层,极限收集所有有限终止运行。该结论是“存在规范语义解”和“该解可由有限近似描述”的桥梁。

在有限高度域中,递增链最终稳定,迭代在有限步得到最小不动点。在无限域中,上确界可能只在极限处出现;实现静态分析时加入 widening 得到的通常是安全前不动点,而非本公式的精确值。

参考资料
  • Stephen Cole Kleene, Introduction to Metamathematics, North-Holland, 1952, fixed-point theorem for continuous functionals.
  • Samson Abramsky and Achim Jung, “Domain Theory,” in Handbook of Logic in Computer Science, Vol. 3, Oxford University Press, 1994.
  • Glynn Winskel, The Formal Semantics of Programming Languages, MIT Press, 1993, Chapters 5–8.