Deciding Presburger Arithmetic by Model Checking and Comparisons with Other Methods

  • Vijay Ganesh
  • Sergey Berezin
  • David L. Dill
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2517)


We present a new way of using Binary Decision Diagrams in automata based algorithms for solving the satisfiability problem of quantifier-free Presburger arithmetic. Unlike in previous approaches [5,2,19], we translate the satisfiability problem into a model checking problem and use the existing BDD-based model checker SMV [13] as our primary engine.

We also compare the performance of various Presburger tools, based on both automata and ILP approaches, on a large suite of parameterized randomly generated test cases. The strengths and weaknesses of each approach as a function of these parameters are reported, and the reasons for the same are discussed. The results show that no single tool performs better than the others for all the parameters.

On the theoretical side, we provide tighter bounds on the number of states of the automata.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Tod Amon, Gaetano Borriello, Taokuan Hu, and Jiwen Liu. Symbolic timing verification of timing diagrams using Presburger formulas. In Design Automation Conference, pages 226–231, 1997.Google Scholar
  2. 2.
    Alexandre Boudet and Hubert Comon. Diophantine equations, Presburger arithmetic and finite automata. In H. Kirchner, editor, Colloquium on Trees in Algebra and Programming (CAAP’96), volume 1059 of Lecture Notes in Computer Science, pages 30–43. Springer Verlag, 1996.Google Scholar
  3. 3.
    R. Brinkmann and R. Drechsler. RTL-datapath verification using integer linear programming. InIEEEVLSIDesign’01 & Asia and South Pacific Design Automation Conference, Bangalore, pages 741–746, 2002.Google Scholar
  4. 4.
    R. E. Bryant. Graph-based algorithms for boolean function manipulation. IEEE Transactions on Computers, 35(8):677–691, 1986.zbMATHCrossRefGoogle Scholar
  5. 5.
    J. R. Büchi. Weak second-order arithmetic and finite automata. Zeitschrift für mathematische Logik und Grundladen der Mathematik, 6:66–92, 1960.zbMATHCrossRefGoogle Scholar
  6. 6.
    J. R. Burch, E. M. Clarke, K. L. McMillan, D. L. Dill, and L. J. Hwang. Symbolic model checking: 1020 states and beyond. Information and Computation, 98:142–170, 1992.zbMATHCrossRefMathSciNetGoogle Scholar
  7. 7.
    E. M. Clarke, E. A. Emerson, and A. P. Sistla. Automatic verification of finite-state concurrent systems using temporal logic specifications. ACM Transactions on Programming Languages and Systems, 8(2):244–263, 1986.zbMATHCrossRefGoogle Scholar
  8. 8.
    D. C. Cooper. Theorem proving in arithmetic without multiplication. In Machine Intelligence, volume 7, pages 91–99, New York, 1972. American Elsevier.zbMATHGoogle Scholar
  9. 9.
    George B. Dantzig and B. Curtis Eaves. Fourier-Motzkin elimination and its dual. Journal of Combinatorial Theory (A), 14:288–297, 1973.zbMATHCrossRefMathSciNetGoogle Scholar
  10. 10.
    Jacob Elgaard, Nils Klarlund, and Anders Møller. Mona 1.x: new techniques for ws1s and ws2s. In Computer Aided Verification, CAV’ 98, Proceedings, volume 1427 of LNCS. Springer Verlag, 1998.CrossRefGoogle Scholar
  11. 11.
    P. Johannsen and R. Drechsler. Formal verification on the RT level computing one-to-one design abstractions by signal width reduction. In IFIP International Conference on Very Large Scale Integration (VLSI’01), Montpellier, 2001, pages 127–132, 2001.Google Scholar
  12. 12.
    G. Kreisel and J. Krivine. Elements of mathematical logic, 1967.Google Scholar
  13. 13.
    K. L. McMillan. Symbolic Model Checking: An Approach to the State Explosion Problem. Kluwer Academic Publishers, 1993.Google Scholar
  14. 14.
    Derek C. Oppen. A 222pn upper bound on the complexity of Presburger arithmetic. Journal of Computer and System Sciences, 16(3):323–332, June 1978.Google Scholar
  15. 15.
    M. Presburger. Uber de vollständigkeit eines gewissen systems der arithmetik ganzer zahlen, in welchen, die addition als einzige operation hervortritt. In Comptes Rendus du Premier Congrès des Mathématicienes des Pays Slaves, pages 92–101, 395, Warsaw, 1927.Google Scholar
  16. 16.
    William Pugh. The omega test: a fast and practical integer programming algorithm for dependence analysis. In Supercomputing, pages 4–13, 1991.Google Scholar
  17. 17.
    T. R. Shiple, J. H. Kukula, and R. K. Ranjan. A comparison of Presburger engines for EFSM reachability. In A. J. Hu and M. Y. Vardi, editors, Proceedings of the 10th International Conference on Computer Aided Verification, volume 1427, pages 280–292. Springer-Verlag, 1998.Google Scholar
  18. 18.
    H. P. Williams. Fourier-Motzkin elimination extension to integer programming problems. Journal of Combinatorial Theory (A), 21:118–123, 1976.zbMATHCrossRefGoogle Scholar
  19. 19.
    Pierre Wolper and Bernard Boigelot. On the construction of automata from linear arithmetic constraints. In Proc. 6th International Conference on Tools and Algorithms for the Construction and Analysis of Systems, volume 1785 of Lecture Notes in Computer Science, pages 1–19, Berlin, March 2000. Springer-Verlag.CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2002

Authors and Affiliations

  • Vijay Ganesh
    • 1
  • Sergey Berezin
    • 1
  • David L. Dill
    • 1
  1. 1.Stanford UniversityUSA

Personalised recommendations