Syntax-Guided Synthesis (SyGuS) is a formal framework for program synthesis where the search for a correct program is constrained by two key inputs: a logical specification (often a first-order logic formula) defining the desired behavior, and a context-free grammar that defines the syntactic space of allowed solutions. The core problem is to find a program within this grammatical search space that satisfies the logical constraint. This approach transforms synthesis into a constrained search problem, typically solved using Satisfiability Modulo Theories (SMT) solvers, which can efficiently navigate the combined syntactic and semantic constraints.
