|
| Formula () |
|
virtual | ~Formula () |
|
template<class Iteratable > |
void | addClause (const Iteratable &literals) |
| Add a clause given by a list of literals.
|
|
void | clauseAddLiteral (unsigned int clausePos, Internal::Var signedVar) |
| adds a literal to a clause and moves clause to the end of list
|
|
void | finalizeClause (const clause cl) |
| adds a clause to the formula's solver. If not all variables are known, missing ones are generated auomatically
|
|
bool | finalizeNotExtensibleClause (const clause cl) |
| adds a clause to the formula's solver if all variables are known
|
|
Clause * | getClause (const int pos) |
| returns a clause at position pos in Formula
|
|
int | getClauseCount () |
| count of learned clauses
|
|
int | getProblemClauseCount () |
| count of problem clauses
|
|
Internal::Var | getVarFromLit (const Internal::Lit &lit) |
|
int | getVariableCount () |
| returns varable count currently in solver
|
|
Clause * | newClause () |
| creates a new clause within the formula. If not all variables are known, missing ones are generated auomatically
|
|
void | newVar () |
| add a new variable to the formula
|
|
void | newVars (unsigned int Count) |
| add multiple new variables to the formula
|
|
bool | readDimacs (const char *filename) |
| read a formula from a DIMACS file
|
|
bool | readDimacs (const string &filename) |
| read a formula from a DIMACS file
|
|
bool | readDimacs (std::istream &in) |
| read a formula in DIMACS format
|
|
void | removeClause (int i) |
| removes a complete clause
|
|
void | reset () |
| delete all clauses and variables
|
|
bool | solve (Model &ReturnModel) |
| tries to solve the formula
|
|
bool | solve (Model &ReturnModel, double &timeLimit) |
| tries to solve the formula with a time limit in milliseconds
|
|
bool | writeDimacs (const char *filename) |
| write a formula to a DIMACS file
|
|
bool | writeDimacs (const string &filename) |
| write a formula to a DIMACS file
|
|
bool | writeDimacs (std::ostream &f) |
| write a formula in DIMACS format
|
|
|
void | free () |
|
| Solver () |
|
virtual | ~Solver () |
|
bool | addClause (const vec< Lit > &ps) |
|
bool | addClause (Lit p) |
|
bool | addClause (Lit p, Lit q) |
|
bool | addClause (Lit p, Lit q, Lit r) |
|
bool | addClause_ (vec< Lit > &ps) |
|
bool | addEmptyClause () |
|
void | budgetOff () |
|
void | checkGarbage () |
|
void | checkGarbage (double gf) |
|
void | clearInterrupt () |
|
virtual void | garbageCollect () |
|
void | interrupt () |
|
lbool | modelValue (Lit p) const |
|
lbool | modelValue (Var x) const |
|
int | nAssigns () const |
|
int | nClauses () const |
|
Var | newVar (bool polarity=true, bool dvar=true) |
|
int | nFreeVars () const |
|
int | nLearnts () const |
|
int | nVars () const |
|
bool | okay () const |
|
void | setConfBudget (int64_t x) |
|
void | setDecisionVar (Var v, bool b) |
|
void | setPolarity (Var v, bool b) |
|
void | setPropBudget (int64_t x) |
|
bool | simplify () |
|
bool | solve () |
|
bool | solve (const vec< Lit > &assumps) |
|
bool | solve (double t, SolverStatus &st) |
|
bool | solve (Lit p) |
|
bool | solve (Lit p, Lit q) |
|
bool | solve (Lit p, Lit q, Lit r) |
|
lbool | solveLimited (const vec< Lit > &assumps) |
|
void | toDimacs (const char *file) |
|
void | toDimacs (const char *file, const vec< Lit > &assumps) |
|
void | toDimacs (const char *file, Lit p) |
|
void | toDimacs (const char *file, Lit p, Lit q) |
|
void | toDimacs (const char *file, Lit p, Lit q, Lit r) |
|
void | toDimacs (std::ostream &out, Clause &c, vec< Var > &map, Var &max) |
|
void | toDimacs (std::ostream &out, const vec< Lit > &assumps) |
|
lbool | value (Lit p) const |
|
lbool | value (Var x) const |
|
uint32_t | abstractLevel (Var x) const |
|
void | analyze (CRef confl, vec< Lit > &out_learnt, int &out_btlevel) |
|
void | analyzeFinal (Lit p, vec< Lit > &out_conflict) |
|
void | attachClause (CRef cr) |
|
void | cancelUntil (int level) |
|
void | claBumpActivity (Clause &c) |
|
void | claDecayActivity () |
|
int | decisionLevel () const |
|
void | detachClause (CRef cr, bool strict=false) |
|
bool | enqueue (Lit p, CRef from=CRef_Undef) |
|
void | insertVarOrder (Var x) |
|
int | level (Var x) const |
|
bool | litRedundant (Lit p, uint32_t abstract_levels) |
|
bool | locked (const Clause &c) const |
|
void | newDecisionLevel () |
|
Lit | pickBranchLit () |
|
double | progressEstimate () const |
|
CRef | propagate () |
|
CRef | reason (Var x) const |
|
void | rebuildOrderHeap () |
|
void | reduceDB () |
|
void | relocAll (ClauseAllocator &to) |
|
void | removeClause (CRef cr) |
|
void | removeSatisfied (vec< CRef > &cs) |
|
bool | satisfied (const Clause &c) const |
|
lbool | search (int nof_conflicts) |
|
lbool | search (int nof_conflicts, double &time) |
|
lbool | solve_ () |
|
lbool | solve_ (double &t) |
|
void | uncheckedEnqueue (Lit p, CRef from=CRef_Undef) |
|
void | varBumpActivity (Var v) |
|
void | varBumpActivity (Var v, double inc) |
|
void | varDecayActivity () |
|
bool | withinBudget () const |
|
The Formula class.
Variables and Clauses are added to the Formula. The clauses can be resolved to solve a SAT problem. Variables are linear indexed.
Definition at line 220 of file Minisat.h.