mirror of
https://github.com/Z3Prover/z3
synced 2025-10-07 08:21:56 +00:00
unsat core for SAT solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
commit
0e9511b597
27 changed files with 2422 additions and 1456 deletions
|
@ -120,6 +120,7 @@ namespace sat {
|
|||
scoped_ptr<solver> m_clone; // for debugging purposes
|
||||
literal_vector m_assumptions;
|
||||
literal_set m_assumption_set;
|
||||
literal_vector m_core;
|
||||
|
||||
void del_clauses(clause * const * begin, clause * const * end);
|
||||
|
||||
|
@ -254,6 +255,7 @@ namespace sat {
|
|||
public:
|
||||
lbool check(unsigned num_lits = 0, literal const* lits = 0);
|
||||
model const & get_model() const { return m_model; }
|
||||
literal_vector const& get_core() const { return m_core; }
|
||||
model_converter const & get_model_converter() const { return m_mc; }
|
||||
|
||||
protected:
|
||||
|
@ -270,6 +272,7 @@ namespace sat {
|
|||
lbool bounded_search();
|
||||
void init_search();
|
||||
void init_assumptions(unsigned num_lits, literal const* lits);
|
||||
void reinit_assumptions();
|
||||
bool tracking_assumptions() const;
|
||||
bool is_assumption(literal l) const;
|
||||
void simplify_problem();
|
||||
|
@ -317,8 +320,10 @@ namespace sat {
|
|||
literal_vector m_ext_antecedents;
|
||||
bool resolve_conflict();
|
||||
bool resolve_conflict_core();
|
||||
void resolve_conflict_for_unsat_core();
|
||||
unsigned get_max_lvl(literal consequent, justification js);
|
||||
void process_antecedent(literal antecedent, unsigned & num_marks);
|
||||
void process_antecedent_for_unsat_core(literal antecedent);
|
||||
void fill_ext_antecedents(literal consequent, justification js);
|
||||
unsigned skip_literals_above_conflict_level();
|
||||
void forget_phase_of_vars(unsigned from_lvl);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue