23 const std::string &_filename)
26 dimacs_cnf_prop(_prop)
53 if(s.second.is_constant())
54 out <<
"c " << s.first <<
" " << (s.second.is_true() ?
"TRUE" :
"FALSE")
57 out <<
"c " << s.first <<
" " << s.second.dimacs() <<
"\n";
63 const auto &literal_map = m.second.literal_map;
65 if(literal_map.empty())
68 out <<
"c " << m.first;
70 for(
const auto &lit : literal_map)
75 out << (lit.is_true() ?
"TRUE" :
"FALSE");
const mappingt & get_mapping() const
const boolbv_mapt & get_map() const
const dimacs_cnft & dimacs_cnf_prop
const std::string filename
bv_dimacst(const namespacet &_ns, dimacs_cnft &_prop, message_handlert &message_handler, const std::string &_filename)
virtual void write_dimacs_cnf(std::ostream &out) const
A namespacet is essentially one or two symbol tables bound together, to allow for symbol lookups in t...
const symbolst & get_symbols() const