copilot-swe-agent[bot]
7d78a19f1c
Convert dep_source to std::variant<dep_eq, dep_mem>
...
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-17 03:47:48 +00:00
Copilot
ef22ae8871
Replace dep_tracker uint_set with scoped_dependency_manager<dep_source> in seq_nielsen ( #9014 )
...
* Initial plan
* replace dep_tracker uint_set with scoped_dependency_manager<dep_source>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* fix test build: update dep_tracker usages in test files and seq_state.h
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-16 15:52:18 -07:00
CEisenhofer
84d371f2e9
Bugfix in regex overapproximation
2026-03-16 19:54:12 +01:00
CEisenhofer
16f693b09a
Regex intersection bug fixe
2026-03-16 16:30:20 +01:00
Nikolaj Bjorner
db8a2f4f9e
update print and cancelation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-03-15 20:43:49 -07:00
Nikolaj Bjorner
7dea14f732
move statistics
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-03-15 20:09:19 -07:00
Nikolaj Bjorner
d137f25b65
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-03-15 19:58:21 -07:00
Nikolaj Bjorner
d15aed0d04
code organization in theory_nseq
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-03-15 19:39:53 -07:00
Copilot
d53846d501
nseq: port ZIPT regex pre-check to fix benchmark discrepancy on regex-only problems ( #8994 )
...
* Initial plan
* Port ZIPT regex pre-check and DFS node budget to address nseq benchmark discrepancy
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-15 10:10:53 -07:00
Copilot
2212f59704
seq_model: address NSB review comments ( #8995 )
...
* Initial plan
* Address NSB review comments in seq_model.cpp
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Address code review feedback: improve null-sort handling in seq_model and some_seq_in_re
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
2026-03-14 21:55:32 -07:00
Copilot
5a3dbaf9f3
Move nseq_regex/state into smt/seq and seq_model into smt/; rename to seq_* prefix ( #8984 )
...
* Initial plan
* build verified: nseq_regex moved to smt/seq
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* rename nseq_regex/state/model to seq_regex/state/model in smt/seq; add Clemens Eisenhofer as co-author
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* seq_model: remove theory_nseq dependency; get family_id from seq_util
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Add comments for regex enhancements in seq_model
Added comments regarding future improvements for regex handling.
* Add comments for large exponent handling
Add comments for handling large exponents in seq_model.cpp
* Revise comments for clarity on sort usage
Updated comments to reflect review suggestions regarding the use of the sort of 'n'.
* seq_state: remove sgraph dep; seq_model: use snode sort for is_empty; remove NSB review comments
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* Update seq_state.h
* Remove unnecessary include for smt_context.h
* move seq_model from smt/seq/ to smt/; fix seq_state.h add_str_mem typo
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
---------
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-03-14 11:45:32 -07:00
Nikolaj Bjorner
df9df50a71
update generation of empty sequence to take sort argument, fix mk_concat substitution
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-03-13 10:03:52 -07:00
CEisenhofer
e384e8f3d4
Added right-to-left rules
2026-03-13 17:25:14 +01:00
CEisenhofer
1351efe9af
Unit cases
2026-03-12 11:13:18 +01: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
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
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
CEisenhofer
e1cf20f9bd
Added timeout
...
Some bugfixes
2026-03-09 14:21:06 +01:00
CEisenhofer
c5e7cbc29d
Fix to_dot
2026-03-05 16:58:58 +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
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]
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