Artificial Intelligence Review

, Volume 49, Issue 3, pp 439–453 | Cite as

Accelerating Boolean Satisfiability (SAT) solving by common subclause elimination

  • Forrest Sheng Bao
  • Chris Gutierrez
  • Jeriah Jn Charles-Blount
  • Yaowei Yan
  • Yuanlin Zhang


Boolean Satisfiability (SAT) is an important problem in many domains. Modern SAT solvers have been widely used in important industrial applications including automated planning and verification. To solve more problems in real applications, new techniques are needed to speed up SAT solving. Inspired by the success of common subexpression elimination in programming languages and other related areas, we study the impact of common subclause elimination (CSE) on SAT solving. Intensive experiments on many SAT solvers and benchmarks with 48-h timeout show that CSE can consistently improve SAT solving. Up to 5% more SAT13 instances can be solved after CSE. LZW-based CSE shows the best overall performance, particularly in the category of application benchmarks. A potential use of this result is that one may consider the heuristic of applying CSE to boost SAT solver performance on real life applications. Because of many possible ways to improve the benefit of CSE, we hope future research can unleash the full potential of CSE in SAT solving.


Boolean Satisfiability Common subclause elimination Application benchmarks 



The authors appreciate the feedback from anonymous reviewers. Bao’s work in this paper is partially sponsored by NSF MCB-1616216. Zhang’s work in this paper is partially sponsored by NSF IIS-1018031 and CNS-1359359.


  1. Agrawal R, Srikant R (1994) Fast algorithms for mining association rules in large databases. In: Proceedings of the 20th international conference on very large data bases, VLDB ’94, pp 487–499Google Scholar
  2. Agrawal R, Imieliński T, Swami A (1993) Mining association rules between sets of items in large databases. In: Proceedings of the 1993 ACM SIGMOD international conference on management of data, SIGMOD’93, pp 207–216Google Scholar
  3. Aho AV, Lam MS, Sethi R, Ullman JD (2007) Compilers: principles, techniques, and tools. Addison-Wesley Longman Publishing Co., Inc, Boston. ISBN 0-201-10088-6Google Scholar
  4. Araya I, Neveu B, Trombettoni G (2008) Exploiting common subexpressions in numerical CSPs. In: Proceedings of 14th international conference on principles and practice of constraint programming, CP 2008, pp 342–357Google Scholar
  5. Arpe J, Reischuk R (2006) On the complexity of optimal grammar-based compression. In: Proceedings data compression conference, DCC 2006, pp 173–182Google Scholar
  6. Audemard G, Simon L (2014) Lazy clause exchange policy for parallel sat solvers. In: Theory and applications of satisfiability testing–SAT 2014. Springer, Berlin, pp 197–205Google Scholar
  7. Charikar M, Lehman E, Liu D, Panigrahy R, Prabhakaran M, Rasala A, Sahai A, Shelat A (2002) Approximating the smallest grammar: Kolmogorov complexity in natural models. In: Proceedings of the thiry-fourth annual ACM symposium on theory of computing, STOC ’02, pp 792–801. ACM. ISBN 1-58113-495-9.
  8. Cook SA (1971) The complexity of theorem-proving procedures. In: Proceedings of the 3rd annual ACM symposium on theory of computing, STOC’71, pp 151–158Google Scholar
  9. Eén N, Biere A (2005) Effective preprocessing in SAT through variable and clause elimination. In: Proceedings of the 8th international conference on theory and applications of satisfiability testing, SAT’05, pp 61–75Google Scholar
  10. Gebser M, Kaufmann B, Neumann A, Schaub T (2007) Clasp: a conflict-driven answer set solver. In: Proceedings of 9th international conference on logic programming and nonmonotonic reasoning (LPNMR’07), pp 260–265Google Scholar
  11. Jabbour S, Sais L, Salhi Y, Uno T (2013) Mining-based compression approach of propositional formulae. In: 22nd ACM international conference on information and knowledge management, (CIKM’13), pp 289–298. doi: 10.1145/2505515.2505576
  12. Pasko R, Schaumont P, Derudder V, Vernalde S, Durackova D (1999) A new algorithm for elimination of common subexpressions. IEEE Trans CAD Integr Circuits Syst 18(1):58–68CrossRefGoogle Scholar
  13. Purdom PW, Van Gucht D, Groth DP (2004) Average-case performance of the apriori algorithm. SIAM J Comput 33(5):1223–1260MathSciNetCrossRefMATHGoogle Scholar
  14. Rendl A (2010) Effective compilation of constraint models. Technical report. URL:
  15. Rendl A, Gent IP, Miguel I. Eliminating common subexpressions during flattening. URL:
  16. Rendl A, Miguel I, Gent IP, Jefferson C (2009) Automatically enhancing constraint model instances during tailoring. In: Proceedings of the 8th symposium on abstraction, reformulation, and approximation. SARA2009Google Scholar
  17. Shlyakhter I, Sridharan M, Seater R, Jackson D (2003) Exploiting subformula sharing in automatic analysis of quantified formulas. In: Proceedings of 6th international conference on theory and applications of satisfiability testing, SAT’03Google Scholar
  18. Storer JA, Szymanski TG (1982) Data compression via textural substitution. J ACM 29(4):928–951CrossRefMATHGoogle Scholar
  19. Welch T (1984) A technique for high-performance data compression. Computer 17(6):8–19CrossRefGoogle Scholar

Copyright information

© Springer Science+Business Media Dordrecht 2017

Authors and Affiliations

  • Forrest Sheng Bao
    • 1
  • Chris Gutierrez
    • 2
  • Jeriah Jn Charles-Blount
    • 3
  • Yaowei Yan
    • 4
  • Yuanlin Zhang
    • 3
  1. 1.Department of Electrical and Computer EngineeringUniversity of AkronAkronUSA
  2. 2.Amazon Web Services, Inc.North SeattleUSA
  3. 3.Department of Computer ScienceTexas Tech UniversityLubbockUSA
  4. 4.College of Information Science and TechnologyPennsylvania State UniversityUniversity ParkUSA

Personalised recommendations