3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-03-02 19:56:54 +00:00

add mutex pass

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2016-10-04 14:45:23 -07:00
parent e3f0aff318
commit f452895f5f
3 changed files with 117 additions and 0 deletions

View file

@ -158,6 +158,14 @@ public:
virtual lbool get_consequences(expr_ref_vector const& asms, expr_ref_vector const& vars, expr_ref_vector& consequences);
/**
\brief Find maximal subsets A' of A such that |A'| <= 1. These subsets look somewhat similar to cores: cores have the property
that |~A'| >= 1, where ~A' is the set of negated formulas from A'
*/
virtual lbool find_mutexes(expr_ref_vector const& vars, vector<expr_ref_vector>& mutexes);
/**
\brief Display the content of this solver.
*/
@ -176,6 +184,8 @@ protected:
virtual lbool get_consequences_core(expr_ref_vector const& asms, expr_ref_vector const& vars, expr_ref_vector& consequences);
bool is_literal(ast_manager& m, expr* e);
};
#endif