mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-04 13:29:11 +00:00 
			
		
		
		
	
							parent
							
								
									2a1f05e7e8
								
							
						
					
					
						commit
						3dcfbb8347
					
				
					 2 changed files with 4 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -478,7 +478,7 @@ br_status arith_rewriter::mk_le_ge_eq_core(expr * arg1, expr * arg2, op_kind kin
 | 
			
		|||
            return BR_REWRITE_FULL;
 | 
			
		||||
        case EQ: 
 | 
			
		||||
            result = m().mk_ite(is_zero, m().mk_eq(div0, arg2), m().mk_eq(e1, mul2));
 | 
			
		||||
            return BR_REWRITE2;
 | 
			
		||||
            return BR_REWRITE_FULL;
 | 
			
		||||
        }        
 | 
			
		||||
    }
 | 
			
		||||
    if ((m_arith_lhs || m_arith_ineq_lhs) && is_numeral(arg2, a2) && is_neg_poly(arg1, new_arg1)) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -811,14 +811,12 @@ namespace smt {
 | 
			
		|||
    bool theory_arith<Ext>::is_monomial_linear(expr * m) const {
 | 
			
		||||
        SASSERT(is_pure_monomial(m));
 | 
			
		||||
        unsigned num_nl_vars = 0;
 | 
			
		||||
        for (unsigned i = 0; i < to_app(m)->get_num_args(); i++) {
 | 
			
		||||
            expr * arg = to_app(m)->get_arg(i);
 | 
			
		||||
        for (expr* arg : *to_app(m)) {
 | 
			
		||||
            theory_var _var = expr2var(arg);
 | 
			
		||||
            if (!is_fixed(_var)) {
 | 
			
		||||
                num_nl_vars++;
 | 
			
		||||
            }
 | 
			
		||||
            else {
 | 
			
		||||
                if (lower_bound(_var).is_zero())
 | 
			
		||||
            else if (lower_bound(_var).is_zero()) {
 | 
			
		||||
                return true;
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue