Skip to content

Nelson–Oppen 理论组合

Nelson–Oppen theory combination · Nelson–Oppen method

通过纯化和共享变量等式安排组合签名互不相交、稳定无限理论的量词自由判定过程。

条目类型
方法

形式陈述

设理论 T1,T2 的非逻辑签名 Σ1,Σ2 互不相交,只共享逻辑等号和相容的 sorts。理论 Ti 在相关共享 sort 上称为稳定无限,若每个可满足的量词自由文字合取都有一个该 sort 论域无限的 Ti-模型。Nelson–Oppen 方法判定组合理论 T1T2 中的量词自由SMT问题。

首先做 purification:若一个 T1 项内部含 Σ2 的 alien subterm,就以新变量 v 替换,并把定义等式 v=t 放入 T2 一侧;反向同理。得到纯文字合取 Γ1,Γ2,它们只通过一组共享变量 V 相连。

V 上的 arrangement A 是一个完整一致的等式/不等式选择,等价于给 V 选定一个等价类划分:每对共享变量要么被 A 判等,要么判不等。组合定理给出

Γ1Γ2 在 T1T2 中可满足

当且仅当存在 arrangement A,使 ΓiA 分别在 Ti 中可满足。签名不交使每个 solver 只解释自己的符号;稳定无限保证局部模型可扩张到相容基数,再沿共享变量等价类粘合。

直觉

两个 theory solvers 不交换内部公式,只协商“这些共同对象是否相等”。Purification 把跨理论嵌套拆成命名接口;arrangement 则像一份双方必须接受的共享对象身份证明。若某一方推出新等式,另一方把它当输入继续检查,直至冲突或达到共同一致。

稳定无限不是技术装饰。局部 solver 可能各自有模型,却分别被迫使用不同有限论域大小,导致无法粘合;允许把可满足模型扩成无限论域,便消除了这种纯基数冲突。签名互不相交同样关键:若两个 solver 同时给同一函数符号不同解释,仅交换等式不足以协调它们。

例子与边界

组合 EUF 与线性实数算术,考察

f(x)f(y)xyyx.

算术部分由LRA theory solver推出共享等式 x=y。把它交给 EUF 后,同余闭包推出 f(x)=f(y),与输入 disequality 冲突。两侧原本各自可满足:LRA 可取 x=y=0,EUF 在未获知 x=y 时可把 x,y 解释为不同元素;正是等式交换暴露了组合矛盾。

若组件理论是 convex 的,即

TΓ(x1=y1xk=yk)

必然意味着其中某个单独等式已由 TΓ 蕴涵,那么反复传播必然等式即可。非 convex 理论可能只推出一个等式析取,却不推出任何单项;此时必须让 Boolean 层 case split 或枚举 arrangements,不能任意挑一个等式传播。

定宽位向量理论只有有限论域,通常不满足稳定无限;含共享非逻辑函数的理论也违反 signature-disjoint 假设。许多实用求解器有专门组合、bit-blasting 或 delayed theory combination 来处理这些情形,但它们不是原始定理的无条件实例。多 sort 场景还要逐个共享 sort 核对稳定无限性,不能只说“理论总体无限”。

推论与应用

Nelson–Oppen 为模块化 SMT 提供清晰边界:EUF、LRA、数组等组件可各自维护高效专用状态,只需通过共享等式协调。DPLL(T) 可把 arrangement 分支与 equality propagation 交给 Boolean 层,并把局部 theory conflicts 学成子句;组合方法决定哪些交换足以保证全局模型存在。

复杂度可能由共享变量对数主导,因为完整 arrangement 数量呈指数增长。Convexity、equality propagation 和延迟分裂能减少枚举,却没有让任意组合自动高效。实现或教材在声称“可组合”时应同时列出签名、sort、稳定无限、convexity 与各组件判定完备性,而不是只列 solver 名称。

参考资料
  • Greg Nelson and Derek C. Oppen, “Simplification by Cooperating Decision Procedures,” ACM Transactions on Programming Languages and Systems 1(2), 1979, pp. 245–257。
  • Daniel Kroening and Ofer Strichman, Decision Procedures: An Algorithmic Point of View, 2nd ed., Springer, 2016, Chapter 10。
  • Clark Barrett, Roberto Sebastiani, Sanjit A. Seshia, and Cesare Tinelli, “Satisfiability Modulo Theories,” in Handbook of Satisfiability, 2nd ed., IOS Press, 2021。
关系图谱5 个相邻概念 · 2 类关系

拖动节点调整位置。

显示关系

显示:依赖

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