mirror of
https://github.com/Z3Prover/z3
synced 2025-11-15 02:21:16 +00:00
46 lines
664 B
C++
46 lines
664 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]);
|
|
}
|
|
|
|
/**
|
|
Retrieve mus over soft constraints
|
|
*/
|
|
lbool get_mus(expr_ref_vector& mus);
|
|
|
|
|
|
};
|
|
|
|
|