12 #ifndef CPROVER_SOLVERS_SAT_CNF_CLAUSE_LIST_H
13 #define CPROVER_SOLVERS_SAT_CNF_CLAUSE_LIST_H
27 :
cnft(message_handler)
32 void lcnf(
const bvt &bv)
override;
35 {
return "CNF clause list"; }
54 for(clausest::const_iterator
64 for(bvt::const_iterator it=bv.begin(); it!=bv.end(); it++)
65 result=((result<<2)^it->get())-result;
73 for(clausest::const_iterator it=
clauses.begin(); it!=
clauses.end(); it++)
113 unsigned v=literal.
var_no();
119 return literal.
sign()?!
r:
r;
tvt l_get(literalt literal) const override
virtual void copy_assignment_from(const propt &prop)
std::vector< tvt > assignmentt
cnf_clause_list_assignmentt(message_handlert &message_handler)
assignmentt & get_assignment()
void print_assignment(std::ostream &out) const
tvt l_get(literalt) const override
std::list< bvt > clausest
virtual ~cnf_clause_listt()
size_t no_clauses() const override
resultt do_prop_solve(const bvt &) override
static size_t hash_clause(const bvt &bv)
cnf_clause_listt(message_handlert &message_handler)
void copy_to(cnft &cnf) const
std::string solver_text() const override
void lcnf(const bvt &bv) override
virtual void set_no_variables(size_t no)
void lcnf(literalt l0, literalt l1)
CNF Generation, via Tseitin.
std::vector< literalt > bvt