Skip to main content
  • 606 Accesses

Satisfiability procedures are used to check if a formula representing a constraint has a solution. They are gaining popularity as core engines for a number of applications. These procedures can be adapted for uses beyond testing satisfiability. We describe the underlying ideas and enumerate some of the applications and extensions of satisfiability procedures for verification, test generation, planning, and scheduling.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 129.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 169.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 169.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  • A. Biere, A. Cimatti, E. Clarke, M. Fujita, and Y. Zhu. Symbolic model checking using SAT pro-cedures instead of BDDs. In Proceedings of the ACM Design Automation Conference (DAC’99). ACM Press, 1999.

    Google Scholar 

  • Randal E. Bryant, Shuvendu K. Lahiri, and Sanjit A. Seshia. Modeling and verifying systems using a logic of counter arithmetic with lambda expressions and uninterpreted functions. In Proceedings of CAV’02, volume 2404 of Lecture Notes in Computer Science, 2002.

    Google Scholar 

  • W. Craig. Three uses of the Herbrand-Gentzen theorem in relating model theory and proof theory. Journal of Symbolic Logic, 22(3):269-285, 1957.

    Article  MATH  MathSciNet  Google Scholar 

  • Satyaki Das and David L. Dill. Successive approximation of abstract transition relations. In Annual IEEE Symposium on Logic in Computer Science01, pages 51-60. The Institute of Electrical and Electronics Engineers, 2001.

    Google Scholar 

  • Bruno Dutertre and Leonardo de Moura. The Yices SMT solver. 2006.

    Google Scholar 

  • M. Davis, G. Logemann, and D. Loveland. A machine program for theorem proving. Communi-cations of the ACM, 5(7):394-397, July 1962.

    Article  MATH  MathSciNet  Google Scholar 

  • Reprinted in Siekmann and Wrightson [SW83], pages 267-270, 1983.

    Google Scholar 

  • Leonardo de Moura, Harald Rueß, and Maria Sorea. Lazy theorem proving for bounded model checking over infinite domains. In: A. Voronkov, editor, 18th International Conference on Auto-mated Deduction (CADE), volume 2392 of Lecture Notes in Computer Science, pages 438-455, Copenhagen, Denmark, July 2002. Springer-Verlag.

    Google Scholar 

  • D. Detlefs, G. Nelson, and J.B. Saxe. Simplify: A theorem prover for program checking. Technical Report HPL-2003-148, Hewlett-Packard Systems Research Center, 2003.

    Google Scholar 

  • M. Davis and H. Putnam. A computing procedure for quantification theory. JACM, 7(3):201-215, 1960.

    Article  MATH  MathSciNet  Google Scholar 

  • Niklas E én and Niklas S örensson. An extensible SAT-solver. In Proceedings of SAT 2003, 2003.

    Google Scholar 

  • Cormac Flanagan, Rajeev Joshi, Xinming Ou, and James B. Saxe. Theorem proving using lazy proof explication. In Proceedings of the 15th International Conference on Computer-Aided Verification (CAV 2003), volume 2725 of Lecture Notes in Computer Science, pages 355-367. Springer-Verlag, 2003.

    Google Scholar 

  • E. Goldberg and Y. Novikov. Berkmin: A fast and robust sat solver, 2002.

    Google Scholar 

  • S. Graf and H. Saïdi. Construction of abstract state graphs with PVS. In Conference on Computer Aided Verification CAV’97, Volume 1254 of Lecture Notes in Computer Science, Springer Verlag, 1997.

    Google Scholar 

  • Thomas A. Henzinger, Ranjit Jhala, Rupak Majumdar, and Gregoire Sutre. Lazy abstraction. In ACM Symposium on Principles of Programming Languages02, pages 58-70. Association for Computing Machinery, January 2002.

    Google Scholar 

  • Ranjit Jhala and Kenneth L. McMillan. Lazy abstraction with interpolants. In Proceedings of CAV’06, pages 123-136. Springer-Verlag, 2006.

    Google Scholar 

  • Henry Kautz, David McAllester, and Bart Selman. Encoding plans in propositional logic. In Pro-ceedings of the International Conference on Knowledge Representation (KR’96), 1996.

    Google Scholar 

  • Shuvendu Lahiri, Robert Nieuwenhuis, and Albert Oliveras. SMT techniqes for fast predicate abstraction. In Proceedings of CAV’06, 2006.

    Google Scholar 

  • Kenneth L. McMillan. Applying SAT methods in unbounded symbolic model checking. In Pro-ceedings of CAV 2002, pages 250-264. Springer-Verlag, 2002.

    Google Scholar 

  • Kenneth L. McMillan. An interpolating theorem prover. Theoretical Computer Science, 345(1):101-121, 2005.

    Article  MathSciNet  Google Scholar 

  • Matthew W. Moskewicz, Conor F. Madigan, Ying Zhao, Lintao Zhang, and Sharad Malik. Chaff: Engineering an efficient SAT solver. In Proceedings of the 38th Design Automation Conference (DAC’01), June 2001.

    Google Scholar 

  • J. Marques-Silva and K. Sakallah. GRASP: A search algorithm for propositional satisfiability. IEEE Transactions on Computers, 48(5):506-521, May 1999.

    Article  MathSciNet  Google Scholar 

  • G. Nelson. Techniques for program verification. Technical Report CSL-81-10, Xerox Palo Alto Research Center, Palo Alto, Ca., 1981.

    Google Scholar 

  • G. Nelson and D.C. Oppen. Simplification by cooperating decision procedures. ACM Transactions on Programming Languages and Systems, 1(2):245-257, October 1979.

    Article  MATH  Google Scholar 

  • Robert Nieuwenhuis, Albert Oliveras, and Cesare Tinelli. Abstract DPLL and abstract DPLL mod-ulo theories. In F. Baader and A. Voronkov, editors, Proceedings of the 11th International Con-ference on Logic for Programming, Artificial Intelligence and Reasoning (LPAR’04), Monte-video, Uruguay, volume 3452 of Lecture Notes in Computer Science, pages 36-50. Springer, 2005.

    Google Scholar 

  • E.L. Post. Introduction to a general theory of elementary propositions. American Journal of Math-ematics, 43:163-185, 1921.

    Article  MATH  MathSciNet  Google Scholar 

  • Reprinted in [J. van Heijenoort, editor., pages 264-283]. John Rushby. Harnessing disruptive innovation in formal verification. In Dang Van Hung and Par-itosh Pandya, editors, Fourth International Conference on Software Engineering and Formal Methods (SEFM), pages 21-28, Pune, India, September 2006. IEEE Computer Society.

    Google Scholar 

  • Lawrence Ryan. Efficient algorithms for clause-learning SAT solvers. Master’s thesis, Simon Fraser University, 2004. M.Sc. Thesis. Aaron Stump, Clark W. Barrett, and David L. Dill. CVC: A cooperating validity checker. In Pro-ceedings of CAV’02, volume 2404 of Lecture Notes in Computer Science, 2002.

    Google Scholar 

  • Natarajan Shankar. Inference systems for logical algorithms. In R. Ramanujam and Sandeep Sen, editors, FSTTCS 2005: Foundations of Software Technology and Theoretical Computer Science, volume 3821 of Lecture Notes in Computer Science, pages 60-78. Springer-Verlag, 2005.

    Google Scholar 

  • Robert E. Shostak. A practical decision procedure for arithmetic with function symbols. Journal of the ACM, 26(2):351-360, April 1979.

    Article  MATH  Google Scholar 

  • R.E. Shostak, R. Schwartz, and P.M. Melliar-Smith. STP: A mechanized logic for specification and verification. In: D. Loveland, editor, 6th International Conference on Automated Deduction (CADE), volume 138 of Lecture Notes in Computer Science, New York, NY, 1982. Springer-Verlag.

    Google Scholar 

  • Mary Sheeran, Satnam Singh, and Gunnar St Ã¥lmarck. Checking safety properties using induction and a SAT-solver. In: Warren A. Hunt Jr. and Steven D. Johnson, editors, Formal Methods in Computer-Aided Design (FMCAD 2000), volume 1954 of Lecture Notes in Computer Science, pages 108-125, Austin, TX, November 2000. Springer-Verlag.

    Google Scholar 

  • J. Siekmann and G. Wrightson, editors. Automation of Reasoning: Classical Papers on Computa-tional Logic, Volumes 1 & 2. Springer-Verlag, 1983.

    Google Scholar 

  • J. van Heijenoort, editor. From Frege to G ödel: A Sourcebook of Mathematical Logic, 1879-1931. Harvard University Press, Cambridge, MA, 1967.

    Google Scholar 

  • Richard Zach Completeness before Post: Bernays, Hilbert, and the development of propositional logic. Bulletin of Symbolic Logic, 5:331-366, 1999.

    Article  MATH  MathSciNet  Google Scholar 

  • Hantao Zhang. SATO: An efficient propositional prover. In Conference on Automated Deduction, pages 272-275, 1997.

    Google Scholar 

  • Lintao Zhang. Searching for Truth: Techniques for Satisfiability of Boolean Formulas. PhD thesis, Princeton University, 2003.

    Google Scholar 

  • L. Zhang and S. Malik. The quest for efficient boolean satisfiability solvers. In: A. Voronkov, editor, Proceedings of CADE-19, Berlin, Germany, 2002. Springer-Verlag.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer

About this paper

Cite this paper

Shankar, N. (2007). Beyond Satisfiability: Extensions and Applications. In: Ramesh, S., Sampath, P. (eds) Next Generation Design and Verification Methodologies for Distributed Embedded Control Systems. Springer, Dordrecht. https://doi.org/10.1007/978-1-4020-6254-4_17

Download citation

  • DOI: https://doi.org/10.1007/978-1-4020-6254-4_17

  • Publisher Name: Springer, Dordrecht

  • Print ISBN: 978-1-4020-6253-7

  • Online ISBN: 978-1-4020-6254-4

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics