mirror of
https://github.com/Z3Prover/z3
synced 2025-06-20 04:43:39 +00:00
Add additional equality in theory_fpa
This commit is contained in:
parent
f1acc4b78a
commit
8e69f76784
1 changed files with 1 additions and 5 deletions
|
@ -454,13 +454,9 @@ namespace smt {
|
||||||
expr * args[] = { bv_val_a->get_arg(0), bv_val_a->get_arg(1), bv_val_a->get_arg(2) };
|
expr * args[] = { bv_val_a->get_arg(0), bv_val_a->get_arg(1), bv_val_a->get_arg(2) };
|
||||||
cc_args = m_bv_util.mk_concat(3, args);
|
cc_args = m_bv_util.mk_concat(3, args);
|
||||||
c = m.mk_eq(wrapped, cc_args);
|
c = m.mk_eq(wrapped, cc_args);
|
||||||
// NB code review: #5454 exposes a bug in fpa_solver that
|
|
||||||
// could be latent here as well. It needs also the equality
|
|
||||||
// n == bv_val_e to be asserted such that whenever something is assigned th
|
|
||||||
// bit-vector value cc_args it is equated with n
|
|
||||||
// I don't see another way this constraint would be enforced.
|
|
||||||
assert_cnstr(c);
|
assert_cnstr(c);
|
||||||
assert_cnstr(mk_side_conditions());
|
assert_cnstr(mk_side_conditions());
|
||||||
|
assert_cnstr(m.mk_eq(n, bv_val_e));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
expr_ref wu(m);
|
expr_ref wu(m);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue