mirror of
				https://github.com/Z3Prover/z3
				synced 2025-10-31 11:42:28 +00:00 
			
		
		
		
	Fix bug reported at http://z3.codeplex.com/workitem/23
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
This commit is contained in:
		
							parent
							
								
									70192b66e9
								
							
						
					
					
						commit
						4922d62311
					
				
					 2 changed files with 17 additions and 5 deletions
				
			
		|  | @ -61,6 +61,8 @@ Version 4.3.2 | |||
| 
 | ||||
| - Fixed bugs in the C++ API (Thanks to Andrey Kupriyanov). | ||||
| 
 | ||||
| - Fixed bug reported at http://z3.codeplex.com/workitem/23 (Thanks to Paul Jackson). | ||||
| 
 | ||||
| Version 4.3.1 | ||||
| ============= | ||||
| 
 | ||||
|  |  | |||
|  | @ -111,19 +111,29 @@ void goal::push_back(expr * f, proof * pr, expr_dependency * d) { | |||
|     if (m().is_true(f)) | ||||
|         return; | ||||
|     if (m().is_false(f)) { | ||||
|         // Make sure pr and d are not deleted by the m().del(...) statements.
 | ||||
|         proof_ref saved_pr(m()); | ||||
|         expr_dependency_ref saved_d(m()); | ||||
|         saved_pr = pr; | ||||
|         saved_d  = d; | ||||
|         m().del(m_forms); | ||||
|         m().del(m_proofs); | ||||
|         m().del(m_dependencies); | ||||
|         m_inconsistent = true; | ||||
|         m().push_back(m_forms, m().mk_false()); | ||||
|         if (proofs_enabled()) | ||||
|             m().push_back(m_proofs, saved_pr); | ||||
|         if (unsat_core_enabled()) | ||||
|             m().push_back(m_dependencies, saved_d); | ||||
|     } | ||||
|     else { | ||||
|         SASSERT(!m_inconsistent); | ||||
|         m().push_back(m_forms, f); | ||||
|         if (proofs_enabled()) | ||||
|             m().push_back(m_proofs, pr); | ||||
|         if (unsat_core_enabled()) | ||||
|             m().push_back(m_dependencies, d); | ||||
|     } | ||||
|     m().push_back(m_forms, f); | ||||
|     if (proofs_enabled()) | ||||
|         m().push_back(m_proofs, pr); | ||||
|     if (unsat_core_enabled()) | ||||
|         m().push_back(m_dependencies, d); | ||||
| } | ||||
| 
 | ||||
| void goal::quick_process(bool save_first, expr * & f, expr_dependency * d) { | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue