summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/sygus/sygus_module.h
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2018-03-02 14:44:04 -0600
committerGitHub <noreply@github.com>2018-03-02 14:44:04 -0600
commitc8d0db7ee9c48fadd19227d472f60ff0089c34da (patch)
treead8b35763f65e53f96cb9574f3392fd870c0c1e0 /src/theory/quantifiers/sygus/sygus_module.h
parent356319744514261f06afced5ee975d49abe83eb4 (diff)
Simplify sygus wrt miniscoping (#1634)
Diffstat (limited to 'src/theory/quantifiers/sygus/sygus_module.h')
-rw-r--r--src/theory/quantifiers/sygus/sygus_module.h17
1 files changed, 13 insertions, 4 deletions
diff --git a/src/theory/quantifiers/sygus/sygus_module.h b/src/theory/quantifiers/sygus/sygus_module.h
index 230ea7a61..0a3fa9995 100644
--- a/src/theory/quantifiers/sygus/sygus_module.h
+++ b/src/theory/quantifiers/sygus/sygus_module.h
@@ -81,7 +81,7 @@ class SygusModule
* If this function returns true, it adds to candidate_values a list of terms
* of the same length and type as candidates that are candidate solutions
* to the synthesis conjecture in question. This candidate { v } will then be
- * tested by testing the (un)satisfiablity of P( v, k' ) for fresh k' by the
+ * tested by testing the (un)satisfiablity of P( v, cex ) for fresh cex by the
* caller.
*
* This function may also add lemmas to lems, which are sent out as lemmas
@@ -102,10 +102,19 @@ class SygusModule
* value { v } to candidate_values for candidates = { k }. This function is
* called if the base instantiation of the synthesis conjecture has a model
* under this substitution. In particular, in the above example, this function
- * is called when the refinement lemma P( v, k' ) has a model. The argument
- * lem in the call to this function is P( v, k' ).
+ * is called when the refinement lemma P( v, cex ) has a model M. In calls to
+ * this function, the argument vars is cex and lem is P( k, cex^M ).
+ *
+ * This function may also add lemmas to lems, which are sent out as lemmas
+ * on the output channel of quantifiers by the caller. For an example of
+ * such lemmas, see Cegis::registerRefinementLemma.
*/
- virtual void registerRefinementLemma(Node lem) {}
+ virtual void registerRefinementLemma(const std::vector<Node>& vars,
+ Node lem,
+ std::vector<Node>& lems)
+ {
+ }
+
protected:
/** reference to quantifier engine */
QuantifiersEngine* d_qe;
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback