3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-07-30 02:33:51 +00:00
z3/src/test
Arie 58ad1f0918
Fix scaled_min test failure from #9235 mod-factor-propagation (#9260)
The is_mod handler in theory_lra called ensure_nla(), which
unnecessarily created the NLA solver for pure linear problems, causing
the optimizer to return a finite value instead of -infinity.

Fix: check `m_nla` instead of calling `ensure_nla()`, matching the
pattern used by the is_idiv handler. The mod division is only registered
when NLA is already active due to nonlinear terms.

Update mod_factor tests to use QF_NIA logic and assert the mul term
before the mod term so that internalize_mul triggers ensure_nla() before
mod internalization.

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-10 12:52:42 -07:00
..
fuzzing
lp refactor try_bivar_hensel_lift and outline the algorithm 2026-03-24 06:25:29 -10:00
ackermannize.cpp Fix test_ackermannize_bv_model: skip crashing model converter test, keep 4 passing tests 2026-02-19 21:07:30 +00:00
algebraic.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
algebraic_numbers.cpp Add comprehensive test coverage for math/lp and math/polynomial modules (#7877) 2025-09-14 14:57:21 -07:00
api.cpp update count to 2 2026-04-09 16:39:51 -07:00
api_algebraic.cpp Add tests for ackermannization module and Z3_algebraic_eval 2026-02-19 18:18:19 +00:00
api_ast_map.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
api_bug.cpp
api_datalog.cpp fix bug in unit test 2025-09-20 00:44:49 -07:00
api_pb.cpp Daily Test Coverage Improver: Add comprehensive API pseudo-boolean constraint tests (#7898) 2025-09-17 20:45:43 -07:00
api_polynomial.cpp preserve the initial state of the solver with push/pop for multiple objectives (#8264) 2026-02-18 20:57:53 -08:00
api_special_relations.cpp Daily Test Coverage Improver: Add comprehensive API special relations tests (#7925) 2025-09-18 09:20:14 -07:00
arith_rewriter.cpp Fix #7507: simplify (>= product_of_consecutive_ints 0) to true 2026-02-27 06:37:07 -10:00
arith_simplifier_plugin.cpp move smt params to params directory, update release.yml 2025-06-09 10:47:22 -07:00
ast.cpp Centralize and document TRACE tags using X-macros (#7657) 2025-05-28 14:31:25 +01:00
bdd.cpp
bit_blaster.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
bit_vector.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
bits.cpp [WIP] Update code base to use std::span (#8269) 2026-02-18 20:57:51 -08:00
buffer.cpp
chashtable.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
check_assumptions.cpp move smt params to params directory, update release.yml 2025-06-09 10:47:22 -07:00
CMakeLists.txt Add mod-factor-propagation lemma to NLA divisions solver (#9235) 2026-04-05 17:34:11 -07:00
cnf_backbones.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
cube_clause.cpp
datalog_parser.cpp move smt params to params directory, update release.yml 2025-06-09 10:47:22 -07:00
ddnf.cpp disable tracing in test code 2025-06-08 08:08:10 -07:00
deep_api_bugs.cpp add bugs 2026-03-12 15:18:38 -07:00
diff_logic.cpp Centralize and document TRACE tags using X-macros (#7657) 2025-05-28 14:31:25 +01:00
distribution.cpp
dl_context.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
dl_product_relation.cpp
dl_query.cpp Adopt std::optional for try_get_value and try_get_size functions (#8268) 2026-02-18 20:57:50 -08:00
dl_relation.cpp fix: fix memory leaks detected by ASan in test code 2026-03-09 16:48:17 +00:00
dl_table.cpp
dl_util.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
dlist.cpp
doc.cpp Refactor mk_and/mk_or call sites to use vector overloads (#8286) 2026-02-18 20:57:52 -08:00
egraph.cpp disable tracing in test code 2025-06-08 08:08:10 -07:00
escaped.cpp
euf_arith_plugin.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
euf_bv_plugin.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
ex.cpp
expr_rand.cpp
expr_substitution.cpp Add std::initializer_list overloads for BV and arith operations (#8467) 2026-02-18 20:58:02 -08:00
ext_numeral.cpp
f2n.cpp
factor_rewriter.cpp
finder.cpp
finite_set.cpp Fix finite_set sort cardinality computation for finite base sorts (#7997) 2025-10-23 17:30:17 +02:00
finite_set_rewriter.cpp fix test 2025-10-15 20:55:27 +02:00
fixed_bit_vector.cpp
for_each_file.cpp
for_each_file.h
fpa.cpp refactor: extract run_fp_test helper in fpa.cpp 2026-02-26 23:54:17 +00:00
get_consequences.cpp
get_implied_equalities.cpp
hashtable.cpp remove a few copies 2026-02-18 21:02:17 -08:00
heap.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
heap_trie.cpp
hilbert_basis.cpp Refactor mk_and/mk_or call sites to use vector overloads (#8286) 2026-02-18 20:57:52 -08:00
ho_matcher.cpp Refactor mk_and and mk_app to use std::span API (#8285) 2026-02-18 20:57:52 -08:00
horn_subsume_model_converter.cpp
horner.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
hwf.cpp
im_float_config.h
inf_rational.cpp Centralize and document TRACE tags using X-macros (#7657) 2025-05-28 14:31:25 +01:00
interval.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
karr.cpp
list.cpp Centralize and document TRACE tags using X-macros (#7657) 2025-05-28 14:31:25 +01:00
main.cpp Add mod-factor-propagation lemma to NLA divisions solver (#9235) 2026-04-05 17:34:11 -07:00
map.cpp
matcher.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
memory.cpp
mod_factor.cpp Fix scaled_min test failure from #9235 mod-factor-propagation (#9260) 2026-04-10 12:52:42 -07:00
model2expr.cpp
model_based_opt.cpp fix unit test 2025-02-17 20:36:38 -08:00
model_evaluator.cpp
model_retrieval.cpp move smt params to params directory, update release.yml 2025-06-09 10:47:22 -07:00
monomial_bounds.cpp Add comprehensive test coverage for math/lp and math/polynomial modules (#7877) 2025-09-14 14:57:21 -07:00
mpbq.cpp
mpf.cpp disable tracing in test code 2025-06-08 08:08:10 -07:00
mpff.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
mpfx.cpp
mpq.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
mpz.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
nla_intervals.cpp Add comprehensive test coverage for math/lp and math/polynomial modules (#7877) 2025-09-14 14:57:21 -07:00
nlarith_util.cpp
nlsat.cpp cleanup regarding levelwise 2026-02-19 09:31:30 -10:00
no_overflow.cpp Modernize C++ patterns: range-based for loops and nullptr (#8167) 2026-02-18 20:57:10 -08:00
object_allocator.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
old_interval.cpp
optional.cpp Adopt std::optional for try_get_value and try_get_size functions (#8268) 2026-02-18 20:57:50 -08:00
parametric_datatype.cpp trim parametric datatype test 2025-10-26 15:32:21 +01:00
parray.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
pb2bv.cpp move smt params to params directory, update release.yml 2025-06-09 10:47:22 -07:00
pdd.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
pdd_solver.cpp Refactor mk_and/mk_or call sites to use vector overloads (#8286) 2026-02-18 20:57:52 -08:00
permutation.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
polynomial.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
polynomial_factorization.cpp Implement multivariate polynomial factorization via Hensel lifting 2026-03-24 06:25:29 -10:00
polynorm.cpp Centralize and document TRACE tags using X-macros (#7657) 2025-05-28 14:31:25 +01:00
prime_generator.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
proof_checker.cpp Improve test validation for mk_transitivity 2026-02-18 21:02:26 -08:00
qe_arith.cpp Refactor mk_and and mk_app to use std::span API (#8285) 2026-02-18 20:57:52 -08:00
quant_elim.cpp move smt params to params directory, update release.yml 2025-06-09 10:47:22 -07:00
quant_solve.cpp Refactor mk_and/mk_or call sites to use vector overloads (#8286) 2026-02-18 20:57:52 -08:00
random.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
rational.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
rcf.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
region.cpp
sat_local_search.cpp Modernize C++ patterns: range-based for loops and nullptr (#8167) 2026-02-18 20:57:10 -08:00
sat_lookahead.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
sat_user_scope.cpp
scoped_timer.cpp
scoped_vector.cpp
simple_parser.cpp Centralize and document TRACE tags using X-macros (#7657) 2025-05-28 14:31:25 +01:00
simplex.cpp
simplifier.cpp fix: fix memory leaks detected by ASan in test code 2026-03-09 16:48:17 +00:00
sls_seq_plugin.cpp add unit test for incremental equation edit distance with repair 2024-12-15 05:53:28 -08:00
sls_test.cpp fix build of test 2026-02-18 21:02:18 -08:00
small_object_allocator.cpp Centralize and document TRACE tags using X-macros (#7657) 2025-05-28 14:31:25 +01:00
smt2print_parse.cpp
smt_context.cpp
solver_pool.cpp
sorting_network.cpp Refactor mk_and and mk_app to use std::span API (#8285) 2026-02-18 20:57:52 -08:00
stack.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
string_buffer.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
substitution.cpp move smt params to params directory, update release.yml 2025-06-09 10:47:22 -07:00
symbol.cpp
symbol_table.cpp
tbv.cpp
test_util.h
theory_dl.cpp
theory_pb.cpp disable tracing in test code 2025-06-08 08:08:10 -07:00
timeout.cpp
total_order.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
totalizer.cpp
trigo.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
udoc_relation.cpp Refactor mk_and/mk_or call sites to use vector overloads (#8286) 2026-02-18 20:57:52 -08:00
uint_set.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
upolynomial.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
value_generator.cpp
value_sweep.cpp
var_subst.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00
vector.cpp Add vector::resize tests including vector<rational> 2026-03-11 23:54:01 +00:00
zstring.cpp Standardize for-loop increments to prefix form (++i) (#8199) 2026-02-18 20:57:29 -08:00