3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-23 03:27:52 +00:00

perf improvements, mus

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2014-08-01 16:11:52 -07:00
parent 6438c477b3
commit b928734348
7 changed files with 242 additions and 21 deletions

44
src/sat/sat_mus.h Normal file
View file

@ -0,0 +1,44 @@
/*++
Copyright (c) 2014 Microsoft Corporation
Module Name:
mus.h
Abstract:
Faster MUS extraction based on Belov et.al. HYB (Algorithm 3, 4)
Author:
Nikolaj Bjorner (nbjorner) 2014-20-7
Notes:
--*/
#ifndef _SAT_MUS_H_
#define _SAT_MUS_H_
namespace sat {
class mus {
literal_vector m_core;
literal_vector m_assumptions;
literal_vector m_mus;
literal_vector m_toswap;
solver& s;
public:
mus(solver& s);
~mus();
lbool operator()();
private:
void rmr();
bool has_single_unsat(literal& assumption_lit);
void find_swappable(literal lit);
void reset();
void set_core();
lbool eval(literal l) const;
};
};
#endif