3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 11:55:51 +00:00

add validation to polysat

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2023-12-28 15:52:30 -08:00
parent 20afc55b41
commit bd93379346
6 changed files with 164 additions and 70 deletions

View file

@ -80,4 +80,23 @@ namespace polysat {
m_intblast.display(out);
return out;
}
void solver::validate_propagate(sat::literal lit, sat::literal_vector const& core, euf::enode_pair_vector const& eqs) {
if (!ctx.get_config().m_core_validate)
return;
auto r = m_intblast.check_propagation(lit, core, eqs);
VERIFY (r != l_true);
}
void solver::validate_conflict(sat::literal_vector const& core, euf::enode_pair_vector const& eqs) {
if (!ctx.get_config().m_core_validate)
return;
auto r = m_intblast.check_core(core, eqs);
VERIFY (r != l_true);
}
void solver::validate_axiom(sat::literal_vector const& clause) {
if (!ctx.get_config().m_core_validate)
return;
auto r = m_intblast.check_axiom(clause);
VERIFY (r != l_true);
}
}