3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-29 20:05: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

@ -193,6 +193,12 @@ namespace polysat {
return add_axiom(name, clause.begin(), clause.end(), redundant);
}
void add_axiom(char const* name, std::initializer_list<sat::literal> const& clause);
void equiv_axiom(char const* name, sat::literal a, sat::literal b);
void validate_propagate(sat::literal lit, sat::literal_vector const& core, euf::enode_pair_vector const& eqs);
void validate_conflict(sat::literal_vector const& core, euf::enode_pair_vector const& eqs);
void validate_axiom(sat::literal_vector const& clause);
void explain_dep(dependency const& d, euf::enode_pair_vector& eqs, sat::literal_vector& lits);