Interface for example evaluation cache utilities (#3726)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Sat, 8 Feb 2020 02:54:05 +0000 (20:54 -0600)
committerGitHub <noreply@github.com>
Sat, 8 Feb 2020 02:54:05 +0000 (18:54 -0800)
commit585e2876429dc93945cdaac202d5555468671861
treec74ab8cbf80cdcab052d68a2233ae191802c4a5c
parent0f24023a582da003e4a23fb285e66f3f41b2a842
Interface for example evaluation cache utilities (#3726)

This adds interfaces in synth_conjecture for getting an ExampleEvalCache, per enumerator.
It also adds a specialization `checkRefinementEvalLemmas` of `getRefinementEvalLemmas` in the cegis module, which does evaluation on CEGIS refinement lemmas without structural generalization.  This function will be used as an alternative to `getRefinementEvalLemmas` for fast enumerators.

The next PR will update all utilities to use ExampleEvalCache instead of SygusPbe for evaluating examples.
src/CMakeLists.txt
src/theory/quantifiers/sygus/cegis.cpp
src/theory/quantifiers/sygus/cegis.h
src/theory/quantifiers/sygus/synth_conjecture.cpp
src/theory/quantifiers/sygus/synth_conjecture.h