Introduction

Introduction

Example

SyGuS, Realizability, CEGIS

Unrealizability to unreachability

Questions:

Summary

In this paper the authors present present a method for determining the unrealizability of a SyGuS problem - or more aptly, determining whether or not a solution to a particular SyGus problem exists. The authors achieve this by actually encoding the grammar of a SyGuS problem into a program itself. Each of the programs generated from the grammar contains an assertion. If the assertion in the program holds after execution, then the problem can be deemed unrealizable.

Programs representing the grammar are generated by creating a series of statements guarded by conditionals clauses with a non-deterministic value (nd()). non-terminal parts of the grammar are guarded by a conditional, but within the program represent a recursive call. At the end of the grammar-program an assertion statements containing a necessary condition for unrealizability is also generated. An execution of the program can then be series of true or false branches which allows for the decoding of the program. And the state of the program checked each time an assertion is reached.

Once the program is generated realizing the unrealizability of a problem means that we just have to search through the space of nd()’s for a program output state which satisfies (or doesn’t) the assertion in the grammar-program.

Strengths

Weaknesses

Summary

Q’s

constraints:

Unrealizability is harder than synthesis because synthesis can come to a solution before needing to evaluate the infinite program space of a particular grammar. Unrealizability has to prove that no program in the entire infinite space cannot satisfy the given constraints.

Introduction - zac blanco