mirror of
				https://github.com/Z3Prover/z3
				synced 2025-10-31 11:42:28 +00:00 
			
		
		
		
	adding q proof hints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
This commit is contained in:
		
							parent
							
								
									661a1624b4
								
							
						
					
					
						commit
						35639c5ac0
					
				
					 8 changed files with 71 additions and 50 deletions
				
			
		|  | @ -103,14 +103,18 @@ namespace dt { | |||
|     */ | ||||
|     void solver::assert_eq_axiom(enode* n1, expr* e2, literal antecedent) { | ||||
|         expr* e1 = n1->get_expr(); | ||||
|         euf::th_proof_hint* ph = nullptr; | ||||
|         if (ctx.use_drat()) { | ||||
|             // todo
 | ||||
|         } | ||||
|         if (antecedent == sat::null_literal) | ||||
|             add_unit(eq_internalize(e1, e2)); | ||||
|             add_unit(eq_internalize(e1, e2), ph); | ||||
|         else if (s().value(antecedent) == l_true) { | ||||
|             euf::enode* n2 = e_internalize(e2); | ||||
|             ctx.propagate(n1, n2, euf::th_explain::propagate(*this, antecedent, n1, n2)); | ||||
|             ctx.propagate(n1, n2, euf::th_explain::propagate(*this, antecedent, n1, n2, ph)); | ||||
|         } | ||||
|         else | ||||
|             add_clause(~antecedent, eq_internalize(e1, e2)); | ||||
|             add_clause(~antecedent, eq_internalize(e1, e2), ph); | ||||
|     } | ||||
| 
 | ||||
|     /**
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue