3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-08-16 18:55:46 +00:00
z3/src/sat
Lev Nachmanson 93ac330864 Fix assertion violation in q_mbi diagnostic output
The IF_VERBOSE(0,...) block at line 498 in q_mbi.cpp used operator[]
on values2root map which asserts the key exists. When the model
evaluation of the inverted term produces a value not present in the
EUF values2root map, this crashes.

Use find() instead to handle the missing key gracefully, since this
is diagnostic output and the missing key is expected when the model
inversion produces inconsistent results.

Fixes assertion violation from #7027 (obj_hashtable.h line 168/174)
with forall/array/eq2ineq combination.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-28 11:15:28 -10:00
..
sat_solver Refactor mk_and/mk_or call sites to use vector overloads (#8286) 2026-01-22 13:21:22 -08:00
smt Fix assertion violation in q_mbi diagnostic output 2026-02-28 11:15:28 -10:00
tactic Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
CMakeLists.txt
dimacs.cpp
dimacs.h
sat_aig_finder.cpp
sat_aig_finder.h
sat_allocator.h
sat_anf_simplifier.cpp Refactor sat_anf_simplifier to use C++17 structured bindings (#8358) 2026-01-27 09:59:26 -08:00
sat_anf_simplifier.h
sat_asymm_branch.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
sat_asymm_branch.h
sat_asymm_branch_params.pyg
sat_bcd.cpp Eliminate unnecessary copy operations in function parameters and range-based loops (#8589) 2026-02-11 21:14:32 +00:00
sat_bcd.h
sat_big.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
sat_big.h
sat_clause.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
sat_clause.h
sat_clause_set.cpp
sat_clause_set.h
sat_clause_use_list.cpp
sat_clause_use_list.h
sat_cleaner.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
sat_cleaner.h
sat_config.cpp
sat_config.h
sat_ddfw_wrapper.cpp
sat_ddfw_wrapper.h Remove redundant overridden default destructors (#8191) 2026-01-14 18:41:26 +00:00
sat_drat.cpp
sat_drat.h
sat_elim_eqs.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
sat_elim_eqs.h
sat_extension.h
sat_gc.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
sat_integrity_checker.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
sat_integrity_checker.h
sat_justification.h
sat_local_search.cpp
sat_local_search.h
sat_lookahead.cpp Fix 13 compiler warnings: sign-comparison and unused parameters (#8215) 2026-01-16 16:00:42 -08:00
sat_lookahead.h Remove redundant default constructors when they're the only constructor (#8461) 2026-02-01 16:51:26 -08:00
sat_model_converter.cpp Refactor sat_model_converter to use C++17 structured bindings (#8440) 2026-01-31 17:13:07 -08:00
sat_model_converter.h
sat_mus.cpp replace some copies with moves 2026-02-09 22:45:28 +00:00
sat_mus.h
sat_npn3_finder.cpp
sat_npn3_finder.h
sat_parallel.cpp
sat_parallel.h
sat_prob.cpp
sat_prob.h
sat_probing.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
sat_probing.h
sat_proof_trim.cpp
sat_proof_trim.h Migrate codebase to std::string_view (except z3++.h) (#8266) 2026-01-21 09:30:41 -08:00
sat_scc.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
sat_scc.h
sat_scc_params.pyg
sat_simplifier.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
sat_simplifier.h
sat_simplifier_params.pyg
sat_solver.cpp remove a few copies 2026-02-10 09:52:03 +00:00
sat_solver.h
sat_solver_core.h
sat_types.h Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
sat_watched.cpp
sat_watched.h
sat_xor_finder.cpp replace some copies with moves 2026-02-09 22:45:28 +00:00
sat_xor_finder.h