Abstract
Given a relational specification between Boolean inputs and outputs, Boolean functional synthesis seeks to synthesize each output as a function of the inputs such that the specification is met. Despite significant algorithmic advances in Boolean functional synthesis over the past few years, there are relatively small specifications that have remained beyond the reach of all state-of-the-art tools. In trying to understand this behaviour, we show that unless some hard conjectures in complexity theory are falsified, Boolean functional synthesis must generate large Skolem functions in the worst-case. Given this inherent hardness, what does one do to solve the problem? We present a two-phase algorithm, where the first phase is efficient in practice both in terms of time and size of synthesized functions, and solves a large fraction of our benchmarks. This phase is also guaranteed to solve the problem when the representation of the input specification satisfies some structural requirements. For those cases where the first phase doesn’t suffice, we present a second phase of our synthesis algorithm that uses a special class of algorithms, called expansion-based algorithms, to generate correct Skolem functions. This may require exponential time and generate exponential-sized Skolem functions in the worst-case. Detailed experimental evaluation shows that our overall synthesis algorithm performs better than other techniques for a large number of benchmarks.
Similar content being viewed by others
Notes
Otherwise, we could efficiently factorize products of n-bit prime numbers, rendering cryptographic systems vulnerable to attacks.
References
Akshay S, Chakraborty S, John AK, Shah S (2017) Towards parallel Boolean functional synthesis. In: Proceedings of international conference on tools and algorithms for construction and analysis of systems (TACAS), part I, pp 337–353
Akshay S, Arora J, Chakraborty S, Krishna S, Raghunathan D, Shah S (2019) Knowledge compilation for Boolean functional synthesis. In: Proceedings of international conference on formal methods in computer-aided design (FMCAD), pp 161–169
Akshay S, Chakraborty S, Goel S, Kulal S, Shah S (2020) Code and benchmark details for BFSS experiments. https://github.com/BooleanFunctionalSynthesis/bfss. Accessed Sept 2020
Alur R, Madhusudan P, Nam W (2005) Symbolic computational techniques for solving games. Int J Softw Tools Technol Transf 7(2):118–128
Andersson G, Bjesse P, Cook B, Hanna Z (2002) A proof engine approach to solving combinational design automation problems. In: Proceedings of design automation conference (DAC), pp 725–730
Baader F (1998) On the complexity of Boolean unification. Inf Process Lett 67:215–220
Balabanov V, Jiang JHR (2012) Unified QBF certification and its applications. Form Methods Syst Des 41(1):45–65
Boole G (1847) The mathematical analysis of logic. Philosophical Library
Boudet A, Jouannaud JP, Schmidt-Schauss M (1989) Unification in Boolean rings and Abelian groups. J Symb Comput 8(5):449–477
Brayton R, Mishchenko A (2010) ABC: an academic industrial-strength verification tool. In: Proceedings of international conference on computer-aided verification (CAV), pp 24–40
Brenguier R, Pérez GA, Raskin JF, Sankur O (2014) AbsSynthe: abstract synthesis from succinct safety specifications. In: Proceedings of workshop on synthesis (SYNT), open publishing association, electronic proceedings in theoretical computer science, vol 157, pp 100–116
Bryant RE (1986) Graph-based algorithms for Boolean function manipulation. IEEE Trans Comput 35(8):677–691
Chakraborty S, Fremont DJ, Meel KS, Seshia SA, Vardi MY (2015) On parallel scalable uniform SAT witness generation. In: Proceedings of international conference on tools and algorithms for the construction and analysis of systems (TACAS), pp 304–319
Chakraborty S, Fried D, Tabajara LM, Vardi MY (2018) Functional synthesis via input–output separation. In: Proceedings of international conference on formal methods in computer-aided design (FMCAD), pp 1–9
Chandrasekaran V, Srebro N, Harsha P (2008) Complexity of inference in graphical models. In: Proceedings of international conference on uncertainty in artificial intelligence (UAI), pp 70–78
Chen Y, Eickmeyer K, Flum J (2012) The exponential time hypothesis and the parameterized clique problem. In: Proceedings of international conference on parameterized and exact computation (IPEC), pp 13–24
Darwiche A (2001) Decomposable negation normal form. J ACM 48(4):608–647
Deschamps JP (1972) Parametric solutions of Boolean equations. Discrete Math 3(4):333–342
Fried D, Tabajara LM, Vardi MY (2016) BDD-based Boolean functional synthesis. In: Proceedings (part II) of international conference on computer-aided verification (CAV), pp 402–421
Ganian R, Hlinený P, Langer A, Obdrzálek J, Rossmanith P, Sikdar S (2014) Lower bounds on the complexity of MSO\({}_{\text{1 }}\) model-checking. J Comput Syst Sci 80(1):180–194
Golia P, Roy S, Meel KS (2020) Manthan: a data-driven approach for Boolean function synthesis. In: Proceedings of international conference on computer-aided verification (CAV), pp 611–633
Hellerman L (1963) A catalog of three-variable Or-Invert and And-Invert logical circuits. IEEE Trans Electron Comput 12(3):198–223
Heule M, Seidl M, Biere A (2014) Efficient extraction of Skolem functions from QRAT proofs. In: Proceedings of international conference on formal methods in computer-aided design (FMCAD), pp 107–114
Impagliazzo R, Paturi R (2001) On the complexity of k-SAT. J Comput Syst Sci 62(2):367–375
Jiang JHR (2009) Quantifier elimination via functional composition. In: Proceedings of international conference on computer-aided verification (CAV). Springer, pp 383–397
Jiang JHR, Lin HP, Hung WL (2009) Interpolating functions from large Boolean relations. In: Proceedings of international conference on computer-aided design (ICCAD), pp 779–784
Jo S, Matsumoto T, Fujita M (2012) SAT-based automatic rectification and debugging of combinational circuits with LUT insertions. In: Proceedings of Asian test symposium (ATS), pp 19–24
John A, Shah S, Chakraborty S, Trivedi A, Akshay S (2015) Skolem functions for factored formulas. In: Proceedings of international conference on formal methods in computer-aided design (FMCAD), pp 73–80
Karp R, Lipton R (1982) Turing machines that take advice. L’Enseignment Mathématique 28(2):191–209
Kuehlmann A, Krohm F (1997) Equivalence checking using cuts and heaps. In: Proceedings of design automation conference (DAC), pp 263–268
Kuncak V, Mayer M, Piskac R, Suter P (2010) Complete functional synthesis. ACM SIGPLAN Not 45(6):316–329
Löwenheim L (1910) Über die Auflösung von Gleichungen in Logischen Gebietkalkul. Math Ann 68:169–207
Macii E, Odasso G, Poncino M (1998) Comparing different Boolean unification algorithms. In: Conference record of asilomar conference on signals, systems and computers (Cat. No. 98CH36284), vol 2, pp 1052–1056
Martin U, Nipkow T (1989) Boolean unification: the story so far. J Symb Comput 7(3–4):275–293
Niemetz A, Preiner M, Lonsing F, Seidl M, Biere A (2012) Resolution-based certificate extraction for QBF—(tool presentation). In: Proceedings of international conference on theory and applications of satisfiability testing (SAT), pp 430–435
QBFLib (2018) QBFEval 2018. http://www.qbflib.org/qbfeval18.php. Accessed July 2018
Rabe MN (2019) Incremental determinization for quantifier elimination and functional synthesis. In: Proceedings of international conference on computer-aided verification (CAV), part II, pp 84–94
Rabe MN, Seshia SA (2016) Incremental determinization. In: Proceedings of international conference on theory and applications of satisfiability testing (SAT), pp 375–392
Rabe MN, Tentrup L (2015) CAQE: a certifying QBF solver. In: Proceedings of international conference on formal methods in computer-aided design (FMCAD), pp 136–143
Rabe MN, Tentrup L, Rasmussen C, Seshia SA (2018) Understanding and extending incremental determinization for 2QBF. In: Proceedings of international conference on computer-aided verification (CAV), part II, pp 256–274
Silva JM, Lynce I, Malik S (2008) Conflict-driven clause learning SAT solvers. In: Biere A, Heule M, van Maaren H, Walsch T (eds) Handbook of satisfiability, chap 14. IOS Press, Amsterdam, pp 127–149
Solar-Lezama A (2013) Program sketching. Int J Softw Tools Technol Transf 15(5–6):475–495
Solar-Lezama A, Rabbah RM, Bodík R, Ebcioglu K (2005) Programming by sketching for bit-streaming programs. In: Proceedings of international conference on programming language design and implementation (PLDI), pp 281–294
Srivastava S, Gulwani S, Foster JS (2013) Template-based program verification and program synthesis. Int J Softw Tools Technol Transf 15(5–6):497–518
Tabajara LM, Vardi MY (2017) Factored Boolean functional synthesis. In: Proceedings of international conference on formal methods in computer-aided design (FMCAD), pp 124–131
Trivedi A (2003) Techniques in symbolic model checking. Master’s thesis, Indian Institute of Technology Bombay, Mumbai, India
Zhu S, Tabajara LM, Li J, Pu G, Vardi MY (2017) Symbolic LTLf synthesis. In: Proceedings of international joint conference on artificial intelligence (IJCAI), pp 1362–1369
Acknowledgements
We thank Ajith K. John for many technical discussions. We also thank the anonymous reviewers for several pertinent remarks and suggestions.
Author information
Authors and Affiliations
Corresponding author
Additional information
Publisher's Note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
The authors wish to acknowledge funding support from DST/CEFIPRA/INRIA Project EQuaVE and DST/SERB Matrices Grant MTR/2018/000744 for S. Akshay, and from MHRD/IMPRINT-1/Project 5496(FMSAFE) for Supratik Chakraborty and Shetal Shah. Most of this work was done when Shubham Goel and Sumith Kulal were at Indian Institute of Technology Bombay, India.
Rights and permissions
About this article
Cite this article
Akshay, S., Chakraborty, S., Goel, S. et al. Boolean functional synthesis: hardness and practical algorithms. Form Methods Syst Des 57, 53–86 (2021). https://doi.org/10.1007/s10703-020-00352-2
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10703-020-00352-2