mirror of
https://github.com/Z3Prover/z3
synced 2025-08-23 19:47:52 +00:00
muZ/datalog/udoc: fix bug in join_project
The bug was that we could project out don't care columns and don't take copied bits into account. Bug reported by Ari Fogel Signed-off-by: Nuno Lopes <a-nlopes@microsoft.com>
This commit is contained in:
parent
d827713ce3
commit
a211fcfb9e
2 changed files with 52 additions and 2 deletions
|
@ -216,7 +216,7 @@ bool doc_manager::merge(doc& d, unsigned idx, subset_ints const& equalities,
|
|||
unsigned root = equalities.find(idx);
|
||||
idx = root;
|
||||
unsigned num_x = 0;
|
||||
unsigned root1;
|
||||
unsigned root1 = root;
|
||||
tbit value = BIT_x;
|
||||
do {
|
||||
switch (d[idx]) {
|
||||
|
@ -229,12 +229,13 @@ bool doc_manager::merge(doc& d, unsigned idx, subset_ints const& equalities,
|
|||
value = BIT_1;
|
||||
break;
|
||||
case BIT_x:
|
||||
++num_x;
|
||||
if (!discard_cols.get(idx)) {
|
||||
++num_x;
|
||||
root1 = idx;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
UNREACHABLE();
|
||||
break;
|
||||
}
|
||||
idx = equalities.next(idx);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue