summaryrefslogtreecommitdiff
path: root/src/theory/quantifiers/sygus/synth_conjecture.h
diff options
context:
space:
mode:
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>2019-11-04 12:23:34 -0600
committerGitHub <noreply@github.com>2019-11-04 12:23:34 -0600
commit9a2913c2f1a22ed43ed772467ec42ba2262bee17 (patch)
treed8465f1a1deefc91397d2f426630c92b7a797133 /src/theory/quantifiers/sygus/synth_conjecture.h
parent9854e505aeae1ac86ea75e98131dd8643349df60 (diff)
Make getSynthSolution return a Bool (#3306)
Diffstat (limited to 'src/theory/quantifiers/sygus/synth_conjecture.h')
-rw-r--r--src/theory/quantifiers/sygus/synth_conjecture.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/theory/quantifiers/sygus/synth_conjecture.h b/src/theory/quantifiers/sygus/synth_conjecture.h
index 8ae30f636..a86ff6f75 100644
--- a/src/theory/quantifiers/sygus/synth_conjecture.h
+++ b/src/theory/quantifiers/sygus/synth_conjecture.h
@@ -113,13 +113,16 @@ class SynthConjecture
void printSynthSolution(std::ostream& out);
/** get synth solutions
*
- * This returns a map from function-to-synthesize variables to their
- * builtin solution, which has the same type. For example, for synthesis
+ * This method returns true if this class has a solution available to the
+ * conjecture that it was assigned.
+ *
+ * This method adds entries to sol_map that map functions-to-synthesize to
+ * their builtin solution, which has the same type. For example, for synthesis
* conjecture exists f. forall x. f( x )>x, this function may return the map
* containing the entry:
* f -> (lambda x. x+1)
*/
- void getSynthSolutions(std::map<Node, Node>& sol_map);
+ bool getSynthSolutions(std::map<Node, Node>& sol_map);
/**
* The feasible guard whose semantics are "this conjecture is feasiable".
* This is "G" in Figure 3 of Reynolds et al CAV 2015.
@@ -174,10 +177,10 @@ class SynthConjecture
/** The feasible guard. */
Node d_feasible_guard;
/**
- * Do we have a solution in this user context? This is user-context dependent
- * to enable use cases of sygus in incremental mode.
+ * Do we have a solution in this solve context? This flag is reset to false
+ * on every call to presolve.
*/
- context::CDO<bool> d_hasSolution;
+ bool d_hasSolution;
/** the decision strategy for the feasible guard */
std::unique_ptr<DecisionStrategy> d_feasible_strategy;
/** single invocation utility */
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback