Counterexample-guided quantifier instantiation for synthesis in SMT

From MaRDI portal
Publication:1702893

DOI10.1007/978-3-319-21668-3_12zbMATH Open1381.68059arXiv1502.04464OpenAlexW1912569824MaRDI QIDQ1702893FDOQ1702893


Authors: Andrew Reynolds, Morgan Deters, Viktor Kuncak, Cesare Tinelli, Clark Barrett Edit this on Wikidata


Publication date: 1 March 2018

Abstract: We introduce the first program synthesis engine implemented inside an SMT solver. We present an approach that extracts solution functions from unsatisfiability proofs of the negated form of synthesis conjectures. We also discuss novel counterexample-guided techniques for quantifier instantiation that we use to make finding such proofs practically feasible. A particularly important class of specifications are single-invocation properties, for which we present a dedicated algorithm. To support syntax restrictions on generated solutions, our approach can transform a solution found without restrictions into the desired syntactic form. As an alternative, we show how to use evaluation function axioms to embed syntactic restrictions into constraints over algebraic datatypes, and then use an algebraic datatype decision procedure to drive synthesis. Our experimental evaluation on syntax-guided synthesis benchmarks shows that our implementation in the CVC4 SMT solver is competitive with state-of-the-art tools for synthesis.


Full work available at URL: https://arxiv.org/abs/1502.04464




Recommendations




Cited In (26)

Uses Software





This page was built for publication: Counterexample-guided quantifier instantiation for synthesis in SMT

Report a bug (only for logged in users!)Click here to report a bug for this page (MaRDI item Q1702893)