summaryrefslogtreecommitdiff
path: root/src/smt/smt_engine.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/smt/smt_engine.cpp')
-rw-r--r--src/smt/smt_engine.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/smt/smt_engine.cpp b/src/smt/smt_engine.cpp
index 72268aa03..582ca0c2c 100644
--- a/src/smt/smt_engine.cpp
+++ b/src/smt/smt_engine.cpp
@@ -255,12 +255,12 @@ void SmtEngine::finishInit()
// subsolvers
if (d_env->getOptions().smt.produceAbducts)
{
- d_abductSolver.reset(new AbductionSolver(*d_env.get(), this));
+ d_abductSolver.reset(new AbductionSolver(*d_env.get()));
}
if (d_env->getOptions().smt.produceInterpols
!= options::ProduceInterpols::NONE)
{
- d_interpolSolver.reset(new InterpolationSolver(*d_env.get(), this));
+ d_interpolSolver.reset(new InterpolationSolver(*d_env.get()));
}
d_pp->finishInit();
@@ -1754,7 +1754,9 @@ bool SmtEngine::getInterpol(const Node& conj,
{
SmtScope smts(this);
finishInit();
- bool success = d_interpolSolver->getInterpol(conj, grammarType, interpol);
+ std::vector<Node> axioms = getExpandedAssertions();
+ bool success =
+ d_interpolSolver->getInterpol(axioms, conj, grammarType, interpol);
// notify the state of whether the get-interpol call was successfuly, which
// impacts the SMT mode.
d_state->notifyGetInterpol(success);
@@ -1773,7 +1775,8 @@ bool SmtEngine::getAbduct(const Node& conj,
{
SmtScope smts(this);
finishInit();
- bool success = d_abductSolver->getAbduct(conj, grammarType, abd);
+ std::vector<Node> axioms = getExpandedAssertions();
+ bool success = d_abductSolver->getAbduct(axioms, conj, grammarType, abd);
// notify the state of whether the get-abduct call was successfuly, which
// impacts the SMT mode.
d_state->notifyGetAbduct(success);
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback