“符号 $\simeq$ 表示两边作为部分可计算函数外延相等:同一输入上要么都不定义,要么都停机并给出相同值。函数 $s m^n$ 本身对每组代码和固定参数都必须停机,即使被专门化的原程序以后…”
形式陈述 ​
部分函数
直觉
部分可计算函数允许算法在定义域之外永不返回,这精确表达了搜索式计算:找到见证时输出,找不到时可能无限继续。发散不是普通错误码,而是“没有结果”的计算行为;它把“未定义”与“返回某个特殊错误值”严格区分,后者仍是一个全函数值,前者则对应没有终止计算。因此,部分可计算性能够刻画可能不停机的真实程序,而不必为每个输入伪造输出;许多自然程序首先以这种形式出现,再通过额外证明确认它在目标输入域上总停机。
例子与边界
令
定义
不要把部分可计算误解为“机器可能随机失败”或“实现有 bug”。定义域本身是数学对象,且在定义域内必须给出确定的正确值;多值关系和概率输出属于其他模型。
推论与应用
部分可计算性是递归可枚举集、通用程序与不可判定性的统一语言。可接受编号把这些偏函数排成可被通用解释器处理的有效序列,而$s$-$m$-$n$ 定理在索引层完成参数固化;两者不改变函数可能发散的语义。可识别语言可由部分特征函数刻画——成员返回
参考资料
- Hartley Rogers Jr., Theory of Recursive Functions and Effective Computability, MIT Press, 1987,Chs. 1–14。
- Robert I. Soare, Turing Computability: Theory and Applications, Springer, 2016,Chs. 1–5。