mirror of
https://github.com/Z3Prover/z3
synced 2025-04-29 20:05:51 +00:00
working on viable
This commit is contained in:
parent
30c874d301
commit
0dd4f0cf71
10 changed files with 479 additions and 1 deletions
|
@ -296,4 +296,24 @@ namespace polysat {
|
|||
n->get_root()->unmark1();
|
||||
}
|
||||
|
||||
void solver::get_fixed_bits(pvar pv, svector<justified_fixed_bits>& fixed_bits) {
|
||||
theory_var v = m_pddvar2var[pv];
|
||||
auto n = var2enode(v);
|
||||
auto r = n->get_root();
|
||||
unsigned lo, hi;
|
||||
expr* e = nullptr;
|
||||
for (auto p : euf::enode_parents(r)) {
|
||||
if (!p->interpreted())
|
||||
continue;
|
||||
for (auto sib : euf::enode_class(p)) {
|
||||
if (bv.is_extract(sib->get_expr(), lo, hi, e) && r == expr2enode(e)->get_root()) {
|
||||
throw default_exception("nyi");
|
||||
// TODO
|
||||
// dependency d = dependency(p->get_th_var(get_id()), n->get_th_var(get_id()), s().scope_lvl());
|
||||
// fixed_bits.push_back({ hi, lo, rational::zero(), null_dependency()});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue