3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-14 06:45:25 +00:00

better slicing conflict clauses

This commit is contained in:
Jakob Rath 2023-07-26 09:41:52 +02:00
parent 12e9356f0f
commit 16188945ab
2 changed files with 141 additions and 3 deletions

View file

@ -135,6 +135,9 @@ namespace polysat {
enode* alloc_slice(unsigned width, pvar var = null_var);
enode* find_or_alloc_disequality(enode* x, enode* y, sat::literal lit);
// Find hi, lo such that s = a[hi:lo]
bool find_range_in_ancestor(enode* s, enode* a, unsigned& out_hi, unsigned& out_lo);
enode* var2slice(pvar v) const { return m_var2slice[v]; }
pvar slice2var(enode* s) const { return info(s).var; }