mirror of
https://github.com/Z3Prover/z3
synced 2025-10-08 00:41:56 +00:00
Weaken evaluation for new constraints in viable lemma
This commit is contained in:
parent
be20c0d54e
commit
21ea05b31c
3 changed files with 27 additions and 17 deletions
|
@ -51,19 +51,20 @@ namespace polysat {
|
|||
void insert(signed_constraint c);
|
||||
void insert(inequality const& i) { insert(i.as_signed_constraint()); }
|
||||
|
||||
/// Insert constraints into the clause.
|
||||
/// If they are not yet on the search stack, add them as evaluated to the given status.
|
||||
/// \pre Constraint must evaluate to true or false according to the given status in the current assignment.
|
||||
void insert_eval(sat::literal lit, bool status);
|
||||
void insert_eval(signed_constraint c, bool status);
|
||||
|
||||
/// Insert constraints into the clause.
|
||||
/// If they are not yet on the search stack, add them as evaluated to \b false.
|
||||
/// \pre Constraint must be \b false in the current assignment.
|
||||
void insert_eval(sat::literal lit) { insert_eval(lit, false); }
|
||||
void insert_eval(signed_constraint c) { insert_eval(c, false); }
|
||||
void insert_eval(sat::literal lit);
|
||||
void insert_eval(signed_constraint c);
|
||||
void insert_eval(inequality const& i) { insert_eval(i.as_signed_constraint()); }
|
||||
|
||||
/// Insert constraints into the clause.
|
||||
/// If possible, evaluate them as in insert_eval.
|
||||
/// Evaluation might not be possible if not all variables in the constraint are assigned.
|
||||
/// \pre Constraint must be \b non-true in the current assignment.
|
||||
void insert_try_eval(sat::literal lit);
|
||||
void insert_try_eval(signed_constraint lit);
|
||||
|
||||
using const_iterator = decltype(m_literals)::const_iterator;
|
||||
const_iterator begin() const { return m_literals.begin(); }
|
||||
const_iterator end() const { return m_literals.end(); }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue