mirror of
https://github.com/Z3Prover/z3
synced 2026-07-22 06:55:51 +00:00
change relevancy marking to top-level on inconsistent states
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
ad063580dc
commit
661bb13039
1 changed files with 5 additions and 4 deletions
|
|
@ -1779,15 +1779,16 @@ namespace smt {
|
|||
void internalize_proxies(expr_ref_vector const& asms, vector<std::pair<expr*,expr_ref>>& asm2proxy);
|
||||
|
||||
void internalize_instance(expr * body, proof * pr, unsigned generation) {
|
||||
if (inconsistent())
|
||||
return;
|
||||
internalize_assertion(body, pr, generation);
|
||||
if (relevancy()) {
|
||||
// if the instantiation creates a conflict, we backtrack immediately.
|
||||
// to retain the conflict clause being relevant we mark it here.
|
||||
// if the instantiation does not create a conflict, default relevancy propagation applies.
|
||||
if (inconsistent() && is_app(body)) {
|
||||
for (auto arg : *to_app(body))
|
||||
mark_as_relevant(arg);
|
||||
}
|
||||
if (inconsistent())
|
||||
mark_as_relevant(body);
|
||||
|
||||
m_case_split_queue->internalize_instance_eh(body, generation);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue