21 #ifndef Minisat_SimpSolver_h
22 #define Minisat_SimpSolver_h
58 bool solve (
const vec<Lit>& assumps,
bool do_simp =
true,
bool turn_off_simp =
false);
60 bool solve (
bool do_simp =
true,
bool turn_off_simp =
false);
61 bool solve (
Lit p ,
bool do_simp =
true,
bool turn_off_simp =
false);
62 bool solve (
Lit p,
Lit q,
bool do_simp =
true,
bool turn_off_simp =
false);
63 bool solve (
Lit p,
Lit q,
Lit r,
bool do_simp =
true,
bool turn_off_simp =
false);
64 bool eliminate (
bool turn_off_elim =
false);
146 lbool solve_ (
bool do_simp =
true,
bool turn_off_simp =
false);
RegionAllocator< uint32_t >::Ref CRef
void removeClause(CRef cr)
ElimLt(const vec< int > &no)
void gatherTouchedClauses()
OccLists< Var, vec< CRef >, ClauseDeleted > occurs
void setFrozen(Var v, bool b)
Queue< CRef > subsumption_queue
vec< uint32_t > elimclauses
Lit mkLit(Var var, bool sign)
bool operator()(const CRef &cr) const
void copyTo(vec< T > ©) const
void updateElimHeap(Var v)
virtual void garbageCollect()
bool merge(const Clause &_ps, const Clause &_qs, Var v, vec< Lit > &out_clause)
bool asymm(Var v, CRef cr)
bool implied(const vec< Lit > &c)
const ClauseAllocator & ca
bool operator()(Var x, Var y) const
bool addClause(const vec< Lit > &ps)
lbool solveLimited(const vec< Lit > &assumps, bool do_simp=true, bool turn_off_simp=false)
bool strengthenClause(CRef cr, Lit l)
bool eliminate(bool turn_off_elim=false)
void relocAll(ClauseAllocator &to)
void toDimacs(FILE *f, const vec< Lit > &assumps)
bool backwardSubsumptionCheck(bool verbose=false)
bool isEliminated(Var v) const
ClauseDeleted(const ClauseAllocator &_ca)
Var newVar(bool polarity=true, bool dvar=true)
bool addClause_(vec< Lit > &ps)
uint64_t cost(Var x) const
bool substitute(Var v, Lit x)