mirror of
https://github.com/Z3Prover/z3
synced 2025-06-28 08:58:44 +00:00
add trace message to indicate which free variables are giving us trouble
I think I'm onto the issue though
This commit is contained in:
parent
f5e94af784
commit
e010e7c0d6
1 changed files with 9 additions and 1 deletions
|
@ -532,6 +532,8 @@ void theory_str::instantiate_concat_axiom(enode * cat) {
|
||||||
|
|
||||||
ast_manager & m = get_manager();
|
ast_manager & m = get_manager();
|
||||||
|
|
||||||
|
TRACE("t_str_detail", tout << "instantiating concat axiom for " << mk_ismt2_pp(a_cat, m) << std::endl;);
|
||||||
|
|
||||||
// build LHS
|
// build LHS
|
||||||
expr_ref len_xy(m);
|
expr_ref len_xy(m);
|
||||||
// TODO should we use str_util for these and other expressions?
|
// TODO should we use str_util for these and other expressions?
|
||||||
|
@ -560,7 +562,6 @@ void theory_str::instantiate_concat_axiom(enode * cat) {
|
||||||
// finally assert equality between the two subexpressions
|
// finally assert equality between the two subexpressions
|
||||||
app * eq = m.mk_eq(len_xy, len_x_plus_len_y);
|
app * eq = m.mk_eq(len_xy, len_x_plus_len_y);
|
||||||
SASSERT(eq);
|
SASSERT(eq);
|
||||||
TRACE("t_str", tout << mk_ismt2_pp(eq, m) << std::endl;);
|
|
||||||
assert_axiom(eq);
|
assert_axiom(eq);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3443,6 +3444,13 @@ final_check_status theory_str::final_check_eh() {
|
||||||
return FC_DONE;
|
return FC_DONE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CTRACE("t_str", needToAssignFreeVars,
|
||||||
|
tout << "Need to assign values to the following free variables:" << std::endl;
|
||||||
|
for (std::set<expr*>::iterator itx = free_variables.begin(); itx != free_variables.end(); ++itx) {
|
||||||
|
tout << mk_ismt2_pp(*itx, m) << std::endl;
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
// -----------------------------------------------------------
|
// -----------------------------------------------------------
|
||||||
// variables in freeVar are those not bounded by Concats
|
// variables in freeVar are those not bounded by Concats
|
||||||
// classify variables in freeVarMap:
|
// classify variables in freeVarMap:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue