一句话:将 SemGuS 解验证归约到 μCLP 有效性,并扩展 SemGuS 以支持非确定性与反应式综合。
SemGuS 允许用户以求解器无关、领域无关的方式给出语言的语法与语义来指定综合问题。本文研究关键问题:如何判定程序在用户给定语义下满足规格。作者证明该语言无关的解验证可归约为 μCLP 固定点逻辑查询的有效性,并将验证问题分类为可归约到一阶逻辑可满足性、约束 Horn 子句和 μCLP 查询三类。编码还揭示原 SemGuS 无法建模非确定性与反应式综合,故提出更具表达力的扩展,使其解验证恰等价于 μCLP 有效性。作者实现验证器,能验证以往无法编码的实例,并嵌入枚举式求解器综合出此前无法解决的 SemGuS 问题。
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.
@article{paperbot3088,
title = {Verifying Solutions to Semantics-Guided Synthesis Problems},
author = {Charlie Murphy and Keith J.C. Johnson and Thomas Reps and Loris D'Antoni},
journal = {Proceedings of the ACM on Programming Languages},
volume = {9},
number = {PLDI},
year = {2025},
doi = {10.1145/3729320}
}