Verifying Solutions to Semantics-Guided Synthesis Problems
Charlie Murphy, Keith J. C. Johnson, Thomas Reps, Loris D'Antoni
Abstract
Semantics-Guided Synthesis (SemGuS) provides a framework to specify synthesis problems in a solver-agnostic and domain-agnostic way, by allowing a user to provide both the syntax and semantics of the language in which the desired program should be synthesized. Because synthesis and verification are closely intertwined, the SemGuS framework raises the following question: how does one verify that a user-given program satisfies a given specification when interpreted according to a user-given semantics? In this paper, we prove that this form of language-agnostic verification (specifically that verifying whether a program is a valid solution to a SemGuS problem) can be reduced to proving validity of a query in the 𝜇CLP calculus, a fixed-point logic that is capable of expressing alternating least and greatest fixed-points. Our encoding into 𝜇CLP allows us to further classify the SemGuS verification problems into ones that are reducible to satisfiability of ( i ) first-order-logic formulas, ( ii ) Constrained Horn Clauses, and ( iii ) 𝜇CLP queries. Furthermore, our encoding shines light on some limitations of the SemGuS framework, such as its inability to model nondeterminism and reactive synthesis. We thus propose a modification to SemGuS that makes it more expressive, and for which verifying solutions is exactly equivalent to proving validity of a query in the 𝜇CLP calculus. Our implementation of SemGuS verifiers based on the above encoding can verify instances that were not even encodable in previous work. Furthermore, we use our SemGuS verifiers within an enumeration-based SemGuS solver to correctly synthesize solutions to SemGuS problems that no previous SemGuS synthesizer could solve.
Ask about this paper
Your agent reads all of it.
Lune indexed this paper to the last equation, along with the top-tier papers that cite it. Ask a question and the answer quotes them.
Your agent calls
Luneget_paper_fulltext
Free to start. No credit card required.
Terminal
Install the CLIlune papers fulltext f86ce93b-cdd5-493a-94b6-792be9d8d4ffCited by top-tier papers1
Ask how each one uses itBuilds on4
- Constraint-Based Relational VerificationHiroshi Unno, Tachio Terauchi, Eric KoskinenCAV 2021 · 47 citations
- Semantics-guided synthesisJinwoo Kim, Qinheping Hu, Loris D'Antoni, Thomas W. RepsPOPL 2021 · 31 citations
- Modular Primal-Dual Fixpoint Logic Solving for Temporal VerificationHiroshi Unno, Tachio Terauchi, Yu Gu, Eric KoskinenPOPL 2023 · 23 citations
- Generating Proof Certificates for a Language-Agnostic Deductive Program VerifierZhengyao Lin, Xiaohong Chen, Minh-Thai Trinh, John Wang et al.OOPSLA 2023 · 12 citations
Related papers
- Probabilistic Inference for Predicate Constraint SatisfactionYuki Satake, Hiroshi Unno, Hinata YanagiAAAI 2020 · 17 citations
- On Computability of Logical Approaches to Branching-Time Property Verification of ProgramsTakeshi TsukadaLICS 2020 · 6 citations
- Automating Pruning in Top-Down Enumeration for Program Synthesis Problems with Monotonic SemanticsKeith J. C. Johnson, Rahul Krishnan, Thomas W. Reps, Loris D'AntoniOOPSLA 2024 · 2 citations
- Reinforcement Learning and Data-Generation for Syntax-Guided SynthesisJulian Parsert, Elizabeth PolgreenAAAI 2024 · 7 citations
- Specification synthesis with constrained Horn clausesSumanth Prabhu S, Grigory Fedyukovich, Kumar Madhukar, Deepak D'SouzaPLDI 2021 · 24 citations
