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
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
copilot-swe-agent[bot]
477ae7c86c
Remove is_subsumed_by method from nielsen_node and its tests
...
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-04 20:59:00 +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
CEisenhofer
ee02c1c8f3
Changed specifications
2026-03-04 15:53:49 +01: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
Nikolaj Bjorner
a80652270d
Merge branch 'c3' into copilot/fix-reconcat-classification
2026-03-03 13:10:25 -08:00
Nikolaj Bjorner
bf8b860015
Merge pull request #8848 from Z3Prover/copilot/apply-zipt-code-improvements
...
ZIPT: fix loop nullable, drop bounds check, symmetric star merging
2026-03-03 13:08:38 -08: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]
c0ed79c93b
improve s_loop nullable extraction: clearer comments and sentinel values
...
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-03 05:40:16 +00:00
copilot-swe-agent[bot]
a0b359212e
Apply ZIPT improvements: fix loop nullable, drop bounds check, symmetric star merging
...
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-03 05:39:33 +00:00
copilot-swe-agent[bot]
69da8f02c2
fix re.concat classification and loop nullability in euf_sgraph.cpp
...
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-03 05:19:06 +00:00
copilot-swe-agent[bot]
361f57976b
Fix build: update seq_nielsen tests to use new sgraph(m, eg) constructor after c3 merge
...
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-03 01:46:26 +00:00
Nikolaj Bjorner
fedb610da1
Merge remote-tracking branch 'origin/c3' into copilot/port-nielsen-graph-generation
2026-03-02 16:56:55 -08: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
copilot-swe-agent[bot]
7c8f2d93bb
Change seq_plugin m_sg to sgraph& reference, enode_concat_hash takes sgraph& directly
...
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-03 00:07:53 +00:00
copilot-swe-agent[bot]
fbd3d445e2
Add clarifying comments for hash matrix overflow safety and cache validity
...
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-02 21:16:46 +00:00
copilot-swe-agent[bot]
cfea2db8bf
Update sgraph and seq_plugin: egraph ref, hash matrix, subst cache, sgraph pointer
...
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-02 21:14:34 +00:00
copilot-swe-agent[bot]
425d3aec25
Port Nielsen graph framework from ZIPT: constraint types, node/edge/graph structures with tests
...
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-02 21:00:40 +00:00
Nikolaj Bjorner
5ca200ba2c
Update ZIPT link in euf_sgraph.h documentation
2026-03-02 12:32:32 -08:00
copilot-swe-agent[bot]
1274a1e3c0
Add safety cap on minterm computation and assertion for invariant
...
Co-authored-by: NikolajBjorner <56730610+NikolajBjorner@users.noreply.github.com>
2026-03-02 19:29:41 +00:00
copilot-swe-agent[bot]
150f1fe2ea
Revert is_concat changes, add ZIPT URL, implement snode/sgraph operations and tests
...
- Revert is_str_concat/is_re_concat to original form (PR #8820 review)
- Add ZIPT URL (https://github.com/CEisenhofer/ZIPT ) to euf_sgraph.h
- Add snode::at() for token indexing and collect_tokens() for enumeration
- Add sgraph factory methods: mk_var, mk_char, mk_empty, mk_concat
- Add sgraph drop operations: drop_first, drop_last, drop_left, drop_right
- Add sgraph substitution: subst(snode*, snode*, snode*)
- Add Brzozowski derivative via seq_rewriter::mk_derivative
- Add minterm computation from regex predicates
- Add 7 new unit tests covering all new operations with complex concats
Co-authored-by: NikolajBjorner <56730610+NikolajBjorner@users.noreply.github.com>
2026-03-02 19:28:32 +00:00