3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-25 15:09:32 +00:00

generate more proper proof format

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
Nikolaj Bjorner 2025-09-30 07:42:27 -07:00
parent fdac93fff3
commit 018cb3c734
2 changed files with 9 additions and 8 deletions

View file

@ -547,13 +547,14 @@ namespace nla {
insert_monomials_from_constraint(ci);
auto &constraints = m_solver.lra().constraints();
unsigned initial_false_constraints = m_false_constraints.size();
for (unsigned it = 0; it < m_false_constraints.size(); ++it) {
if (it > 10 * initial_false_constraints)
break;
auto ci1 = m_false_constraints[it];
auto const &con = constraints[ci1];
auto [j, coeff] = find_max_lex_monomial(con.lhs());
lpvar j = find_max_lex_monomial(con.lhs());
if (j == lp::null_lpvar)
continue;
auto vars = m_mon2vars[j];
@ -987,13 +988,6 @@ namespace nla {
multiplication_justification just{old_ci, mi, j2};
// compute bounds constraints and sign of vars
lbool sign = add_bounds(vars, just.assumptions);
#if 1
// just skip vacuous lemmas?
if (l_undef == sign)
return lp::null_ci;
#endif
lp::lar_term new_lhs;
rational new_rhs(rhs);
for (auto const & cv : lhs) {
@ -1168,6 +1162,7 @@ namespace nla {
SASSERT(k < factors.size());
auto v = mk_term(factors[k].first);
bound_assumptions bounds{"factor = 0"};
bound_assumption b(v, lp::lconstraint_kind::EQ, rational(0));
bounds.bounds.push_back(b);