mirror of
https://github.com/Z3Prover/z3
synced 2025-06-22 05:43:39 +00:00
add selected updates #4981
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
e3d634807b
commit
42e601483d
3 changed files with 5 additions and 94 deletions
|
@ -626,7 +626,7 @@ namespace smt {
|
|||
zstring strConst;
|
||||
if (u.str.is_string(term, strConst)) {
|
||||
for (unsigned i = 0; i < strConst.length(); ++i) {
|
||||
expr_ref chTerm(bitvector_character_constants.get(strConst[i]), m);
|
||||
expr_ref chTerm(u.mk_char(strConst[i]), m);
|
||||
eqc_chars.push_back(chTerm);
|
||||
}
|
||||
} else if (to_app(term)->get_num_args() == 0 && !u.str.is_string(term)) {
|
||||
|
@ -770,7 +770,7 @@ namespace smt {
|
|||
// convert iValue to a constant
|
||||
zstring iValue_str(iValue.to_string());
|
||||
for (unsigned idx = 0; idx < iValue_str.length(); ++idx) {
|
||||
expr_ref chTerm(bitvector_character_constants.get(iValue_str[idx]), sub_m);
|
||||
expr_ref chTerm(u.mk_char(iValue_str[idx]), sub_m);
|
||||
eqc_chars.push_back(chTerm);
|
||||
}
|
||||
return true;
|
||||
|
@ -884,13 +884,6 @@ namespace smt {
|
|||
|
||||
ast_manager & m = get_manager();
|
||||
|
||||
if (bitvector_character_constants.empty()) {
|
||||
for (unsigned i = 0; i <= u.max_char(); ++i) {
|
||||
expr_ref chTerm(u.mk_char(i), m);
|
||||
bitvector_character_constants.push_back(chTerm);
|
||||
fixed_length_subterm_trail.push_back(chTerm);
|
||||
}
|
||||
}
|
||||
|
||||
TRACE("str",
|
||||
ast_manager & m = get_manager();
|
||||
|
@ -916,7 +909,7 @@ namespace smt {
|
|||
|
||||
smt_params subsolver_params;
|
||||
smt::kernel subsolver(m, subsolver_params);
|
||||
subsolver.set_logic(symbol("QF_BV"));
|
||||
subsolver.set_logic(symbol("QF_S"));
|
||||
|
||||
sort * str_sort = u.str.mk_string_sort();
|
||||
sort * bool_sort = m.mk_bool_sort();
|
||||
|
@ -1203,7 +1196,7 @@ namespace smt {
|
|||
}
|
||||
|
||||
TRACE("str_fl",
|
||||
tout << "formulas asserted to bitvector subsolver:" << std::endl;
|
||||
tout << "formulas asserted subsolver:" << std::endl;
|
||||
for (auto e : fixed_length_assumptions) {
|
||||
tout << mk_pp(e, subsolver.m()) << std::endl;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue