On Solving Presburger and Linear Arithmetic with SAT

We show a reduction to propositional logic from quantifier-free Presburger arithmetic, and disjunctive linear arithmetic, based on Fourier-Motzkin elimination. While the complexity of this procedure is not better than competing techniques, it has practical advantages in solving verification problems. It also promotes the option of deciding a combination of theories by reducing them to this logic.

[1]  George B. Dantzig,et al.  Linear programming and extensions , 1965 .

[2]  Randal E. Bryant,et al.  Processor verification using efficient reductions of the logic of uninterpreted functions to propositional logic , 1999, TOCL.

[3]  Randal E. Bryant,et al.  Exploiting Positive Equality in a Logic of Equality with Uninterpreted Functions , 1999, CAV.

[4]  Hai Zhou,et al.  BDD Based Procedures for a Theory of Equality with Uninterpreted Functions , 2003, Formal Methods Syst. Des..

[5]  David L. Dill,et al.  Validity Checking for Combinations of Theories with Equality , 1996, FMCAD.

[6]  John Rushby,et al.  User guide for the pvs specification and verification system (beta release) , 1991 .

[7]  L. Khachiyan Polynomial algorithms in linear programming , 1980 .

[8]  Andreas Blass,et al.  Inadequacy of computable loop invariants , 2001, TOCL.

[9]  Ofer Strichman,et al.  Deciding Separation Formulas with SAT , 2002, CAV.

[10]  Sharad Malik,et al.  Chaff: engineering an efficient SAT solver , 2001, Proceedings of the 38th Design Automation Conference (IEEE Cat. No.01CH37232).

[11]  William Pugh,et al.  Experiences with Constraint-based Array Dependence Analysis , 1994, PPCP.

[12]  William M. Farmer,et al.  IMPS: System Description , 1992, CADE.

[13]  Aart J. C. Bik,et al.  Implementation of fourier - motzkin elimina - tion , 1994 .

[14]  Randal E. Bryant,et al.  Boolean satisfiability with transitivity constraints , 2000, TOCL.

[15]  Amir Pnueli,et al.  Deciding Equality Formulas by Small Domains Instantiations , 1999, CAV.

[16]  Peer Johannsen Reducing bitvector satisfiability problems to scale down design sizes for RTL property checking , 2001, Sixth IEEE International High-Level Design Validation and Test Workshop.

[17]  O. Strichman Optimizations in Decision Procedures for Propositional Linear Inequalities , 2002 .

[18]  William Pugh,et al.  A practical algorithm for exact array dependence analysis , 1992, CACM.

[19]  Natarajan Shankar,et al.  ICS: Integrated Canonizer and Solver , 2001, CAV.

[20]  William Pugh,et al.  The Omega test: A fast and practical integer programming algorithm for dependence analysis , 1991, Proceedings of the 1991 ACM/IEEE Conference on Supercomputing (Supercomputing '91).

[21]  L. G. H. Cijan A polynomial algorithm in linear programming , 1979 .

[22]  Greg Nelson,et al.  Simplification by Cooperating Decision Procedures , 1979, TOPL.