15 const exprt &objective)
21 if(type.
id()==ID_bool ||
22 type.
id()==ID_unsignedbv ||
23 type.
id()==ID_c_enum ||
24 type.
id()==ID_c_enum_tag ||
25 type.
id()==ID_signedbv ||
26 type.
id()==ID_fixedbv)
31 for(std::size_t i=0; i<bv.size(); i++)
40 if(type.
id()==ID_signedbv ||
41 type.
id()==ID_fixedbv ||
42 type.
id()==ID_floatbv)
61 for(minimization_listt::const_iterator
SAT-optimizer for minimizing expressions.
std::set< exprt > minimization_listt
virtual const bvt & convert_bv(const exprt &expr, const std::optional< std::size_t > expected_width={})
Convert expression to vector of literalts, using an internal cache to speed up conversion if availabl...
void operator()(const minimization_listt &objectives)
void add_objective(class prop_minimizet &prop_minimize, const exprt &objective)
Base class for all expressions.
typet & type()
Return the type of the expression.
const irep_idt & id() const
message_handlert & get_message_handler()
Computes a satisfying assignment of minimal cost according to a const function using incremental SAT.
long long signed int weightt
void objective(const literalt condition, const weightt weight=1)
Add an objective.
The type of an expression, extends irept.
std::vector< literalt > bvt