A Satisfiability Checker for Difference Logic

We present a constraint solver for difference logic, a logic whose formulae consist of Boolean combinations of difference inequalities of the form X − Y ≥ c where X and Y are numerical variables and c is a constant. Such formulae are encountered in many occasions, most notably in the definition of feasible solutions for scheduling problems and in the verification of timed automata. In both cases they express constraints on the time elapsed between pairs of events. While constraint solving for such formulae fits into more general frameworks such as of constraint propagation techniques, our aim is to provide a solver specialized for this class of formulae. To this end we take the general scheme of propositional SAT solving and extend it to difference logic.

[1]  Henrik Reif Andersen,et al.  Difference Decision Diagrams , 1999, CSL.

[2]  Satoshi Yamane,et al.  The symbolic model-checking for real-time systems , 1996, Proceedings of the Eighth Euromicro Workshop on Real-Time Systems.

[3]  Olivier Bournez,et al.  On the Representation of Timed Polyhedra , 2000, ICALP.

[4]  Robert E. Tarjan,et al.  Depth-First Search and Linear Graph Algorithms , 1972, SIAM J. Comput..

[5]  Armin Biere,et al.  Symbolic Model Checking without BDDs , 1999, TACAS.

[6]  Wang Yi,et al.  Clock Difference Diagrams , 1998, Nord. J. Comput..

[7]  Mark E. Stickel,et al.  Implementing the Davis–Putnam Method , 2000, Journal of Automated Reasoning.

[8]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[9]  W. Luxemburg Non-Standard Analysis , 1977 .

[10]  Amir Pnueli,et al.  Data-Structures for the Verification of Timed Automata , 1997, HART.

[11]  G. Stålmarck,et al.  Modeling and Verifying Systems and Software in Propositional Logic , 1990 .

[12]  Jan Friso Groote,et al.  The Propositional Formula Checker HeerHugo , 2000, Journal of Automated Reasoning.