3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-19 01:32:17 +00:00

Improve factor equalities

This commit is contained in:
Arie Gurfinkel 2017-11-22 18:29:08 -05:00
parent 5a37518e58
commit 6818eb3340
2 changed files with 52 additions and 10 deletions

View file

@ -60,6 +60,8 @@ public:
obj_equiv_class(Manager& m) : m_to_obj(m) {}
Manager &m() const {return m_to_obj.m();}
void add_elem(OBJ*o) {
SASSERT(!m_to_int.find(o));
add_elem_impl(o);
@ -169,6 +171,11 @@ typedef obj_equiv_class<expr, ast_manager> expr_equiv_class;
* Factors input vector v into equivalence classes and the rest
*/
void factor_eqs(expr_ref_vector &v, expr_equiv_class &equiv);
/**
* Rewrite expressions in v by choosing a representative from the
* equivalence class.
*/
void rewrite_eqs(expr_ref_vector &v, expr_equiv_class &equiv);
/**
* converts equivalence classes to equalities
*/