⟨ SyGuS Standard 2021 ⟩

The classical formulation of the program-synthesis problem is to find a program that meets a correctness specification given as a logical formula. Syntax-guided synthesis (SyGuS) is a standardized format for specifying the correctness specification with a syntactic template that constrains the space of allowed implementations.

The input to SyGuS consists of a background theory, a semantic correctness specification for the desired program given by a logical formula, and a syntactic set of candidate implementations given by a grammar. The computational problem then is to find an implementation from the set of candidate expressions that satisfies the specification in the given theory. The formulation of the problem builds on SMT-LIB.

This document defines the SyGuS 2.1 standard, which is intended to be used as the standard input and output language for solvers targeting the syntax-guided synthesis problem. It borrows many concepts and language constructs from the standard format for Satisfiability Modulo Theories (SMT) solvers, the SMT-LIB 2.6 standard.

```
@article{sygus21/padhi/standard,
title = {The SyGuS Language Standard Version 2.1},
author = {Saswat Padhi and
Elizabeth Polgreen and
Mukund Raghothaman and
Andrew Reynolds and
Abhishek Udupa},
journal = {CoRR},
volume = {abs/2312.06001},
year = {2021},
eprint = {2312.06001},
archivePrefix = {arXiv},
primaryClass = {cs.PL},
url = {https://arxiv.org/pdf/2312.06001.pdf}
}
```