3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-03 22:05:45 +00:00

mss and mss-mus-maxres

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2014-08-03 20:23:10 -07:00
parent d429e72e92
commit 317e76a11b
2 changed files with 64 additions and 31 deletions

View file

@ -28,6 +28,8 @@ namespace opt {
typedef obj_hashtable<expr> expr_set;
exprs m_mss;
expr_set m_mcs;
expr_set m_mss_set;
exprs m_todo;
model_ref m_model;
public:
mss(ref<solver>& s, ast_manager& m);
@ -42,9 +44,9 @@ namespace opt {
private:
void initialize(vector<exprs>& cores, exprs& literals);
bool check_result();
void update_model();
void update_set(exprs& lits);
lbool process_core(exprs const& _core);
void add_mss(expr* n);
void update_mss();
void update_core(exprs& core);
lbool process_core(unsigned sz, exprs& core, bool& has_mcs, bool is_last);
void display(std::ostream& out) const;
void display_vec(std::ostream& out, unsigned sz, expr* const* args) const;