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++)
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
tvt l_get(literalt literal) const override
virtual void copy_assignment_from(const propt &prop)
assignmentt & get_assignment()
std::vector< tvt > assignmentt
cnf_clause_list_assignmentt(message_handlert &message_handler)
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
CNF Generation, via Tseitin.
std::vector< literalt > bvt