Functional synthesis via input–output separation

Supratik Chakraborty, Dror Fried, Lucas M. Tabajara, Moshe Y. Vardi

Research output: Contribution to journalArticlepeer-review


Boolean functional synthesis is the process of constructing a Boolean function from a Boolean specification that relates input and output variables. Despite recent developments in synthesis algorithms, Boolean functional synthesis remains a challenging problem even when state-of-the-art techniques are used for decomposing the specification. In this work, we present a new decomposition approach that decomposes the specification into separate input and output components. To begin with, we adapt the notion of “sequential decomposition” and present a framework that allows the input and output components to be independently synthesized and then re-composed to yield an implementation of the overall specification. Although theoretically appealing, this approach suffers from some practical drawbacks, as evidenced by our experiments. This motivates us to propose a relaxed approach to synthesis by decomposition. In the relaxed approach, we start with a specification given as a conjunctive normal form (CNF) formula, and obtain a decomposition of the specification by alternatingly analyzing the input and output components repeatedly. We also exploit specific properties of these components to ultimately implement the overall specification. We prove that if the input component of the CNF specification has specific structural properties, our approach can achieve synthesis in polynomial time. We also show by experimental evaluations that our algorithm performs well in practice on instances that are challenging for existing state-of-the-art tools. Thus, our decomposition-based synthesis approach serves as a good complement to other state-of-the-art techniques in a portfolio approach to Boolean functional synthesis.

Original languageEnglish
JournalFormal Methods in System Design
StateAccepted/In press - 2023

Bibliographical note

Funding Information:
Work supported in part by NSF grants CCF-1319459 and IIS-1527668, by NSF Expeditions in Computing project "ExCAPE: Expeditions in Computer Augmented Program Engineering", by a grant from MHRD, Govt of India, under the IMPRINT-1 scheme, and by the Brazilian agency CNPq through the Ciência Sem Fronteiras program. We thank Assaf Marron for useful discussions, Saurabh Joshi for the help in using the Open-WBO tool, and the anonymous reviewers for their suggestions.

Publisher Copyright:
© 2023, The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature.


  • Boolean functions
  • Decomposition
  • Formal methods
  • Synthesis


Dive into the research topics of 'Functional synthesis via input–output separation'. Together they form a unique fingerprint.

Cite this