Generalization for sygus verify utility (#8586)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Thu, 7 Apr 2022 22:14:08 +0000 (17:14 -0500)
committerGitHub <noreply@github.com>
Thu, 7 Apr 2022 22:14:08 +0000 (22:14 +0000)
commit36bb555ad804416f74fb582042d2999b216c51e0
treee27639564cb93f74e73095d70a37eef4dcf5ac08
parent134c3bf441564f32c7978ba17d581751bc457a97
Generalization for sygus verify utility (#8586)

This is in preparation for synthesis modulo oracles (SyMO), where the verification loop may run multiple times for a given solution. In a follow up PR, the loop introduced in this PR may run multiple times when oracles are present, since oracle invocations in the subsolver may trigger further simplifications to the rewritten form of the specification.

It also makes it so that candidate models are generated for "unknown" results for subsolvers, which is required for SyMO.
src/theory/quantifiers/sygus/synth_verify.cpp
src/theory/quantifiers/sygus/synth_verify.h
src/theory/smt_engine_subsolver.cpp