Synthesiz3 This: an SMT-Based Approach for Synthesis with Uncomputable Symbols
Abstract
Program synthesis is the task of automatically constructing a program conforming to a given specification. In this paper we focus on synthesis of single-invocation recursion-free functions conforming to a specification given as a logical formula in the presence of uncomputable symbols (i.e., symbols used in the specification but not allowed in the resulting function). We approach the problem via SMT-solving methods: we present a quantifier elimination algorithm using model-based projections for both total and partial function synthesis, working with theories of uninterpreted functions and linear arithmetic and their combination. For this purpose we also extend model-based projection to produce witnesses for these theories. Further, we present procedures tailored for the case of uniquely determined solutions. We implemented a prototype of the algorithms using the SMT-solver Z3, demonstrating their practical efficiency compared to the state of the art.
Cite
@article{arxiv.2504.16536,
title = {Synthesiz3 This: an SMT-Based Approach for Synthesis with Uncomputable Symbols},
author = {Petra Hozzová and Nikolaj Bjørner},
journal= {arXiv preprint arXiv:2504.16536},
year = {2025}
}
Comments
This is the version of this paper accepted for FMCAD 2025