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

mk_clause with name

This commit is contained in:
Jakob Rath 2023-03-11 10:32:19 +01:00
parent 47f3353af6
commit d075759659
2 changed files with 15 additions and 5 deletions

View file

@ -1347,16 +1347,24 @@ namespace polysat {
add_clause({ c1, c2, c3, c4 }, is_redundant);
}
clause_ref solver::mk_clause(char const* name, std::initializer_list<signed_constraint> cs, bool is_redundant) {
return mk_clause(name, static_cast<unsigned>(cs.size()), std::data(cs), is_redundant);
}
clause_ref solver::mk_clause(char const* name, unsigned n, signed_constraint const* cs, bool is_redundant) {
clause_builder cb(*this, name);
for (unsigned i = 0; i < n; ++i)
cb.insert(cs[i]);
cb.set_redundant(is_redundant);
return cb.build();
}
clause_ref solver::mk_clause(std::initializer_list<signed_constraint> cs, bool is_redundant) {
return mk_clause(static_cast<unsigned>(cs.size()), std::data(cs), is_redundant);
}
clause_ref solver::mk_clause(unsigned n, signed_constraint const* cs, bool is_redundant) {
clause_builder cb(*this);
for (unsigned i = 0; i < n; ++i)
cb.insert(cs[i]);
cb.set_redundant(is_redundant);
return cb.build();
return mk_clause("", n, cs, is_redundant);
}
clause_ref solver::mk_clause(signed_constraint c1, bool is_redundant) {

View file

@ -312,6 +312,8 @@ namespace polysat {
clause_ref mk_clause(signed_constraint c1, signed_constraint c2, signed_constraint c3, signed_constraint c4, signed_constraint c5, bool is_redundant);
clause_ref mk_clause(std::initializer_list<signed_constraint> cs, bool is_redundant);
clause_ref mk_clause(unsigned n, signed_constraint const* cs, bool is_redundant);
clause_ref mk_clause(char const* name, std::initializer_list<signed_constraint> cs, bool is_redundant);
clause_ref mk_clause(char const* name, unsigned n, signed_constraint const* cs, bool is_redundant);
// Evaluate constraint under the current assignment.
sat::literal try_eval(sat::literal lit);