The Limitations and Power of NP-Oracle-Based Functional Synthesis Techniques
Brendan Juba, Kuldeep S. Meel

TL;DR
This paper investigates the theoretical limits and capabilities of NP-Oracle-based functional synthesis methods, revealing fundamental limitations of existing approaches and demonstrating conditions under which efficient synthesis is possible.
Contribution
It provides a systematic theoretical analysis of NP-Oracle-based synthesis, identifying limitations of naive and interpolation-based methods and establishing when efficient synthesis can be achieved using NP oracles.
Findings
Naive bit-by-bit learning fails due to relational specifications.
Interpolation-based approaches require exponential size circuits.
NP oracles enable polynomial-time synthesis for certain specifications.
Abstract
Given a Boolean relational specification between inputs and outputs, the problem of functional synthesis is to construct a function that maps each assignment of the input to an assignment of the output such that each tuple of input and output assignments meets the specification. The past decade has witnessed significant improvement in the scalability of functional synthesis tools, allowing them to handle problems with tens of thousands of variables. A common ingredient in these approaches is their reliance on SAT solvers, thereby exploiting the breakthrough advances in SAT solving over the past three decades. While the recent techniques have been shown to perform well in practice, there is little theoretical understanding of the limitations and power of these approaches. The primary contribution of this work is to initiate a systematic theoretical investigation into the power of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsFormal Methods in Verification · Embedded Systems Design Techniques · VLSI and FPGA Design Techniques
