English

Synthesiz3 This: an SMT-Based Approach for Synthesis with Uncomputable Symbols

Logic in Computer Science 2025-08-19 v3

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.

Keywords

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