Skip to main content

Boolean Functional Synthesis: From Under the Hood of Solvers

  • Conference paper
  • First Online:
  • 261 Accesses

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13963))

Abstract

Boolean functional synthesis concerns the automatic generation of Boolean functions satisfying given logical specifications. This problem has numerous applications, and has attracted significant attention from researchers over the past decade. Complexity-theoretic arguments indicate that it is extremely unlikely that the problem has any polynomial-time algorithm. Yet, state-of-the-art tools for this problem routinely handle problems with several thousands of variables. What makes these algorithms tick? In this paper, we provide an overview of some of the techniques that underlie the practical efficiency of these solvers.

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

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   69.99
Price excludes VAT (USA)
  • Compact, lightweight 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

Learn about institutional subscriptions

References

  1. Akshay, S., Arora, J., Chakraborty, S., Krishna, S., Raghunathan, D., Shah, S.: Knowledge compilation for Boolean functional synthesis. In: Proceedings of Formal Methods in Computer Aided Design (FMCAD), pp. 161–169 (2019)

    Google Scholar 

  2. Akshay, S., Chakraborty, S.: Synthesizing Skolem functions: a view from theory and practice. In: Sarukkai, S., Chakraborty, M. (eds.) Handbook of Logical Thought in India, pp. 1–36. Springer, New Delhi (2020)

    Google Scholar 

  3. Akshay, S., Chakraborty, S., Goel, S., Kulal, S., Shah, S.: Boolean functional synthesis: hardness and practical algorithms. Formal Methods Syst. Des. 57(1), 53–86 (2020). https://doi.org/10.1007/s10703-020-00352-2

    Article  MATH  Google Scholar 

  4. Akshay, S., Chakraborty, S., Goel, S., Kulal, S., Shah, S.: What’s hard about Boolean functional synthesis? In: Proceedings of CAV 2018, pp. 251–269 (2018)

    Google Scholar 

  5. Akshay, S., Chakraborty, S., John, A.K., Shah, S.: Towards parallel Boolean functional synthesis. In: Legay, A., Margaria, T. (eds.) TACAS 2017. LNCS, vol. 10205, pp. 337–353. Springer, Heidelberg (2017). https://doi.org/10.1007/978-3-662-54577-5_19

    Chapter  Google Scholar 

  6. Bryant, R.E.: Graph-based algorithms for Boolean function manipulation. IEEE Trans. Comput. 35(8), 677–691 (1986). https://doi.org/10.1109/TC.1986.1676819

    Article  MATH  Google Scholar 

  7. Chakraborty, S., Akshay, S.: On synthesizing computable Skolem functions for first order logic. In: Szeider, S., Ganian, R., Silva, A. (eds.) 47th International Symposium on Mathematical Foundations of Computer Science, MFCS 2022, August 22–26, 2022, Vienna, Austria. LIPIcs, vol. 241, pp. 30:1–30:15. Schloss Dagstuhl - Leibniz-Zentrum für Informatik (2022)

    Google Scholar 

  8. Chakraborty, S., Fried, D., Tabajara, L.M., Vardi, M.Y.: Functional synthesis via input-output separation. In: 2018 Formal Methods in Computer Aided Design, FMCAD 2018, Austin, TX, USA, 30 October–2 November 2018, pp. 1–9 (2018)

    Google Scholar 

  9. Darwiche, A.: Decomposable negation normal form. J. ACM 48(4), 608–647 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  10. Darwiche, A.: On the tractable counting of theory models and its application to truth maintenance and belief revision. J. Appl. Non-classical Log. 11(1–2), 11–34 (2001)

    Article  MathSciNet  MATH  Google Scholar 

  11. Darwiche, A.: A compiler for deterministic, decomposable negation normal form. In: Proceedings of the Eighteenth National Conference on Artificial Intelligence (AAAI), Menlo Park, California, pp. 627–634. AAAI Press (2002)

    Google Scholar 

  12. Finkbeiner, B.: Synthesis of reactive systems. In: Esparza, J., Grumberg, O., Sickert, S. (eds.) Dependable Software Systems Engineering, NATO Science for Peace and Security Series - D: Information and Communication Security, vol. 45, pp. 72–98. IOS Press (2016). https://doi.org/10.3233/978-1-61499-627-9-72

  13. Fried, D., Tabajara, L.M., Vardi, M.Y.: BDD-based Boolean functional synthesis. In: Chaudhuri, S., Farzan, A. (eds.) CAV 2016. LNCS, vol. 9780, pp. 402–421. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-41540-6_22

    Chapter  Google Scholar 

  14. Golia, P., Roy, S., Meel, K.S.: Program synthesis as dependency quantified formula modulo theory. In: Zhou, Z.H. (ed.) Proceedings of the Thirtieth International Joint Conference on Artificial Intelligence, IJCAI 2021, pp. 1894–1900. International Joint Conferences on Artificial Intelligence Organization (2021). https://doi.org/10.24963/ijcai.2021/261. Main Track

  15. Golia, P., Slivovsky, F., Roy, S., Meel, K.S.: Engineering an efficient Boolean functional synthesis engine. In: IEEE/ACM International Conference on Computer Aided Design (ICCAD), pp. 1–9 (2021). https://doi.org/10.1109/ICCAD51958.2021.9643583

  16. Golia, P., Roy, S., Meel, K.S.: Manthan: a data-driven approach for Boolean function synthesis. In: Lahiri, S.K., Wang, C. (eds.) CAV 2020. LNCS, vol. 12225, pp. 611–633. Springer, Cham (2020). https://doi.org/10.1007/978-3-030-53291-8_31

    Chapter  Google Scholar 

  17. Jo, S., Matsumoto, T., Fujita, M.: SAT-based automatic rectification and debugging of combinational circuits with LUT insertions. In: Proceedings of the 2012 IEEE 21st Asian Test Symposium, ATS 2012, pp. 19–24. IEEE Computer Society (2012)

    Google Scholar 

  18. John, A., Shah, S., Chakraborty, S., Trivedi, A., Akshay, S.: Skolem functions for factored formulas. In: FMCAD, pp. 73–80 (2015)

    Google Scholar 

  19. Oztok, U., Darwiche, A.: A top-down compiler for sentential decision diagrams. In: Proceedings of the 24th International Joint Conference on Artificial Intelligence (IJCAI), pp. 3141–3148 (2015)

    Google Scholar 

  20. Padoa, A.: Essai d’une théorie algébrique des nombres entiers, précédé d’une introduction logique à une théorie déductive quelconque. Bibliothèque du Congrès International de Philosophie 3, 309 (1901)

    Google Scholar 

  21. Rabe, M.N., Seshia, S.A.: Incremental determinization. In: Creignou, N., Le Berre, D. (eds.) SAT 2016. LNCS, vol. 9710, pp. 375–392. Springer, Cham (2016). https://doi.org/10.1007/978-3-319-40970-2_23

    Chapter  Google Scholar 

  22. Rabe, M.N.: Incremental determinization for quantifier elimination and functional synthesis. In: Dillig, I., Tasiran, S. (eds.) CAV 2019. LNCS, vol. 11562, pp. 84–94. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-25543-5_6

    Chapter  Google Scholar 

  23. Shah, P., Bansal, A., Akshay, S., Chakraborty, S.: A normal form characterization for efficient Boolean Skolem function synthesis. In: 36th Annual ACM/IEEE Symposium on Logic in Computer Science (LICS), pp. 1–13 (2021). https://doi.org/10.1109/LICS52264.2021.9470741

  24. Shukla, A., Bierre, A., Siedl, M., Pulina, L.: A survey on applications of quantified Boolean formula. In: Proceedings of the Thirty-First International Conference on Tools with Artificial Intelligence (ICTAI), pp. 78–84 (2019)

    Google Scholar 

  25. Silva, J.P.M., Lynce, I., Malik, S.: Conflict-driven clause learning sat solvers, chap. 4. In: Biere, A., Heule, M., van Maaren, H., Walsch, T. (eds.) Handbook of Satisfiability, pp. 131–153. IOS Press (2021)

    Google Scholar 

  26. Srivastava, S., Gulwani, S., Foster, J.S.: Template-based program verification and program synthesis. STTT 15(5–6), 497–518 (2013)

    Article  Google Scholar 

  27. Tabajara, L.M., Vardi, M.Y.: Factored Boolean functional synthesis. In: 2017 Formal Methods in Computer Aided Design, FMCAD 2017, Vienna, Austria, 2–6 October 2017, pp. 124–131 (2017)

    Google Scholar 

  28. Tseitin, G.S.: On the complexity of derivation in propositional calculus. In: Structures in Constructive Mathematics and Mathematical Logic, Part II, Seminars in Mathematics, pp. 115–125 (1968)

    Google Scholar 

Download references

Acknowledgements

The author is grateful to several colleagues, collaborators and students including S. Akshay, Jatin Arora, Aman Bansal, Dror Fried, Shubham Goel, Priyanka Golia, Ajith John, Sumith Kulal, Kuldeep S. Meel, Markus Rabe, Divya Raghunathan, Subhajit Roy, Preey Shah, Shetal Shah, Krishna S., Lucas M. Tabajara, Ashutosh Trivedi and Moshe Y. Vardi for discussions and sustained research collaborations, many of which have contributed to some of the techniques discussed in this paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Supratik Chakraborty .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Chakraborty, S. (2023). Boolean Functional Synthesis: From Under the Hood of Solvers. In: Banerjee, M., Sreejith, A.V. (eds) Logic and Its Applications. ICLA 2023. Lecture Notes in Computer Science, vol 13963. Springer, Cham. https://doi.org/10.1007/978-3-031-26689-8_2

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-26689-8_2

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-26688-1

  • Online ISBN: 978-3-031-26689-8

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics