git-svn-id: https://stp-fast-prover.svn.sourceforge.net/svnroot/stp-fast-prover/trunk/stp@1026
e59a4935-1847-0410-ae03-
e826735625c1
#include "core/Solver.h"
#include "MinisatCore.h"
#include "utils/System.h"
+#include "simp/SimpSolver.h"
namespace BEEV
{
// I was going to make SimpSolver and Solver instances of this template.
// But I'm not so sure now because I don't understand what eliminate() does in the simp solver.
template class MinisatCore<Minisat::Solver>;
+ template class MinisatCore<Minisat::SimpSolver>;
};
{
SimplifyingMinisat::SimplifyingMinisat()
{
- s = new Minisat::SimpSolver();
+ s = new Minisat::SimpSolver();
}
SimplifyingMinisat::~SimplifyingMinisat()
if (!s->simplify())
return false;
+ // Without the eliminate(true) call. Calling solve() multiple times returns the wrong answer.
+ s->eliminate(true);
return s->solve();
}