Skip to content

正规化性质

Normalization property

每个良构或良类型项能否经有限归约到正规形的性质。

条目类型
定义

形式陈述

给定小步语义的单步归约关系 ,项 t 弱正规化(weakly normalizing),若存在正规形 n 使 tn;项 t 强正规化(strongly normalizing),若从 t 出发不存在无限归约序列

t=t0t1t2.

一个语言或项集合具有弱正规化性质,若其中每个项都弱正规化;具有强正规化性质,若每个项都强正规化。强正规化蕴含弱正规化,但反向一般不成立。两者都量化允许的归约关系,不等于语言指定 evaluator 的终止性:后者只问某个确定求值策略产生的执行是否有限。改变可归约位置、规则或求值策略都可能改变结论。

直觉

正规化讨论的是计算能否结束,但量词位置决定了两种很不一样的保证。弱正规化说“至少有一种聪明的走法能到终点”,强正规化说“不管怎样选择下一步都不可能无限走”。正规形只描述终点长什么样,正规化性质则描述从起点是否以及如何必然抵达。类型系统常通过限制自应用和递归来换取强正规化;这种保证比通常的类型安全更强,因为后者允许良类型程序无限运行。

例子与边界

(λx.y)Ω 弱正规化:收缩外层一步即得 y;但它不强正规化,因为可以永远在参数 Ω 内作自循环归约。Ω 既不弱正规化也不强正规化。有限、无环的算术表达式归约则通常强正规化,可用表达式大小或某个严格下降的度量证明。

边界在于“程序运行会终止”通常只关心语言指定的单一求值策略,而强正规化量化所有合法归约顺序。具有一般递归的实用语言不可能让所有程序都正规化;证明助理的逻辑核心则常要求定义通过结构递归或终止检查,以保护逻辑一致性。

推论与应用

简单类型 λ 演算强正规化是类型限制排除非终止计算的基本结果,并通过 Curry–Howard 对应转化为证明正规化与逻辑一致性的证据。常见证明把“可终止且在函数应用下封闭”组织成一元逻辑关系,再由逻辑关系基本定理推出每个良类型项属于该谓词;具体关系与推导归纳不属于正规化性质的定义。

在程序验证中,终止分析、大小变化原则和良基递归都在构造一个随步骤严格下降的量。正规化本身不保证正规形唯一;在重写系统中,有

strong normalization+confluenceunique normal form.

弱正规化加合流性也能使已存在的正规形唯一,但不足以排除其他发散归约路径。

参考资料
  • Robert Harper, Practical Foundations for Programming Languages, 2nd ed., Cambridge University Press, 2016,Parts I–XVIII。
  • Benjamin C. Pierce, Types and Programming Languages, MIT Press, 2002,Chs. 3–30。
关系图谱12 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

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