summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/sygus_inference.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/theory/quantifiers/sygus_inference.h')
-rw-r--r--src/theory/quantifiers/sygus_inference.h16
1 files changed, 12 insertions, 4 deletions
diff --git a/src/theory/quantifiers/sygus_inference.h b/src/theory/quantifiers/sygus_inference.h
index a61cebcc0..cdd5a1008 100644
--- a/src/theory/quantifiers/sygus_inference.h
+++ b/src/theory/quantifiers/sygus_inference.h
@@ -26,8 +26,12 @@ namespace quantifiers {
/** SygusInference
*
- * A preprocessing utility to turn a set of (quantified) assertions into a
- * single SyGuS conjecture.
+ * A preprocessing utility that turns a set of (quantified) assertions into a
+ * single SyGuS conjecture. If this is possible, we solve for this single Sygus
+ * conjecture using a separate copy of the SMT engine. If sygus successfully
+ * solves the conjecture, we plug the synthesis solutions back into the original
+ * problem, thus obtaining a set of model substitutions under which the
+ * assertions should simplify to true.
*/
class SygusInference
{
@@ -36,8 +40,12 @@ class SygusInference
~SygusInference() {}
/** simplify assertions
*
- * Either replaces assertions with the negation of an equivalent SyGuS
- * conjecture and returns true, or otherwise returns false.
+ * Either replaces all uninterpreted functions in assertions by their
+ * interpretation in the solution found by a separate call to an SMT engine
+ * and returns true, or leaves the assertions unmodified and returns false.
+ *
+ * We fail if either a sygus conjecture that corresponds to assertions cannot
+ * be inferred, or the sygus conjecture we infer is infeasible.
*/
bool simplify(std::vector<Node>& assertions);
};
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback