3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-12-05 03:26:45 +00:00
z3/src/solver/smtmus.h
Nikolaj Bjorner 7b9fcbc96a remove auxiliary assumptions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-07 11:25:04 -08:00

48 lines
727 B
C++

/*++
Copyright (c) 2014 Microsoft Corporation
Module Name:
smtmus.h
Abstract:
MUS extraction with model rotation.
Author:
Jaroslav Bendik, Nikolaj Bjorner (nbjorner) 2021-12-20
Notes:
--*/
#pragma once
class smtmus {
struct imp;
imp * m_imp;
public:
smtmus(solver& s);
~smtmus();
/**
Add soft constraint.
*/
unsigned add_soft(expr* cls);
void add_soft(unsigned sz, expr* const* clss) {
for (unsigned i = 0; i < sz; ++i)
add_soft(clss[i]);
}
void set_assumptions(expr_ref_vector const& assumptions);
/**
Retrieve mus over soft constraints
*/
lbool get_mus(expr_ref_vector& mus);
};