A Randomized Satisfiability Procedure for Arithmetic and Uninterpreted Function Symbols

  • Sumit Gulwani
  • George C. Necula
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2741)


We present a new randomized algorithm for checking the satisfiability of a conjunction of literals in the combined theory of linear equalities and uninterpreted functions. The key idea of the algorithm is to process the literals incrementally and to maintain at all times a set of random variable assignments that satisfy the literals seen so far. We prove that this algorithm is complete (i.e., it identifies all unsatisfiable conjunctions) and is probabilistically sound (i.e., the probability that it fails to identify satisfiable conjunctions is very small). The algorithm has the ability to retract assumptions incrementally with almost no additional space overhead. The key advantage of the algorithm is its simplicity. We also show experimentally that the randomized algorithm has performance competitive with the existing deterministic symbolic algorithms.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Ackermann, W.: Solvable Cases of the Decision Problem. Studies in Logic and the Foundations of Mathematics. North-Holland, Amsterdam (1954)Google Scholar
  2. 2.
    Bachmair, L., Tiwari, A.: Abstract congruence closure and specializations. In: McAllester, D. (ed.) CADE 2000. LNCS (LNAI), vol. 1831, pp. 64–78. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  3. 3.
    Filliâtre, J.-C., Owre, S., Rueß, H., Shankar, N.: ICS: Integrated Canonization and Solving. In: Berry, G., Comon, H., Finkel, A. (eds.) CAV 2001. LNCS, vol. 2102, pp. 246–249. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  4. 4.
    Gulwani, S., Necula, G.C.: Discovering affine equalities using random interpretation. In: The 30th Annual ACM Symposium on Principles of Programming Languages, pp. 74–84. ACM Press, New York (2003)CrossRefGoogle Scholar
  5. 5.
    Gulwani, S., Necula, G.C.: A randomized satisfiability procedure for arithmetic and uninterpreted function symbols. Technical Report UCB-CS-03-1241. University of California, Berkeley (2003)Google Scholar
  6. 6.
    Motwani, R., Raghavan, P.: Randomized Algorithms. Cambridge University Press, Cambridge (1995)MATHGoogle Scholar
  7. 7.
    Nelson, G., Oppen, D.: Simplification by cooperating decision procedures. ACM Transactions on Programming Languages and Systems 1(2), 245–257 (1979)MATHCrossRefGoogle Scholar
  8. 8.
    Ruess, H., Shankar, N.: Deconstructing Shostak. In: 16th Annual IEEE Symposium on Logic in Computer Science (LICS 2001), Washington - Brussels - Tokyo, pp. 19–28. IEEE, Los Alamitos (2001)CrossRefGoogle Scholar
  9. 9.
    Shostak, R.E.: Deciding combinations of theories. Journal of the ACM 31(1), 1–12 (1984)MATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Sumit Gulwani
    • 1
  • George C. Necula
    • 1
  1. 1.University of CaliforniaBerkeley

Personalised recommendations