Exemplo n.º 1
0
 Z3_goal Z3_API Z3_goal_translate(Z3_context c, Z3_goal g, Z3_context target) {
     Z3_TRY;
     LOG_Z3_goal_translate(c, g, target);
     RESET_ERROR_CODE();
     ast_translation translator(mk_c(c)->m(), mk_c(target)->m());
     Z3_goal_ref * _r = alloc(Z3_goal_ref);
     _r->m_goal       = to_goal_ref(g)->translate(translator);
     mk_c(target)->save_object(_r);
     Z3_goal r = of_goal(_r);
     RETURN_Z3(r);
     Z3_CATCH_RETURN(0);
 }
Exemplo n.º 2
0
 Z3_goal Z3_API Z3_mk_goal(Z3_context c, Z3_bool models, Z3_bool unsat_cores, Z3_bool proofs) {
     Z3_TRY;
     LOG_Z3_mk_goal(c, models, unsat_cores, proofs);
     RESET_ERROR_CODE();
     if (proofs != 0 && !mk_c(c)->m().proofs_enabled()) {
         SET_ERROR_CODE(Z3_INVALID_ARG);
         RETURN_Z3(0);
     }
     Z3_goal_ref * g = alloc(Z3_goal_ref);
     g->m_goal       = alloc(goal, mk_c(c)->m(), proofs != 0, models != 0, unsat_cores != 0);
     mk_c(c)->save_object(g);
     Z3_goal r       = of_goal(g);
     RETURN_Z3(r);
     Z3_CATCH_RETURN(0);
 }
Exemplo n.º 3
0
 Z3_goal Z3_API Z3_apply_result_get_subgoal(Z3_context c, Z3_apply_result r, unsigned i) {
     Z3_TRY;
     LOG_Z3_apply_result_get_subgoal(c, r, i);
     RESET_ERROR_CODE();
     if (i > to_apply_result(r)->m_subgoals.size()) {
         SET_ERROR_CODE(Z3_IOB);
         RETURN_Z3(0);
     }
     Z3_goal_ref * g = alloc(Z3_goal_ref);
     g->m_goal       = to_apply_result(r)->m_subgoals[i];
     mk_c(c)->save_object(g);
     Z3_goal result  = of_goal(g);
     RETURN_Z3(result);
     Z3_CATCH_RETURN(0);
 }