3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-16 05:48:44 +00:00
z3/src/sat/sat_mus.h
Nikolaj Bjorner 180b0d4ec9 add sls
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-08-12 19:24:31 -07:00

47 lines
772 B
C++

/*++
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_mus;
literal_vector m_toswap;
model m_model;
solver& s;
public:
mus(solver& s);
~mus();
lbool operator()();
private:
lbool mus2();
void rmr();
void measure_mr();
bool has_single_unsat(literal& assumption_lit);
void find_swappable(literal lit);
void reset();
void set_core();
};
};
#endif