3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-25 17:51:20 +00:00

working on relevant

This commit is contained in:
Nikolaj Bjorner 2021-12-28 11:00:02 -08:00
parent 9527471967
commit 28bce8f09c
11 changed files with 121 additions and 98 deletions

View file

@ -66,13 +66,21 @@ namespace q {
};
std::function<void(euf::enode*)> _on_make =
[&](euf::enode* n) {
m_mam->add_node(n, false);
relevant_eh(n);
};
ctx.get_egraph().set_on_merge(_on_merge);
ctx.get_egraph().set_on_make(_on_make);
if (ctx.relevancy().enabled())
ctx.get_egraph().set_on_make(_on_make);
else
ctx.relevancy().add_relevant(&s);
m_mam = mam::mk(ctx, *this);
}
void ematch::relevant_eh(euf::enode* n) {
m_mam->add_node(n, false);
}
void ematch::ensure_ground_enodes(expr* e) {
mam::ground_subterms(e, m_ground);
for (expr* g : m_ground)