3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-03-02 19:56:54 +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 remove stale experimental code #8063 2025-12-12 05:49:05 +00:00
dimacs.cpp deal with compiler warnings and include value exchange prior to final check. 2025-01-24 09:40:33 -08:00
dimacs.h inherit more exceptions from std::exception 2024-11-04 13:52:14 -08:00
sat_aig_finder.cpp Typo Fixes (#6803) 2023-07-09 11:56:10 -07:00
sat_aig_finder.h remove a hundred implicit constructors/destructors 2021-05-23 14:25:01 +01:00
sat_allocator.h booyah 2020-07-04 15:56:30 -07:00
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 remove a hundred implicit constructors/destructors 2021-05-23 14:25:01 +01:00
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 booyah 2020-07-04 15:56:30 -07:00
sat_asymm_branch_params.pyg bug fixes 2018-02-19 21:49:03 -08:00
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 bool_vector, some spacer tidy 2020-04-05 12:59:04 -07:00
sat_big.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
sat_big.h booyah 2020-07-04 15:56:30 -07:00
sat_clause.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
sat_clause.h remove unneeded iterator functions 2024-09-23 12:59:04 +01:00
sat_clause_set.cpp make include paths uniformly use path relative to src. #534 2017-07-31 13:24:11 -07:00
sat_clause_set.h booyah 2020-07-04 15:56:30 -07:00
sat_clause_use_list.cpp fixes to build warnings 2024-09-30 08:23:31 -07:00
sat_clause_use_list.h Centralize and document TRACE tags using X-macros (#7657) 2025-05-28 14:31:25 +01:00
sat_cleaner.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
sat_cleaner.h booyah 2020-07-04 15:56:30 -07:00
sat_config.cpp remove stale experimental code #8063 2025-12-12 05:49:05 +00:00
sat_config.h remove stale experimental code #8063 2025-12-12 05:49:05 +00:00
sat_ddfw_wrapper.cpp flip tabu on predicate being repaired, add model rotation code 2025-01-02 14:39:36 -08:00
sat_ddfw_wrapper.h Remove redundant overridden default destructors (#8191) 2026-01-14 18:41:26 +00:00
sat_drat.cpp Centralize and document TRACE tags using X-macros (#7657) 2025-05-28 14:31:25 +01:00
sat_drat.h Replace empty destructors with = default for compiler optimization (#8189) 2026-01-13 10:50:10 -08:00
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 booyah 2020-07-04 15:56:30 -07:00
sat_extension.h fix build 2023-12-02 19:52:59 -08:00
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 fixes to trim 2023-07-03 19:26:19 +02:00
sat_justification.h remove ternary clause optimization 2022-10-30 03:57:39 -07:00
sat_local_search.cpp Centralize and document TRACE tags using X-macros (#7657) 2025-05-28 14:31:25 +01:00
sat_local_search.h remove default destructors 2024-10-02 22:20:12 +01:00
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 remove default destructors 2024-10-02 22:20:12 +01:00
sat_mus.cpp replace some copies with moves 2026-02-09 22:45:28 +00:00
sat_mus.h remove default destructors & some default constructors 2024-09-04 22:30:23 +01:00
sat_npn3_finder.cpp No need to hash quaternaries for AND. 2020-03-01 04:10:25 -08:00
sat_npn3_finder.h remove a hundred implicit constructors/destructors 2021-05-23 14:25:01 +01:00
sat_parallel.cpp set clean shutdown for local search and re-enable local search when it parallelizes with PB solver 2024-06-30 16:06:51 -07:00
sat_parallel.h set clean shutdown for local search and re-enable local search when it parallelizes with PB solver 2024-06-30 16:06:51 -07:00
sat_prob.cpp create insert-fresh and insert for indexed_uint_set to make use cases with non-fresh inserts easier 2023-08-03 09:48:07 -07:00
sat_prob.h fix #6599 2023-02-18 14:18:02 -08:00
sat_probing.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
sat_probing.h optimizations to bv-solver and euf-egraph (#4698) 2020-09-20 06:47:27 -07:00
sat_proof_trim.cpp fix bug in trim code missing dependecy 2025-06-07 15:39:05 -07:00
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 expose extract roots as separate 2022-01-31 11:56:44 -08:00
sat_scc_params.pyg working on completing ATE/ALA for acce and abce 2018-01-29 20:32:06 -08:00
sat_simplifier.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
sat_simplifier.h fix #7532 2025-01-27 10:51:12 -08:00
sat_simplifier_params.pyg remove unused bdd based variable elimination 2025-04-14 16:07:41 -07:00
sat_solver.cpp remove a few copies 2026-02-10 09:52:03 +00:00
sat_solver.h remove stale experimental code #8063 2025-12-12 05:49:05 +00:00
sat_solver_core.h remove stale experimental code #8063 2025-12-12 05:49:05 +00:00
sat_types.h Standardize for-loop increments to prefix form (++i) (#8199) 2026-01-14 19:55:31 -08:00
sat_watched.cpp remove ternary clause optimization 2022-10-30 03:57:39 -07:00
sat_watched.h remove ternary clause optimization 2022-10-30 03:57:39 -07:00
sat_xor_finder.cpp replace some copies with moves 2026-02-09 22:45:28 +00:00
sat_xor_finder.h remove a hundred implicit constructors/destructors 2021-05-23 14:25:01 +01:00