mirror of
				https://github.com/Z3Prover/z3
				synced 2025-11-04 05:19:11 +00:00 
			
		
		
		
	
							parent
							
								
									044d6316ca
								
							
						
					
					
						commit
						1380a98a17
					
				
					 2 changed files with 12 additions and 6 deletions
				
			
		| 
						 | 
				
			
			@ -4456,10 +4456,7 @@ namespace smt {
 | 
			
		|||
    bool context::update_model(bool refinalize) {
 | 
			
		||||
        final_check_status fcs = FC_DONE;
 | 
			
		||||
        if (refinalize) {
 | 
			
		||||
            bool_var var;
 | 
			
		||||
            lbool phase = l_undef;
 | 
			
		||||
            m_case_split_queue->next_case_split(var, phase);
 | 
			
		||||
            if (var != null_bool_var) 
 | 
			
		||||
            if (has_case_splits())
 | 
			
		||||
                return false;
 | 
			
		||||
            fcs = final_check();
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			@ -4472,7 +4469,7 @@ namespace smt {
 | 
			
		|||
    }
 | 
			
		||||
 | 
			
		||||
    void context::mk_proto_model() {
 | 
			
		||||
        if (m_model || m_proto_model) return;
 | 
			
		||||
        if (m_model || m_proto_model || has_case_splits()) return;
 | 
			
		||||
        TRACE("get_model",
 | 
			
		||||
              display(tout);
 | 
			
		||||
              display_normalized_enodes(tout);
 | 
			
		||||
| 
						 | 
				
			
			@ -4505,9 +4502,16 @@ namespace smt {
 | 
			
		|||
        return m_unsat_proof;
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    bool context::has_case_splits() {
 | 
			
		||||
        bool_var var;
 | 
			
		||||
        lbool phase = l_undef;
 | 
			
		||||
        m_case_split_queue->next_case_split(var, phase);
 | 
			
		||||
        return (var != null_bool_var); 
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    void context::get_model(model_ref & m) {
 | 
			
		||||
        if (inconsistent())
 | 
			
		||||
            m = nullptr;
 | 
			
		||||
            m = nullptr;       
 | 
			
		||||
        else {
 | 
			
		||||
            mk_proto_model();
 | 
			
		||||
            if (!m_model && m_proto_model) {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1060,6 +1060,8 @@ namespace smt {
 | 
			
		|||
                m_asserted_formulas.inconsistent();
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        bool has_case_splits();
 | 
			
		||||
 | 
			
		||||
        unsigned get_num_conflicts() const {
 | 
			
		||||
            return m_num_conflicts;
 | 
			
		||||
        }
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue