“在 EUF 中,同余闭包算法可对已登记等式原子传播“参数相等蕴含函数值相等”,并为 disequality 冲突重建等式链。在 LRA 中,SMT 单纯形求解器可从 tableau 行和活动…”
形式陈述 ​
等式与未解释函数理论 EUF 的地面输入由等式
同余闭包是包含全部输入等式的最小此类关系。地面 EUF 合取可满足,当且仅当每个输入不等式
算法先把所有子项建成 term DAG;常元视作零元函数。输入等式触发类合并。对函数应用项维护 signature
其中
直觉
普通等式闭包只做自反、对称和传递;函数同余还要求“相等参数可代入同一函数”。若先知道
函数是 uninterpreted,表示求解器不能使用单调性、线性或可逆性。它只保留所有函数都必须满足的确定性与同余性。这种克制使算法适用于程序中的抽象库调用,也明确标出它无法证明的领域性质。
例子与边界
考虑
前两个等式先得到类
同余规则合并
边界也可在反方向看清。
并查集适合维护不断合并的等价类,但它本身不知道 term DAG 和函数 signature。把 DSU 的
推论与应用
在 SMT 中,当前 trail 新增等式会增量触发合并;新增 disequality 若落在同一类中就产生 theory conflict。若 Boolean 层已登记原子
EUF 常用于把复杂函数暂时抽象为纯函数符号。若验证目标依赖库函数的单调性、内存副作用或异常行为,必须另加公理或更精确模型;否则 SAT 模型可能选择任意符合同余性的函数。Nelson–Oppen 组合可让 EUF 与算术 theory solver 通过共享等式协作,但组合正确性还需要签名互不相交和稳定无限等额外条件。
参考资料
- Greg Nelson and Derek C. Oppen, “Fast Decision Procedures Based on Congruence Closure,” Journal of the ACM 27(2), 1980, pp. 356–364。
- Peter J. Downey, Ravi Sethi, and Robert E. Tarjan, “Variations on the Common Subexpression Problem,” Journal of the ACM 27(4), 1980, pp. 758–771。
- Daniel Kroening and Ofer Strichman, Decision Procedures: An Algorithmic Point of View, 2nd ed., Springer, 2016, Chapter 4。