mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-03 21:09:11 +00:00 
			
		
		
		
	fix nightly regression from solve-eqs context solver addition
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
		
							parent
							
								
									2d0ff7d68a
								
							
						
					
					
						commit
						f99384c6a3
					
				
					 4 changed files with 7 additions and 3 deletions
				
			
		| 
						 | 
				
			
			@ -18,6 +18,7 @@ Revision History:
 | 
			
		|||
--*/
 | 
			
		||||
#include "math/grobner/grobner.h"
 | 
			
		||||
#include "ast/ast_pp.h"
 | 
			
		||||
#include "ast/ast_ll_pp.h"
 | 
			
		||||
#include "util/ref_util.h"
 | 
			
		||||
 | 
			
		||||
// #define PROFILE_GB
 | 
			
		||||
| 
						 | 
				
			
			@ -121,7 +122,7 @@ void grobner::reset() {
 | 
			
		|||
 | 
			
		||||
void grobner::display_var(std::ostream & out, expr * var) const {
 | 
			
		||||
    if (is_app(var) && to_app(var)->get_num_args() > 0)
 | 
			
		||||
        out << "#" << var->get_id();
 | 
			
		||||
        out << mk_bounded_pp(var, m_manager);
 | 
			
		||||
    else
 | 
			
		||||
        out << mk_pp(var, m_manager);
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1931,7 +1931,7 @@ namespace smt {
 | 
			
		|||
        derived_bound  b(null_theory_var, inf_numeral(0), B_LOWER);
 | 
			
		||||
        dependency2new_bound(d, b);
 | 
			
		||||
        set_conflict(b, ante, "arith_nl");
 | 
			
		||||
        TRACE("non_linear", for (literal lit : b.m_lits) tout << lit << " "; tout << "\n";); 
 | 
			
		||||
        TRACE("non_linear", for (literal lit : b.m_lits) get_context().display_literal_verbose(tout, lit) << "\n"; tout << "\n";); 
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -436,7 +436,7 @@ namespace smt {
 | 
			
		|||
        {
 | 
			
		||||
            context& ctx = th.get_context();
 | 
			
		||||
            m_arith_value.init(&ctx);
 | 
			
		||||
            m_max_set_enumeration = 100;
 | 
			
		||||
            m_max_set_enumeration = 4;
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        ~imp() {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -599,11 +599,14 @@ class solve_eqs_tactic : public tactic {
 | 
			
		|||
            hoist_rewriter_star rw(m());
 | 
			
		||||
            th_rewriter thrw(m());
 | 
			
		||||
            expr_ref tmp(m()), tmp2(m());
 | 
			
		||||
            TRACE("solve_eqs", g.display(tout););
 | 
			
		||||
            for (unsigned idx = 0; idx < size; idx++) {
 | 
			
		||||
                checkpoint();
 | 
			
		||||
                if (g.is_decided_unsat()) break;
 | 
			
		||||
                expr* f = g.form(idx);
 | 
			
		||||
                thrw(f, tmp);
 | 
			
		||||
                rw(tmp, tmp2);
 | 
			
		||||
                TRACE("solve_eqs", tout << mk_pp(f, m()) << " " << tmp2 << "\n";);
 | 
			
		||||
                g.update(idx, tmp2, g.pr(idx), g.dep(idx));
 | 
			
		||||
            }
 | 
			
		||||
            
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue