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
Tax calculation will be finalised at checkout
Purchases are for personal use only
Learn about institutional subscriptionsReferences
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)
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)
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
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)
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
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
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)
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)
Darwiche, A.: Decomposable negation normal form. J. ACM 48(4), 608–647 (2001)
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)
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)
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
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
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
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
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
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)
John, A., Shah, S., Chakraborty, S., Trivedi, A., Akshay, S.: Skolem functions for factored formulas. In: FMCAD, pp. 73–80 (2015)
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)
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)
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
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
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
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)
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)
Srivastava, S., Gulwani, S., Foster, J.S.: Template-based program verification and program synthesis. STTT 15(5–6), 497–518 (2013)
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)
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)
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
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG
About this paper
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)