diff options
author | Andrew Reynolds <andrew.j.reynolds@gmail.com> | 2020-08-18 11:41:46 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-08-18 11:41:46 -0500 |
commit | ab9742939d7706e10ea3d70c73275e97a5235f03 (patch) | |
tree | d7d08da62cc172bdd8940357c27d848dc9e3c04c /src/smt/abduction_solver.cpp | |
parent | c460fd4ba1cdacf04305475e605071889ed0e92f (diff) |
Split SygusSolver from SmtEngine (#4891)
This is the solver for standard SyGuS queries. Notice it now depends only on SmtSolver and not SmtEngine.
This PR updates Expr -> Node for the sygus interface in SmtEngine.
SmtEnginePrivate is no longer needed and is deleted with this PR.
Diffstat (limited to 'src/smt/abduction_solver.cpp')
-rw-r--r-- | src/smt/abduction_solver.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/smt/abduction_solver.cpp b/src/smt/abduction_solver.cpp index 01e2a4f0f..2a6346c18 100644 --- a/src/smt/abduction_solver.cpp +++ b/src/smt/abduction_solver.cpp @@ -89,16 +89,15 @@ bool AbductionSolver::getAbductInternal(Node& abd) if (r.asSatisfiabilityResult().isSat() == Result::UNSAT) { // get the synthesis solution - std::map<Expr, Expr> sols; + std::map<Node, Node> sols; d_subsolver->getSynthSolutions(sols); Assert(sols.size() == 1); - Expr essf = d_sssf.toExpr(); - std::map<Expr, Expr>::iterator its = sols.find(essf); + std::map<Node, Node>::iterator its = sols.find(d_sssf); if (its != sols.end()) { Trace("sygus-abduct") << "SmtEngine::getAbduct: solution is " << its->second << std::endl; - abd = Node::fromExpr(its->second); + abd = its->second; if (abd.getKind() == kind::LAMBDA) { abd = abd[1]; |