Closed DavidWz closed 7 years ago
@DavidWz in order to retrieve the infeasible set from the backends, take a look at Module.cpp (lines 644-657). There, this behavior is already implemented and illustrates the overall procedure quite good.
@kperun Thanks, I had to copy that code and tweak it a little bit so that we don't use origins (that's where the segfault came from). Backend call is fully implemented now.
After issue #56 is resolved, we need to handle the infeasable subset returned by the backend. To this end, create a method
handleBackendUnsat(...)
toICPTree
with parameters containing the conflict reasons (maybe mInfeasableSubset?, but from the backend). During thehandleBackendUnsat
method, initialize mConflictingConstraints and mConflictingVariables, then call handleUnsat as usual.