summaryrefslogtreecommitdiff
path: root/src/smt/smt_engine.h
diff options
context:
space:
mode:
authorAina Niemetz <aina.niemetz@gmail.com>2018-03-05 14:05:26 -0800
committerGitHub <noreply@github.com>2018-03-05 14:05:26 -0800
commitd51c8347a3c6bf7857c474bd3493377f9fed58e5 (patch)
tree56da229cd8fcbe6988937514820c13c3894f2558 /src/smt/smt_engine.h
parentd1aa4ae101987093a06208650e2ea4878f7437ca (diff)
Add support for check-sat-assuming. (#1637)
This adds support for check-sat-assuming. It further adds support for SmtEngine::query() over a vector of Expressions, e.g., smtEngine->query({a, b}); checks the validity (of the current input formula) under assumption (not (or a b)).
Diffstat (limited to 'src/smt/smt_engine.h')
-rw-r--r--src/smt/smt_engine.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/smt/smt_engine.h b/src/smt/smt_engine.h
index 16cf90de1..bba6b1cef 100644
--- a/src/smt/smt_engine.h
+++ b/src/smt/smt_engine.h
@@ -400,7 +400,12 @@ class CVC4_PUBLIC SmtEngine {
SmtEngine& operator=(const SmtEngine&) CVC4_UNDEFINED;
//check satisfiability (for query and check-sat)
- Result checkSatisfiability(const Expr& e, bool inUnsatCore, bool isQuery);
+ Result checkSatisfiability(const Expr& expr,
+ bool inUnsatCore,
+ bool isQuery);
+ Result checkSatisfiability(const std::vector<Expr>& exprs,
+ bool inUnsatCore,
+ bool isQuery);
/**
* Check that all Expr in formals are of BOUND_VARIABLE kind, where func is
@@ -535,7 +540,10 @@ class CVC4_PUBLIC SmtEngine {
* of assertions by asserting the query expression's negation and
* calling check(). Returns valid, invalid, or unknown result.
*/
- Result query(const Expr& e, bool inUnsatCore = true) /* throw(Exception) */;
+ Result query(const Expr& e = Expr(),
+ bool inUnsatCore = true) /* throw(Exception) */;
+ Result query(const std::vector<Expr>& exprs,
+ bool inUnsatCore = true) /* throw(Exception) */;
/**
* Assert a formula (if provided) to the current context and call
@@ -543,6 +551,8 @@ class CVC4_PUBLIC SmtEngine {
*/
Result checkSat(const Expr& e = Expr(),
bool inUnsatCore = true) /* throw(Exception) */;
+ Result checkSat(const std::vector<Expr>& exprs,
+ bool inUnsatCore = true) /* throw(Exception) */;
/**
* Assert a synthesis conjecture to the current context and call
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback