Skip to content

定理Theorem

Kleene 不动点定理

施工中 · 内容逐步修订

Kleene fixed-point theorem · Kleene fixed point theorem

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

形式陈述 ​

设 (D,⊑,⊥) 是 pointed DCPO,F:D→D 是Scott 连续自映射。则

⊥⊑F(⊥)⊑F2(⊥)⊑⋯

是一条递增链,并且

lfp(F)=⨆n<ωFn(⊥)

是 F 的最小不动点。

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

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

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

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

直觉

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

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

例子与边界

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

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

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

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

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

推论与应用

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

在有限高度域中,递增链最终稳定,迭代在有限步得到最小不动点。在无限域中,上确界可能只在极限处出现;例如 [0,1] 上 F(x)=(x+1)/2 的有限迭代从零趋向最小不动点一,却没有一步达到一。前述“有限证据给出返回值”的读法适用于平坦结果域,不能要求任意 DCPO 的极限元素都在有限阶段出现。实现静态分析时加入 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.
关系图谱12 个相邻概念 · 3 类关系

拖动节点调整位置。

显示关系

显示:依赖

  1. 前置三跳
  2. 前置二跳
  3. 前置一跳
  4. 当前条目
  5. 后续一跳
  6. 后续二跳
  7. 后续三跳
文字版关系按与当前条目的最短距离分组
类型化关系