27#pragma GCC visibility push(default)
59 bool solve (
const vec<Lit>& assumps,
bool do_simp =
true,
bool turn_off_simp =
false);
61 bool solve (
bool do_simp =
true,
bool turn_off_simp =
false);
62 bool solve (
Lit p ,
bool do_simp =
true,
bool turn_off_simp =
false);
63 bool solve (
Lit p,
Lit q,
bool do_simp =
true,
bool turn_off_simp =
false);
64 bool solve (
Lit p,
Lit q,
Lit r,
bool do_simp =
true,
bool turn_off_simp =
false);
118 return c_x < c_y || c_x == c_y && x < y; }
202#pragma GCC visibility pop
virtual void garbageCollect() override
bool implied(const vec< Lit > &c)
bool strengthenClause(CRef cr, Lit l)
void removeClause(CRef cr)
lbool solve_(bool do_simp=true, bool turn_off_simp=false)
vec< uint32_t > elimclauses
void relocAll(ClauseAllocator &to)
void gatherTouchedClauses()
Var newVar(bool polarity=true, bool dvar=true)
bool substitute(Var v, Lit x)
bool merge(const Clause &_ps, const Clause &_qs, Var v, vec< Lit > &out_clause)
void updateElimHeap(Var v)
bool eliminate(bool turn_off_elim=false)
bool asymm(Var v, CRef cr)
bool addClause_(vec< Lit > &ps)
bool merge(const Clause &_ps, const Clause &_qs, Var v, int &size)
bool backwardSubsumptionCheck(bool verbose=false)
lbool solveLimited(const vec< Lit > &assumps, bool do_simp=true, bool turn_off_simp=false)
Queue< CRef > subsumption_queue
void setFrozen(Var v, bool b)
bool addClause(const vec< Lit > &ps)
bool isEliminated(Var v) const
OccLists< Var, vec< CRef >, ClauseDeleted > occurs
void toDimacs(std::ostream &out, const vec< Lit > &assumps)
void copyTo(vec< T > ©) const
RegionAllocator< uint32_t >::Ref CRef
Lit mkLit(Var var, bool sign=false)
ClauseDeleted(const ClauseAllocator &_ca)
bool operator()(const CRef &cr) const
const ClauseAllocator & ca
ElimLt(const vec< int > &no)
bool operator()(Var x, Var y) const
uint64_t cost(Var x) const