3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-03-21 04:15:51 +00:00
Commit graph

4602 commits

Author SHA1 Message Date
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
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
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
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
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
2be1b175cc Updated benchmarking script 2026-03-05 18:42:31 +01:00
CEisenhofer
608227a27e Fixed definition extension rule 2026-03-05 18:33:58 +01:00
CEisenhofer
d8871e5c1e Eliminate common suffix for simplification 2026-03-05 18:19:58 +01:00
CEisenhofer
5a95b40bdb Canceling out common variables is a simplification step now 2026-03-05 18:17:04 +01:00
CEisenhofer
272000a466 Minor code changes 2026-03-05 18:04:51 +01:00
CEisenhofer
7dcebcdb0a A bit cleanup 2026-03-05 17:14:54 +01:00
CEisenhofer
c5e7cbc29d Fix to_dot 2026-03-05 16:58:58 +01:00
copilot-swe-agent[bot]
2eebe57467 Extract handle_empty_side helper in seq_nielsen to eliminate duplicate code
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-05 03:21:02 +00:00
CEisenhofer
5ce56e2e04 Ported graphviz debug output 2026-03-04 20:33:56 +01:00
CEisenhofer
b935394aaf Fixed nseq model construction 2026-03-04 19:15:50 +01:00
CEisenhofer
b2838b472d We don't need to handle negative membership constraints explicitly 2026-03-04 19:07:36 +01:00
CEisenhofer
4e7d83f996 Deleted leftover code from subsumption 2026-03-04 17:42:14 +01:00
CEisenhofer
e4787e57f6 Use correct parameters for iterative deepening
Updated spec
2026-03-04 17:37:04 +01:00
copilot-swe-agent[bot]
5003cece9d Implement Parameter integration for theory_nseq (smt.nseq.max_depth)
Co-authored-by: CEisenhofer <56730610+CEisenhofer@users.noreply.github.com>
2026-03-04 15:45:55 +00:00
Nikolaj Bjorner
5aa3713d19 first end-pass. Atomic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-03-04 02:05:26 -08:00
copilot-swe-agent[bot]
927b03615c Fix dangling pointer in fresh variable name construction in generate_extensions()
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-03 21:53:55 +00:00
copilot-swe-agent[bot]
0bdec633d7 Implement ZIPT string solver skeleton (theory_nseq)
Add theory_nseq, a Nielsen-graph-based string solver plugin for Z3.

## New files
- src/smt/nseq_state.h/.cpp: constraint store bridging SMT context to
  Nielsen graph with manual push/pop backtracking
- src/smt/nseq_regex.h/.cpp: regex membership handling via Brzozowski
  derivatives (stub delegates to sgraph::brzozowski_deriv)
- src/smt/nseq_model.h/.cpp: model generation stub
- src/smt/theory_nseq.h/.cpp: main theory class implementing smt::theory
  with its own private egraph/sgraph, returns FC_GIVEUP as skeleton
- src/test/nseq_basic.cpp: unit tests covering instantiation, parameter
  validation, trivial-equality SAT, and node simplification

## Extensions to seq_nielsen.h/.cpp
- Add search_result enum and solve() iterative-deepening DFS entry point
- Add search_dfs() recursive DFS driver
- Add simplify_node(), generate_extensions(), collect_conflict_deps()
- Add nielsen_node::simplify_and_init(): trivial removal, empty
  propagation, prefix matching, symbol clash detection
- Add nielsen_node::is_satisfied(), is_subsumed_by()
- Implement Det, Const Nielsen, and Eq-split modifiers in
  generate_extensions()

## Integration
- smt_params.cpp: accept 'nseq' as valid string_solver value
- smt_params_helper.pyg: document 'nseq' option
- smt_setup.h/.cpp: add setup_nseq(), wire into setup_QF_S() and
  setup_seq_str()
- smt/CMakeLists.txt: add new sources and smt_seq dependency

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-03-03 21:50:21 +00:00
copilot-swe-agent[bot]
dd1363f031 Add ZIPT port comparison summary to seq_nielsen.h
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-03 16:34:32 +00:00
copilot-swe-agent[bot]
7c328647de Move seq_nielsen from src/ast/rewriter to src/smt/seq with new smt_seq component
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-03 00:17:10 +00:00
Lev Nachmanson
6ec40153cc fix #7677: treat FC_CONTINUE from check_nla as FEASIBLE in maximize
When check_nla returns FC_CONTINUE it means NLA found constraint
violations and added lemmas. The current LP value is a valid lower
bound, so the status should be FEASIBLE, not UNBOUNDED.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-02-27 12:29:14 -10:00
copilot-swe-agent[bot]
4860d57ae9 Fix intblast ubv_to_int bug: add bv2int axioms for compound expressions
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-02-25 00:46:13 +00:00
copilot-swe-agent[bot]
46daa160ed Fix FPA soundness issue: reset rewriter cache in pop_scope_eh (issue #8345)
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-02-21 03:35:47 +00:00
Nikolaj Bjorner
38ce0882db remove lattice component
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-02-19 15:49:45 -08:00
copilot-swe-agent[bot]
866f352ea9 Fix ambiguous svector constructor calls in theory_finite_set_lattice_refutation.cpp
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-02-19 17:57:04 +00:00
Nikolaj Bjorner
86dc55691d add extra parameter
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-02-18 21:34:29 -08:00
Nikolaj Bjorner
7fe9b1f873
Merge branch 'master' into finite-sets 2026-02-18 21:11:44 -08:00
Nikolaj Bjorner
07d8971ef9 add sketch for incremental algorithm
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-02-18 21:10:17 -08:00
Nikolaj Bjorner
69b73c64cf enable post setup parameter tweaking in theory solvers, update azure-pipeline
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-02-18 21:08:24 -08:00
Nikolaj Bjorner
c32b213a20 add finite sets to datatype recursion, delay initialize finite_set plugin, fix bugs in are_distinct and equality simplification
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-02-18 21:07:40 -08:00
Nikolaj Bjorner
534361dee4 fix #8563 - align indices for flat quantifiers with sks vector layout, and also guard creating instantiation equalities with sort checks
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-02-18 21:02:29 -08:00
copilot-swe-agent[bot]
eedade141c Restore defensive SASSERT in smt_conflict_resolution
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-02-18 21:02:26 -08:00
copilot-swe-agent[bot]
d958036711 Add initializer_list overloads and update all call sites
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-02-18 21:02:26 -08:00
Copilot
d9c6da215f Eliminate unnecessary copies with std::move for ref-counted types (#8591) 2026-02-18 21:02:24 -08:00
Nikolaj Bjorner
c031058978 small update to testing on p.m_sls_worker instead of should_run_sls 2026-02-18 21:02:22 -08:00