3
0
Fork 0
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:
Nikolaj Bjorner 2021-01-28 13:43:30 -08:00
parent e3d634807b
commit 42e601483d
3 changed files with 5 additions and 94 deletions

View file

@ -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;
}