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 |
|