3
0
Fork 0
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:
Nikolaj Bjorner 2026-07-15 11:29:20 -07:00
parent ad063580dc
commit 661bb13039

View file

@ -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);
}
}