3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-12 12:08:18 +00:00

work around crash #1039

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2017-05-23 08:51:26 -07:00
parent 169295c9ba
commit 8e9739d3b0

View file

@ -7292,7 +7292,7 @@ namespace smt {
TRACE("str", tout << "variable " << mk_ismt2_pp(ap, get_manager()) << " is #" << v << std::endl;); TRACE("str", tout << "variable " << mk_ismt2_pp(ap, get_manager()) << " is #" << v << std::endl;);
} }
} }
} else if (ex_sort == bool_sort) { } else if (ex_sort == bool_sort && !is_quantifier(ex)) {
TRACE("str", tout << "setting up axioms for " << mk_ismt2_pp(ex, get_manager()) << TRACE("str", tout << "setting up axioms for " << mk_ismt2_pp(ex, get_manager()) <<
": expr is of sort Bool" << std::endl;); ": expr is of sort Bool" << std::endl;);
// set up axioms for boolean terms // set up axioms for boolean terms
@ -7339,7 +7339,7 @@ namespace smt {
// if expr is an application, recursively inspect all arguments // if expr is an application, recursively inspect all arguments
if (is_app(ex)) { if (is_app(ex)) {
app * term = (app*)ex; app * term = to_app(ex);
unsigned num_args = term->get_num_args(); unsigned num_args = term->get_num_args();
for (unsigned i = 0; i < num_args; i++) { for (unsigned i = 0; i < num_args; i++) {
set_up_axioms(term->get_arg(i)); set_up_axioms(term->get_arg(i));