3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-06 09:16:18 +00:00
fix missing justification in explain_slice
tune intblast solver with some simplifications
bypass conflicts if the state is already conflicting
This commit is contained in:
Nikolaj Bjorner 2024-01-04 20:14:22 -08:00
parent cb672c7992
commit c4b7061590
6 changed files with 68 additions and 26 deletions

View file

@ -119,6 +119,8 @@ namespace polysat {
}
void solver::set_conflict(dependency_vector const& deps, char const* hint_info) {
if (inconsistent())
return;
auto [lits, eqs] = explain_deps(deps);
proof_hint* hint = nullptr;
if (ctx.use_drat() && hint_info)
@ -320,6 +322,8 @@ namespace polysat {
}
bool solver::add_axiom(char const* name, constraint_or_dependency const* begin, constraint_or_dependency const* end, bool is_redundant) {
if (inconsistent())
return false;
TRACE("bv", tout << "add " << name << "\n");
sat::literal_vector lits;
euf::enode_pair_vector eqs;