mirror of
https://github.com/Z3Prover/z3
synced 2025-04-15 13:28:47 +00:00
parent
485ca725de
commit
cb21f70cc3
|
@ -956,7 +956,7 @@ namespace smt {
|
||||||
|
|
||||||
public:
|
public:
|
||||||
void assign(literal l, const b_justification & j, bool decision = false) {
|
void assign(literal l, const b_justification & j, bool decision = false) {
|
||||||
SASSERT(l != false_literal);
|
// SASSERT(l != false_literal);
|
||||||
SASSERT(l != null_literal);
|
SASSERT(l != null_literal);
|
||||||
switch (get_assignment(l)) {
|
switch (get_assignment(l)) {
|
||||||
case l_false:
|
case l_false:
|
||||||
|
|
|
@ -667,11 +667,18 @@ namespace smt {
|
||||||
l = ctx.get_literal(bound);
|
l = ctx.get_literal(bound);
|
||||||
ctx.mark_as_relevant(l);
|
ctx.mark_as_relevant(l);
|
||||||
dump_lemmas(l, ante);
|
dump_lemmas(l, ante);
|
||||||
ctx.assign(l, ctx.mk_justification(
|
auto js = ctx.mk_justification(
|
||||||
gomory_cut_justification(
|
gomory_cut_justification(
|
||||||
get_id(), ctx.get_region(),
|
get_id(), ctx.get_region(),
|
||||||
ante.lits().size(), ante.lits().c_ptr(),
|
ante.lits().size(), ante.lits().c_ptr(),
|
||||||
ante.eqs().size(), ante.eqs().c_ptr(), ante, l)));
|
ante.eqs().size(), ante.eqs().c_ptr(), ante, l));
|
||||||
|
|
||||||
|
if (l == false_literal) {
|
||||||
|
ctx.mk_clause(0, nullptr, js, CLS_TH_LEMMA, nullptr);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
ctx.assign(l, js);
|
||||||
|
}
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue