3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-06 17:44:08 +00:00

fix bug in unsat core finding

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2014-08-20 16:03:25 -07:00
parent 78c03ed835
commit 8822bc1755

View file

@ -50,14 +50,16 @@ namespace sat {
literal_vector& mus = m_mus;
core.append(s.get_core());
for (unsigned i = 0; i < core.size(); ++i) {
s.m_user_scope_literals.contains(core[i]);
mus.push_back(core[i]);
core[i] = core.back();
core.pop_back();
--i;
if (s.m_user_scope_literals.contains(core[i])) {
mus.push_back(core[i]);
core[i] = core.back();
core.pop_back();
--i;
}
}
while (!core.empty()) {
IF_VERBOSE(2, verbose_stream() << "(opt.mus reducing core: " << core.size() << " new core: " << mus.size() << ")\n";);
TRACE("sat",
tout << "core: " << core << "\n";
tout << "mus: " << mus << "\n";);