2026-08-28·作者 Sijie Wang#idea#math

soundness

可靠性

上级:soundness-and-completeness

可靠性

Γ ⊢ φ ⟹ Γ ⊨ φ —— 任何你能证明的东西都是真的(在 Γ 的每一个模型中都真)。这套证明演算从不说谎。

证明——让真值沿着规则往下推(句法 → 语义)

这是容易的那个方向,走的是对推导做归纳——从 syntax to semantics 的这座桥是逐条规则、局部搭建起来的:

  • 基础情形——公理: 检查每一条公理都是有效的(在所有模型中都为真)。(例如 P → (Q → P)——验证它的真值表,as in the example。)
  • 归纳情形——推理规则保真: 对每一条规则,只要前提为真,结论就为真。分离规则(Modus ponens): 若 A 在某个模型中为真,且 A → B 在该模型中也为真,那么 B 在该模型中也为真。 因此一条证明中的每一行,在前提的每一个模型中都为真;所以最后一行 φ 也为真。∎

整件事的内容就是:每一条规则都保真,所以真值沿着证明向下流动,从有效的公理一路流到结论。

不可退让——与完备性不同

这两个性质并不处在同等的地位上:

  • 可靠性是强制性的。 一个证明系统哪怕只能证出一个假命题,就一文不值:一旦 ⊢ 能推到一个不真的命题,它就能(借道这个不真的命题)推出任何东西,所以"⊢ φ"这句话对 φ 什么都说明不了。可靠性是一个证明系统配得上这个名字的最低要求——正是它让 ⊢ 有意义。
  • Completeness只是锦上添花。 一个可靠但不完备的系统依然完全可用——它从不说谎,只是无法抵达每一个真命题。很多优秀的系统都是刻意做成可靠而不完备的(弱理论、可判定片段、大多数实用证明助手的自动化部分)。

这种不对称一句话概括:丢掉可靠性 → 变成垃圾;丢掉完备性 → 只是能力有限。 所以你永远不会拿可靠性去做交易;但你经常会拿完备性去换(换取可判定性、速度,或者一个更弱的基础)。

为什么它是你真正依赖的那个性质

可靠性正是让一份经过检查的证明值得信任的原因——这也是一个小型可信 proof kernel 存在的全部意义:它只能推导出为真的东西,所以一个通过类型检查的项确确实实就是一个证明。用 certificate 的语言来说,可靠性就是"验证者接受的凭证确实是有效的"。它的逆否命题是一件趁手的工具:⊭ φ ⟹ ⊬ φ——像 P → Q 这样一个非重言式是无法被证明的。

關於這一條

sijie 的一條 wiki 條目。本站的 AI 以同一套語料庫為依據、以 sijie 的口吻作答,並附有指向此類條目的引用——回答會花 sijie 的錢,所以它在存取碼後等待: 輸入存取碼 →