summaryrefslogtreecommitdiff
path: root/src/smt/interpolation_solver.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/smt/interpolation_solver.cpp')
-rw-r--r--src/smt/interpolation_solver.cpp9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/smt/interpolation_solver.cpp b/src/smt/interpolation_solver.cpp
index fbbdb1b90..ab7002205 100644
--- a/src/smt/interpolation_solver.cpp
+++ b/src/smt/interpolation_solver.cpp
@@ -32,7 +32,8 @@ using namespace cvc5::theory;
namespace cvc5 {
namespace smt {
-InterpolationSolver::InterpolationSolver(SmtEngine* parent) : d_parent(parent)
+InterpolationSolver::InterpolationSolver(Env& env, SmtEngine* parent)
+ : d_env(env), d_parent(parent)
{
}
@@ -52,10 +53,10 @@ bool InterpolationSolver::getInterpol(const Node& conj,
<< std::endl;
std::vector<Node> axioms = d_parent->getExpandedAssertions();
// must expand definitions
- Node conjn = d_parent->getEnv().getTopLevelSubstitutions().apply(conj);
+ Node conjn = d_env.getTopLevelSubstitutions().apply(conj);
std::string name("A");
- quantifiers::SygusInterpol interpolSolver;
+ quantifiers::SygusInterpol interpolSolver(d_env);
if (interpolSolver.solveInterpolation(
name, axioms, conjn, grammarType, interpol))
{
@@ -94,7 +95,7 @@ void InterpolationSolver::checkInterpol(Node interpol,
<< ": make new SMT engine" << std::endl;
// Start new SMT engine to check solution
std::unique_ptr<SmtEngine> itpChecker;
- initializeSubsolver(itpChecker);
+ initializeSubsolver(itpChecker, d_env);
Trace("check-interpol") << "SmtEngine::checkInterpol: phase " << j
<< ": asserting formulas" << std::endl;
if (j == 0)
generated by cgit on debian on lair
contact matthew@masot.net with questions or feedback