mirror of
https://github.com/Z3Prover/z3
synced 2025-08-25 04:26:00 +00:00
na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
parent
8c2735e68b
commit
934564882c
4 changed files with 46 additions and 12 deletions
|
@ -205,7 +205,8 @@ namespace polysat {
|
|||
void report_unsat();
|
||||
void learn_lemma(clause& lemma);
|
||||
void backjump(unsigned new_level);
|
||||
void add_lemma(clause& lemma);
|
||||
void add_clause(clause& lemma);
|
||||
void add_clause(signed_constraint c1, signed_constraint c2, bool is_redundant);
|
||||
|
||||
|
||||
signed_constraint lit2cnstr(sat::literal lit) const { return m_constraints.lookup(lit); }
|
||||
|
@ -236,11 +237,9 @@ namespace polysat {
|
|||
* Returns l_undef if the search cannot proceed.
|
||||
* Possible reasons:
|
||||
* - Resource limits are exhausted.
|
||||
* - A disjunctive lemma should be learned. The disjunction needs to be handled externally.
|
||||
*/
|
||||
lbool check_sat();
|
||||
|
||||
|
||||
/**
|
||||
* retrieve unsat core dependencies
|
||||
*/
|
||||
|
@ -256,6 +255,18 @@ namespace polysat {
|
|||
*/
|
||||
pdd var(pvar v) { return m_vars[v]; }
|
||||
|
||||
/**
|
||||
* Create terms for unsigned quot-rem
|
||||
*
|
||||
* Return tuple (quot, rem)
|
||||
*
|
||||
* The following properties are enforced:
|
||||
* b*quot + rem = a
|
||||
* ~ovfl(b*quot)
|
||||
* rem < b or b = 0
|
||||
*/
|
||||
std::tuple<pdd, pdd> quot_rem(pdd const& a, pdd const& b);
|
||||
|
||||
/**
|
||||
* Create polynomial constant.
|
||||
*/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue