arXivDaily arXiv每日学术速递 周一至周五更新
arXiv 2408.15475cs.PLcs.LO
收藏

验证语义引导综合问题的解

Verifying Solutions to Semantics-Guided Synthesis Problems

Charlie Murphy, Keith Johnson, Thomas Reps, Loris D'Antoni

AI总结:

研究SemGuS框架下程序验证的求解器无关方法,通过将验证问题归约为`CLP演算查询有效性,提出改进框架并实现验证器,成功解决以往无法编码和综合的实例。

摘要:

语义引导综合(SemGuS)提供了一个框架,以求解器无关和领域无关的方式指定综合问题,允许用户提供所需程序应使用的语言的语法和语义。由于综合与验证紧密交织,SemGuS框架引发了如何以求解器和领域无关的方式验证程序的问题。我们证明,验证一个程序是否为SemGuS问题的有效解的问题,可以归约为证明`CLP演算中查询的有效性,`CLP演算是一种广义化约束霍恩子句和co-约束霍恩子句的不动点逻辑。我们到`CLP的编码允许进一步将SemGuS验证问题分类为可归约于以下各项有效性的问题:一阶逻辑公式、约束霍恩子句、co-约束霍恩子句、`CLP查询。此外,我们的编码揭示了SemGuS框架的一些局限性,如无法建模非确定性和反应式综合。因此,我们提出对SemGuS的修改使其更具表达力,且验证解恰好等价于证明`CLP演算中查询的有效性。我们基于上述编码实现的SemGuS验证器能够验证以往工作甚至无法编码的实例。此外,我们在基于枚举的SemGuS求解器中使用我们的SemGuS验证器,正确综合了以往任何SemGuS综合器都无法解决的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 problem of how to verify programs in a solver and domain-agnostic way. We prove that the problem of 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 generalizes Constrained Horn Clauses and co-Constrained Horn Clauses. Our encoding into `CLP allows us to further classify the SemGuS verification problems into ones that are reducible to validity of (i) first-order-logic formulas, (ii) Constrained Horn Clauses, (iii) co-Constrained Horn Clauses, and (iv) `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.

机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。

↑