Fixes for getInterpolant and getAbduct API methods (#4846)
authorAndrew Reynolds <andrew.j.reynolds@gmail.com>
Tue, 4 Aug 2020 23:27:27 +0000 (18:27 -0500)
committerGitHub <noreply@github.com>
Tue, 4 Aug 2020 23:27:27 +0000 (18:27 -0500)
commit64a8b1b205ccc793865bacf2b4388c534dc2f16d
tree7ca259b5124eb1d657abc16f091aaaa57d97135d
parent99640a4dc014177ed3b205b7186254933e7c5566
Fixes for getInterpolant and getAbduct API methods (#4846)

This fixes three issues in the getInterpolant method in the API, which was also copied to the getAbduct method:
(1) Use Node not Expr
(2) Must set up ExprManager scope
(3) The wrong solver pointer was passed to the returned term, which was causing segfaults on all abduction regressions.

We should also consider changing the interface of this method to return the term instead of a Boolean. This could be done as future work.

This fixes regress1.
src/api/cvc4cpp.cpp
src/smt/smt_engine.cpp
src/smt/smt_engine.h