mirror of
https://github.com/Z3Prover/z3
synced 2026-03-02 03:36:53 +00:00
add EUF plugin framework.
plugin setting allows adding equality saturation within the E-graph propagation without involving externalizing theory solver dispatch. It makes equality saturation independent of SAT integration. Add a special relation operator to support ad-hoc AC symbols.
This commit is contained in:
parent
5784c2da79
commit
b52fd8d954
28 changed files with 3063 additions and 68 deletions
|
|
@ -93,6 +93,17 @@ namespace euf {
|
|||
return null_theory_var;
|
||||
}
|
||||
|
||||
enode* enode::get_closest_th_node(theory_id id) {
|
||||
enode* n = this;
|
||||
while (n) {
|
||||
theory_var v = n->get_th_var(id);
|
||||
if (v != null_theory_var)
|
||||
return n;
|
||||
n = n->m_target;
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
bool enode::acyclic() const {
|
||||
enode const* n = this;
|
||||
enode const* p = this;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue