3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-04-17 17:40:16 +00:00
Commit graph

18137 commits

Author SHA1 Message Date
copilot-swe-agent[bot]
4ac5315846 Fix review: min>=max guard, ceiling-div overflow, SASSERT, accessor methods, comments
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-11 05:15:20 +00:00
copilot-swe-agent[bot]
eca5fcc7bb Integrate nseq_parith into nielsen_graph; add k upper bound and check_parikh_conflict
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-11 05:10:30 +00:00
copilot-swe-agent[bot]
35ee8f917d Remove redundant zero-guards before u_gcd calls in concat/intersection cases
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-11 04:26:26 +00:00
copilot-swe-agent[bot]
4cdfceabc5 Use u_gcd from util/mpz.h instead of local gcd definition
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-11 04:24:16 +00:00
copilot-swe-agent[bot]
d267e452a2 Add Clemens Eisenhofer as co-author to nseq_parith.h and nseq_parikh.cpp
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-11 04:21:30 +00:00
Lev Nachmanson
274d64299e Address PR review: add ENSURE checks, fix duplicate test, fix comment
- Add ENSURE(result == Z3_L_TRUE) for each BNH optimization call and
  ENSURE(num_sat == 7) at the end so CI catches regressions.
- Remove test_bnh_optimize() from tst_api() to avoid duplicate
  execution under /a; keep standalone tst_bnh_opt() entry point.
- Fix Test 2 comment: it tests same-size backup, not backup-longer.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-10 16:58:24 -10:00
Lev Nachmanson
6d890fb026 Fix NLA optimization regression and relax restore_x
- Relax restore_x() to handle backup/current size mismatches: when
  backup is shorter (new columns added), call
  move_non_basic_columns_to_bounds() to find a feasible solution.
- Fix 100x performance regression in nonlinear optimization: save LP
  optimum before check_nla and return it as bound regardless of NLA
  result, so opt_solver::check_bound() can validate via full re-solve
  with accumulated NLA lemmas.
- Refactor theory_lra::maximize() into three helpers: max_with_lp(),
  max_with_nl(), and max_result().
- Add mk_gt(theory_var, impq const&) overload for building blockers
  from saved LP optimum values.
- Add BNH multi-objective optimization test (7/7 sat in <1s vs 1/7
  in 30s before fix).
- Add restore_x test for backup size mismatch handling.

Fixes #8890

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-10 16:38:08 -10:00
copilot-swe-agent[bot]
334df71b11 Add nseq_parith.h and nseq_parikh.cpp: Parikh filter for ZIPT string solver
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-11 00:05:26 +00:00
Nikolaj Bjorner
53d5d98341
Merge branch 'c3' into copilot/implement-int-bounds-var-bound-watcher 2026-03-10 16:33:25 -07:00
copilot-swe-agent[bot]
57ede4cdcd Address code review: clarify add_lower/upper_int_bound return semantics; fix test assertion
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-10 23:29:15 +00:00
copilot-swe-agent[bot]
47f9be0270 Implement IntBounds/VarBoundWatcher + Constraint.Shared; fix pre-existing build errors
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-10 23:26:55 +00:00
Nikolaj Bjorner
3a71f28c6c
Rename dummy_simple_solver to zipt_dummy_simple_solver 2026-03-10 15:49:24 -07:00
copilot-swe-agent[bot]
0efb7402e8 Fix build: add dummy_simple_solver to nseq_zipt.cpp fixture, fix assert_expr in seq_nielsen.cpp
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-10 22:47:49 +00:00
Nikolaj Bjorner
d2739d9816 use reference to solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-03-10 15:22:50 -07:00
Nikolaj Bjorner
c98ea6dc21 make simple solver a reference
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-03-10 15:10:51 -07:00
copilot-swe-agent[bot]
5744958e46 Replace lp_simple_solver in nielsen with context_solver using smt::kernel (seq_len)
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-10 21:39:29 +00:00
Nikolaj Bjorner
a8269c7d98
Merge pull request #8930 from Z3Prover/copilot/introduce-constraints-on-s
Use mod-based constraints for semi-linear regex length sets
2026-03-10 13:33:43 -07:00
copilot-swe-agent[bot]
334e6da60d Guard mod constraint: skip for period <= 1
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-10 20:14:53 +00:00
copilot-swe-agent[bot]
2bae0f02c4 Replace fresh-variable semi-linear constraint with mod-based approach
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-10 19:48:18 +00:00
copilot-swe-agent[bot]
472d9bde6c Fix unused variable build warnings in theory_finite_set, theory_finite_set_size, theory_nseq
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-10 18:52:40 +00:00
Nikolaj Bjorner
83c8743ea7
Merge pull request #8925 from Z3Prover/copilot/add-theory-seq-len-solver
Add theory_seq_len: partial sequence length axiomatization via semi-linear constraints
2026-03-10 11:36:33 -07:00
copilot-swe-agent[bot]
d4b99730b9 Fix build error: remove stale dep_tracker method definitions from seq_nielsen.cpp
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-10 18:30:33 +00:00
copilot-swe-agent[bot]
56e9e9df57 Add theory_seq_len: partial axiom instantiation for sequence length constraints
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-10 18:02:04 +00:00
Nikolaj Bjorner
2e636ec25d
Merge branch 'c3' into copilot/replace-lp-solver-with-abstract-solver 2026-03-10 10:35:44 -07:00
Nikolaj Bjorner
3f0e821207
Merge pull request #8923 from Z3Prover/copilot/host-char-range-and-set
Move char_range and char_set from seq_nielsen to zstring
2026-03-10 10:18:58 -07:00
Nikolaj Bjorner
c710e1fa14
Merge pull request #8922 from Z3Prover/copilot/replace-dep-tracker-with-uint-set
Replace dep_tracker with uint_set in seq_nielsen
2026-03-10 10:18:37 -07:00
copilot-swe-agent[bot]
40b33ab353 Address code review: simplify constructor, add UNREACHABLE()
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-10 17:10:36 +00:00
copilot-swe-agent[bot]
35addda546 Replace lp_solver in seq_nielsen with abstract simple_solver class
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-10 17:08:57 +00:00
copilot-swe-agent[bot]
5330bd20bc Replace dep_tracker class in seq_nielsen with uint_set
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-10 16:58:50 +00:00
copilot-swe-agent[bot]
430a43045a Move char_range and char_set from seq_nielsen to zstring
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-10 16:57:43 +00:00
copilot-swe-agent[bot]
2f8cc1536c Swap author order: Clemens Eisenhofer before Nikolaj Bjorner in file headers
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-10 16:27:26 +00:00
copilot-swe-agent[bot]
42eee12c2f Code simplifications in sls_euf_plugin.cpp and realclosure.cpp
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-10 16:17:24 +00:00
Lev Nachmanson
78fa6d5ee8 allow calling lp().restore_x() only in case the number of column in lp() remained the same: it might grow
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2026-03-09 10:51:31 -10:00
Nikolaj Bjorner
4b377ae713
Merge pull request #8898 from Z3Prover/copilot/address-actionable-issues-discussion
Fix actionable null pointer dereferences and uninitialized variables from static analysis
2026-03-09 10:45:47 -07:00
copilot-swe-agent[bot]
a6c94a1bfc Refactor sls_euf_plugin.cpp validate_model and add SASSERT in udoc_relation.cpp
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-09 16:57:59 +00:00
copilot-swe-agent[bot]
391febed3b Fix null pointer dereferences and uninitialized variables from discussion #8891
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-09 16:51:12 +00:00
copilot-swe-agent[bot]
7d19851c2f fix: fix memory leaks detected by ASan in test code
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-09 16:48:17 +00:00
copilot-swe-agent[bot]
47e9c37fbb Go: Add MkBVRotateLeft, MkBVRotateRight, MkRepeat to bitvec.go
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-09 16:20:13 +00:00
CEisenhofer
587eec4226 More bug fixing in the gpower introduction 2026-03-09 15:20:58 +01:00
CEisenhofer
32a09859e3 Fixing power introduction 2026-03-09 15:03:26 +01:00
CEisenhofer
e1cf20f9bd Added timeout
Some bugfixes
2026-03-09 14:21:06 +01:00
Lev Nachmanson
8a146a92ec fix: replace UNREACHABLE with VERIFY for non-COI constraint/monic violations in nra_solver
The NRA solver's check() uses cone-of-influence (COI) to select a subset
of constraints for nlsat. When nlsat returns l_true, the model is validated
against all constraints, but non-COI constraints can legitimately be
violated since nlsat only solved over the COI subset.

- Non-COI violations gracefully return l_undef (fallback to other strategies)
- COI violations still trigger an assertion (indicating a real nlsat bug)

Fixes #8883

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-06 08:54:34 -10:00
CEisenhofer
756673f104 Trying to port integer constraints 2026-03-06 14:01:21 +01:00
CEisenhofer
009c6de235 Ported symbolic characters 2026-03-06 11:28:06 +01:00
CEisenhofer
f404bef4ba Fixed CoPilot comment 2026-03-05 19:08:31 +01:00
Nikolaj Bjorner
7db00dad9d
Merge pull request #8872 from Z3Prover/copilot/simplify-dep-tracker-constructors
refactor(seq_nielsen): eliminate duplicate dep_tracker initialization via constructor delegation
2026-03-05 10:00:09 -08:00
copilot-swe-agent[bot]
822f19819c Remove unreachable return false in match_ubv2s1
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-05 17:59:50 +00:00
CEisenhofer
2562372142 The ZIPT tests 2026-03-05 18:59:26 +01:00
copilot-swe-agent[bot]
17894601ba refactor: use constructor delegation in dep_tracker to eliminate duplicate initialization
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-05 17:57:41 +00:00
CEisenhofer
c73291a3ba Some ZIPT test cases 2026-03-05 18:56:18 +01:00