Decidable Synthesis of Programs with Uninterpreted Functions

by   Paul Krogmeier, et al.

We identify a decidable synthesis problem for a class of programs of unbounded size with conditionals and iteration that work over infinite data domains. The programs in our class use uninterpreted functions and relations, and abide by a restriction called coherence that was recently identified to yield decidable verification. We formulate a powerful grammar-restricted (syntax-guided) synthesis problem for coherent uninterpreted programs and show the problem to be decidable. We identify its precise complexity, which is doubly exponential in the set of program variables and linear in the size of the grammar. The decision procedure uses tree automata which accept finite syntax trees of all correct programs. It checks that each of the infinitely many executions for a given program is correct using a finite memory streaming congruence closure algorithm. We also study variants of uninterpreted program synthesis: synthesis of transition systems with lower complexity (EXPTIME), synthesis of recursive programs, and synthesis of Boolean programs. We also show undecidability results that argue the necessity of our restrictions.



There are no comments yet.


page 1

page 2

page 3

page 4


Proving Unrealizability for Syntax-Guided Synthesis

Proving Unrealizability for Syntax-Guided Synthesis We consider the pr...

Decidable Verification of Uninterpreted Programs

verifying uninterpreted programs---programs that work over arbitrary da...

What's Decidable About Program Verification Modulo Axioms?

We consider the decidability of the verification problem of programs mod...

Leveraging Grammar and Reinforcement Learning for Neural Program Synthesis

Program synthesis is the task of automatically generating a program cons...

Unsupervised Program Synthesis for Images using Tree-Structured LSTM

Program synthesis has recently emerged as a promising approach to the im...

Does a Program Yield the Right Distribution? Verifying Probabilistic Programs via Generating Functions

We study discrete probabilistic programs with potentially unbounded loop...

Recent Developments in Program Synthesis with Evolutionary Algorithms

The automatic generation of computer programs is one of the main applica...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.