On the Satisfiability of Modular Arithmetic Formulae

  • Bow-Yaw Wang
Part of the Lecture Notes in Computer Science book series (LNCS, volume 4218)


Modular arithmetic is the underlying integral computation model in conventional programming languages. In this paper, we discuss the satisfiability problem of propositional formulae in modular arithmetic over the finite ring \(\textbf{Z}_{2^\omega}\). Although an upper bound of \(2^{2^{O (n^4)}}\) can be obtained by solving alternation-free Presburger arithmetic, it is easy to see that the problem is in fact NP-complete. Further, we give an efficient reduction to integer programming with the number of constraints and variables linear in the length of the given linear modular arithmetic formula. For non-linear modular arithmetic formulae, an additional factor of ω is needed. With the advent of efficient integer programming packages, our algorithm could be useful to software verification in practice.


Integer Programming Linear Constraint Decision Procedure Atomic Proposition Integer Programming Problem 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Babić, D., Musuvathi, M.: Modular arithmetic decision procedure. Technical Report MSR-TR-2005-114, Microsoft Research (2005)Google Scholar
  2. 2.
    Barrett, C., Berezin, S.: CVC Lite: A new implementation of the cooperating validity checker. In: Alur, R., Peled, D.A. (eds.) CAV 2004. LNCS, vol. 3114, pp. 515–518. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  3. 3.
    Biere, A., Cimatti, A., Clarke, E.M., Fujita, M., Zhu, Y.: Symbolic model checking using SAT procedures instead of BDDs. In: Design Automation Conference, pp. 317–320. ACM Press, New York (1999)Google Scholar
  4. 4.
    Boigelot, B., Wolper, P.: Representing arithmetic constraints with finite automata: An overview. In: Stuckey, P.J. (ed.) ICLP 2002. LNCS, vol. 2401, pp. 1–19. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  5. 5.
    Clarke, E., Kroening, D., Sharygina, N., Yorav, K.: Predicate abstraction of ANSI-C programs using SAT. Formal Methods in System Design 25(2–3), 105–127 (2004)MATHCrossRefGoogle Scholar
  6. 6.
    Cooper, D.C.: Theorem proving in arithmetic without multiplication. Machine Intelligence 7 (1972)Google Scholar
  7. 7.
    Cousot, P., Cousot, R.: Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints. In: ACM Symposium on Principles of Programming Languages, pp. 238–252 (1977)Google Scholar
  8. 8.
    Enderton, H.: A Mathematical Introduction to Logic. Academic Press, London (1972)MATHGoogle Scholar
  9. 9.
    Geist, A., Beguelin, A., Dongarra, J., Jiang, W., Manchek, R., Sunderam, V.: PVM: Parallel Virtual Machine – A Users’ Guide and Tutorial for Networked Parallel Computing. MIT Press, Cambridge (1994)MATHGoogle Scholar
  10. 10.
    Huet, G., Kahn, G.: Paulin-Mohring: The Coq proof assistant: a tutorial: version 6.1. Technical Report 204, Institut National de Recherche en Informatique et en Automatique (1997)Google Scholar
  11. 11.
    Hungerford, T.W.: Algebra. Graduate Texts in Mathematics, vol. 73. Springer, Heidelberg (1980)MATHGoogle Scholar
  12. 12.
    Knuth, D.E.: The Art of Computer Programming. Seminumerical Algorithms, vol. II. Addison-Wesley, Reading (1997)Google Scholar
  13. 13.
    Melham, T.F.: Introduction to the HOL theorem prover. University of Cambridge, Computer Laboratory (1990)Google Scholar
  14. 14.
    Murtagh, B.A.: Advanced Linear Programming: Computation and Practice. McGraw-Hill, New York (1981)MATHGoogle Scholar
  15. 15.
    Oppen, D.C.: Elementary bounds for presburger arithmetic. In: ACM Symposium on Theory of Computing, pp. 34–37. ACM, New York (1973)Google Scholar
  16. 16.
    Papadimitriou, C.H.: Computational Complexity. Addison-Wesley, Reading (1994)MATHGoogle Scholar
  17. 17.
    Paulson, L.C., Nipkow, T.: Isabelle tutorial and user’s manual. Technical Report TR-189, Computer Laboratory, University of Cambridge (1990)Google Scholar
  18. 18.
    Ralphs, T.K., Guzelsoy, M.: The SYMPHONY callable library for mixed integer programming. In: INFORMS Computing Society (2005)Google Scholar
  19. 19.
    Reddy, C.R., Loveland, D.W.: Presburger arithmetic with bounded quantifier alternation. In: ACM Symposium on Theory of Computing, pp. 320–325. ACM, New York (1978)CrossRefGoogle Scholar
  20. 20.
    Saídi, H., Graf, S.: Construction of abstract state graphs with PVS. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 72–83. Springer, Heidelberg (1997)Google Scholar
  21. 21.
    Seshia, S.A., Bryant, R.E.: Deciding quantifier-free presburger formulas using parameterized solution bounds. In: Logic in Computer Science, pp. 100–109. IEEE Computer Society, Los Alamitos (2004)Google Scholar
  22. 22.
    Stinson, D.R.: Cryptography: Theory and Practice. CRC Press, Boca Raton (1995)MATHGoogle Scholar
  23. 23.
    Wang, B.Y.: On the satisfiability of modular arithmetic formula. Technical Report TR-IIS-06-001, Institute of Information Science, Academia Sinica (2006), http://www.iis.sinica.edu.tw/LIB/TechReport/tr2006/tr06.html

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Bow-Yaw Wang
    • 1
  1. 1.Institute of Information ScienceAcademia SinicaTaiwan

Personalised recommendations