mirror of
https://github.com/Z3Prover/z3
synced 2025-04-15 13:28:47 +00:00
parent
102eee77dc
commit
bb81bc5452
|
@ -62,7 +62,7 @@ namespace arith {
|
||||||
// first compute assignment to terms
|
// first compute assignment to terms
|
||||||
// then update non-basic variables in tableau.
|
// then update non-basic variables in tableau.
|
||||||
for (auto const& [t, v] : m_terms) {
|
for (auto const& [t, v] : m_terms) {
|
||||||
int64_t val;
|
int64_t val = 0;
|
||||||
lp::lar_term const& term = s.lp().get_term(t);
|
lp::lar_term const& term = s.lp().get_term(t);
|
||||||
for (lp::lar_term::ival arg : term) {
|
for (lp::lar_term::ival arg : term) {
|
||||||
auto t2 = s.lp().column2tv(arg.column());
|
auto t2 = s.lp().column2tv(arg.column());
|
||||||
|
|
|
@ -1596,8 +1596,12 @@ public:
|
||||||
|
|
||||||
final_check_status eval_power(expr* e) {
|
final_check_status eval_power(expr* e) {
|
||||||
expr* x, * y;
|
expr* x, * y;
|
||||||
|
rational r;
|
||||||
VERIFY(a.is_power(e, x, y));
|
VERIFY(a.is_power(e, x, y));
|
||||||
|
if (a.is_numeral(x, r) && r == 0 && a.is_numeral(y, r) && r == 0)
|
||||||
|
return FC_DONE;
|
||||||
|
if (!m_nla)
|
||||||
|
return FC_GIVEUP;
|
||||||
switch (m_nla->check_power(get_lpvar(e), get_lpvar(x), get_lpvar(y), m_nla_lemma_vector)) {
|
switch (m_nla->check_power(get_lpvar(e), get_lpvar(x), get_lpvar(y), m_nla_lemma_vector)) {
|
||||||
case l_true:
|
case l_true:
|
||||||
return FC_DONE;
|
return FC_DONE;
|
||||||
|
|
Loading…
Reference in a new issue