An Efficient Nelson-Oppen Decision Procedure for Difference Constraints over Rationals

Electr. Notes Theor. Comput. Sci. | , Vol 144: pp. 27-41

Nelson and Oppen provided a methodology for modularly combining decision procedures for individual theories to construct a decision procedure for a combination of theories. In addition to providing a check for satisfiability, the individual decision procedures need to provide additional functionalities, including equality generation. In this paper, we propose a decision procedure for a conjunction of difference constraints over rationals (where the atomic formulas are of the form x ≤ y + c or x < y + c). The procedure extends any negative cycle detection algorithm (like the Bellman-Ford algorithm) to generate (1) equalities between all pair of variables, (2) produce proofs and (3) generates models that can be extended by other theories in a Nelson-Oppen framework. All the operations mentioned above can be performed with only a linear overhead to the cycle detection algorithm.