void symex_target_equationt::convert_assignments( decision_proceduret &decision_procedure) const { for(const auto & it : SSA_steps) { if(it.is_assignment() && !it.ignore) decision_procedure.set_to_true(it.cond_expr); } }
void symex_target_equationt::convert_assignments( decision_proceduret &decision_procedure) const { for(SSA_stepst::const_iterator it=SSA_steps.begin(); it!=SSA_steps.end(); it++) { if(it->is_assignment() && !it->ignore) decision_procedure.set_to_true(it->cond_expr); } }
void predicatet::set_to_true(decision_proceduret &dest) const { // pass equalities to solver for(unsigned v=0; v<state_vars.size(); v++) { unsigned eq=uuf.find(v); if(eq!=v) dest.set_to_true(equal_exprt(state_vars[v], state_vars[eq])); } }
void symex_target_equationt::convert_constraints( decision_proceduret &decision_procedure) const { for(const auto & it : SSA_steps) { if(it.is_constraint()) { if(it.ignore) continue; decision_procedure.set_to_true(it.cond_expr); } } }