形式陈述
固定一种命题公式的二进制编码,并令 是所有永真式公理库永真式Tautology · Valid propositional formula在每个真值赋值下均为真的命题公式。编码的集合。Cook–Reckhow 命题证明系统可以写成一个满射
且函数 可由确定性算法在输入证明串 的长度的多项式时间内计算,即采用P公理库复杂度类 PP · Polynomial time能由确定性算法在输入长度的多项式时间内判定的语言集合。所对应的确定性多项式时间资源;严格说,输出公式的 是函数,属于函数类 FP,而语言类 P 本身只装判定问题。称 时, 是 的一个 -证明。值域恰为 同时包含两件事:可靠性要求任何串都不会生成非永真式,完备性要求每个永真式至少有一个原像。
常用的关系式口径把系统写成 :验证关系可在 时间判定,并满足
两种口径可多项式地互换。给定关系式系统,令新证明串显式编码 :验证通过则输出 ,失败则输出某个固定永真式。这说明为何新输入必须包含公式,否则验证关系本身并没有告诉算法该输出哪条定理。反向给定函数式系统,令验证器重新计算 并比较输出即可。对畸形证明如何选一个固定永真式作为输出只是编码约定,不改变证明长度的多项式尺度。
直觉
这个定义把“证明是什么”压缩成两个可操作条件:读者拿到证明后必须能迅速检查,而系统必须覆盖所有真的命题。它刻意不规定证明行长什么样;行可以是 Frege 公式、归结子句、整数不等式或多项式。这样才能把不同语法放到同一把尺上,以最短证明长度比较它们,而不把某套演绎记号误当作复杂度结论。
验证时间是证明长度的多项式,而不是公式长度的多项式。一个长度为 的证明仍可能在 时间逐行检查,完全符合定义。Cook–Reckhow 系统也不承诺能找到证明:验证器面对给定 只做局部核验,搜索算法却要在指数多个候选串中定位一个原像。正是“易验”和“易找”的分离,使证明长度与自动化成为两个不同问题。
例子与边界
以一个固定 Hilbert–Frege 演算为例,证明串可编码成公式序列。验证器逐行检查:该行是否是某个公理模式的代入实例,或是否由先前两行经 modus ponens 得到;最后比较末行与目标公式。对三行证明,验证器只需扫描三行及其引用,不需要重新枚举公式的全部真值表。若末行是 ,可靠性定理保证它是永真式;完备性定理保证每个永真式都有某个有限序列。这便给出一个具体 Cook–Reckhow 系统,而非只给出“存在证书”的口号。
有三个边界必须分清。第一,只要求验证关系在多项式时间可判定,却不要求证明长度受公式长度的多项式约束。第二,若删去“值域等于全部 TAUT”而只保留可靠性,永远输出 的算法也会冒充证明系统;它显然不完备。第三,若允许验证器在证明长度上运行指数时间,任何真值表式核验都可被塞进验证过程,系统间的复杂度比较便失去共同基准。
称 多项式有界,若存在多项式 ,使每个永真式 都有 的 -证明。这里量词顺序是“一个统一多项式控制所有永真式”,不能为每个公式临时选择不同指数。多项式有界系统是否存在,与 NP 和 coNP 的关系紧密,但它不是 Cook–Reckhow 定义本身附带的性质。
推论与应用
若存在多项式有界 Cook–Reckhow 系统,那么 TAUT 具有多项式长度、可多项式时间验证的证书,因而 。TAUT 又是 coNP 完全问题,于是得到 ;反过来,若两类相等,就能用 TAUT 的 NP 验证器构造多项式有界系统。因此“存在多项式有界命题证明系统”恰刻画这个尚未解决的复杂度类等式。相关的coNP公理库复杂度类 coNPComplexity class co-NP · coNP补语言属于 NP 的语言类。视角也解释了为何证明复杂度研究的对象是永真式或不可满足公式,而不是 SAT 的满足赋值证书。
这一抽象框架让归结反驳公理库归结反驳Resolution refutation · Propositional resolution从 CNF 初始子句反复归结并导出空子句的命题反驳系统。、切割平面证明系统公理库切割平面证明系统Cutting planes proof system · CP proof system用布尔变量上的整数线性不等式、非负组合和整数取整导出矛盾的证明系统。、多项式演算公理库多项式演算证明系统Polynomial calculus proof system · Polynomial calculus · PC proof system将 CNF 不可满足性编码成域上多项式方程并通过理想推理导出常数一的代数证明系统。与Frege 系统公理库Frege 证明系统Frege proof system · Frege system以有限公理模式和有限推理规则对任意命题公式进行演绎的标准强命题证明系统。可以在统一编码下比较。具体系统通常直接反驳不可满足 CNF;单把 的反驳视为 的证明,只覆盖了具有这种语法的永真式。要覆盖任意目标公式 ,可固定一个多项式时间 CNF 编码 ,使它与 等可满足,证明串包含 及对该编码的反驳。验证器重新生成编码并核查反驳,通过才输出原公式 。这样既保证所有输出永真,又由反驳完备性覆盖全部 TAUT;编码开销也被明确计入。定义只提供公共赛道,并不预先判定哪套系统更强。
参考资料
- Stephen A. Cook and Robert A. Reckhow, “The Relative Efficiency of Propositional Proof Systems,” Journal of Symbolic Logic 44(1), 1979, pp. 36–50, Definition 1.3 and Propositions 1.1, 1.4.
- Jan Krajíček, Bounded Arithmetic, Propositional Logic, and Complexity Theory, Cambridge University Press, 1995, Chapter 4, propositional proof systems.
- Pavel Pudlák, “The Lengths of Proofs,” in Samuel R. Buss (ed.), Handbook of Proof Theory, Elsevier, 1998, pp. 547–637, §2.