diff --git a/CadicalWrap.h b/CadicalWrap.h index 732f73b..b73bb17 100644 --- a/CadicalWrap.h +++ b/CadicalWrap.h @@ -100,7 +100,11 @@ class SimpSolver { int nFreeVars() const { return nvars; } int nClauses() const { return nclauses; } void setPolarity(Var, bool) { /* unsupported */ } - void setFrozen(Var , bool ) { /* not needed */ } + void setFrozen(Var p, bool set) { + int x = lit2val(mkLit(p)); + if (set) solver->freeze(x); + else if (solver->frozen(x)) solver->melt(x); + } bool addClause(const vec& cl) { for (int i = 0; i < cl.size(); i++) solver->add(lit2val(cl[i]));