21 assert(expr.
type().
id()==ID_bool);
25 else if(expr.
id()==ID_not)
27 else if(expr.
id()==ID_and ||
37 return expr.
id()==ID_and ? (op0&op1) :
38 (expr.
id()==ID_or ? (op0|op1) : (op0^op1));
40 else if(expr.
id()==ID_implies)
49 else if(expr.
id()==ID_equal &&
60 else if(expr.
id()==ID_iff)
69 else if(expr.
id()==ID_if)
77 return ((!cond)|t_case)&(cond|f_case);
81 std::pair<expr_mapt::iterator, bool> entry=
89 node_map.insert(std::make_pair(entry.first->second.var(),
93 return entry.first->second;
112 node_mapt::const_iterator entry=
node_map.find(r.
var());
114 const exprt &n_expr=entry->second;
Deprecated expression utility functions.
const mini_bddt & False() const
The trinary if-then-else operator.
const equal_exprt & to_equal_expr(const exprt &expr)
Cast a generic exprt to an equal_exprt.
Conversion between exprt and miniBDD.
const irep_idt & id() const
The boolean constant true.
bool is_initialized() const
const if_exprt & to_if_expr(const exprt &expr)
Cast a generic exprt to an if_exprt.
API to expression classes.
mini_bddt from_expr_rec(const exprt &expr)
The boolean constant false.
const not_exprt & to_not_expr(const exprt &expr)
Cast a generic exprt to an not_exprt.
void from_expr(const exprt &expr)
const mini_bddt & high() const
mini_bddt Var(const std::string &label)
const mini_bddt & True() const
Base class for all expressions.
const mini_bddt & low() const
exprt make_binary(const exprt &expr)
splits an expression with >=3 operands into nested binary expressions
const implies_exprt & to_implies_expr(const exprt &expr)
Cast a generic exprt to a implies_exprt.