“CDCL 延续DPLL 的 trail 与单位传播,却在冲突后不只翻转最近决策。Trail 中每个文字带决策层;传播文字还带 reason clause。若子句 $C$ 的所有文字都被当前…”
形式陈述 ​
把子句视为文字集合。给定合取范式
推出 resolvent
规则可靠,因为任何同时满足两个前提子句的赋值,无论令
直觉
一条归结推理消去一个二择变量。第一前提说“若
这种局部性既是力量也是限制。验证者只需比较两行和一个 pivot,归结因而非常适合 SAT 求解器的冲突证书;但每行只能表达一个析取子句,无法像一般 Frege 证明那样把任意嵌套公式作为中间引理。证明复杂度下界正是量化:一个不可满足公式虽没有模型,要让这种单一行语言暴露矛盾,可能需要多少子句、多少宽度或多少次重复推导。
例子与边界
考虑
前两项以
这是三次推理、最大子句宽度为
归结完备性依赖先把公式放进 CNF。Tseitin 编码引入辅助变量后通常只保持等可满足性,而非原变量上逐赋值同值;证明长度比较必须把编码规模计入。不同定义可能允许 weakening、删去永真子句或把同一子句重复登记,这些约定通常可多项式互译,却会改变精确的行数。对子句数的下界若不声明计数节点、推理步还是总文字数,也没有可复核含义。
推论与应用
树形归结禁止共享已导出子句,DAG 形归结允许一个引理被多次引用;二者使用同一局部规则,却有不同的全局资源。归结宽度记录反驳中最宽的子句,规模—宽度权衡把某些宽度下界转成长度下界。这些指标共同解释为什么“规则只有一行”仍能产生精细的复杂度层次。
现代 CDCL SAT 求解器的冲突分析和 clause learning 可输出归结式证书;带 restart 的理想化 CDCL 与一般归结之间存在多项式模拟结果,但具体结论依赖学习方案、分支规则与是否允许擦除。工程求解速度也不等于短归结证明:预处理、扩展变量、异或推理或专用理论传播可能已经越出纯归结模型,认证时必须把这些步骤展开或交给更强的证书格式。
参考资料
- John Alan Robinson, “A Machine-Oriented Logic Based on the Resolution Principle,” Journal of the ACM 12(1), 1965, pp. 23–41, resolution rule and completeness.
- Armin Haken, “The Intractability of Resolution,” Theoretical Computer Science 39, 1985, pp. 297–308.
- Jan Krajíček, Proof Complexity, Cambridge University Press, 2019, Chapter 4, resolution.