3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-07-29 23:43:15 +00:00

raise an exception if trying proof generation for the SAT solver. Stackoverflow question https://stackoverflow.com/questions/45885321/check-function-while-qf-fd-logic-is-set-throws-accessviolationexception

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-08-27 23:52:27 -07:00
parent 623cd5ded2
commit 5db349f6fa
2 changed files with 5 additions and 2 deletions

View file

@ -388,6 +388,9 @@ private:
m_subgoals.reset(); m_subgoals.reset();
init_preprocess(); init_preprocess();
SASSERT(g->models_enabled()); SASSERT(g->models_enabled());
if (g->proofs_enabled()) {
throw default_exception("generation of proof objects is not supported in this mode");
}
SASSERT(!g->proofs_enabled()); SASSERT(!g->proofs_enabled());
TRACE("sat", g->display(tout);); TRACE("sat", g->display(tout););
try { try {

View file

@ -93,7 +93,7 @@ tactic * mk_tactic_for_logic(ast_manager & m, params_ref const & p, symbol const
return mk_qffpbv_tactic(m, p); return mk_qffpbv_tactic(m, p);
else if (logic=="HORN") else if (logic=="HORN")
return mk_horn_tactic(m, p); return mk_horn_tactic(m, p);
else if (logic == "QF_FD" || logic == "SAT") else if ((logic == "QF_FD" || logic == "SAT") && !m.proofs_enabled())
return mk_solver2tactic(mk_fd_solver(m, p)); return mk_solver2tactic(mk_fd_solver(m, p));
//else if (logic=="QF_UFNRA") //else if (logic=="QF_UFNRA")
// return mk_qfufnra_tactic(m, p); // return mk_qfufnra_tactic(m, p);
@ -102,7 +102,7 @@ tactic * mk_tactic_for_logic(ast_manager & m, params_ref const & p, symbol const
} }
static solver* mk_special_solver_for_logic(ast_manager & m, params_ref const & p, symbol const& logic) { static solver* mk_special_solver_for_logic(ast_manager & m, params_ref const & p, symbol const& logic) {
if (logic == "QF_FD" || logic == "SAT") if ((logic == "QF_FD" || logic == "SAT") && !m.proofs_enabled())
return mk_fd_solver(m, p); return mk_fd_solver(m, p);
return 0; return 0;
} }