Copilot
8795bf06fb
theory_nseq: dispatch assign_eh on all seq predicate cases via m_axioms, add enqueue/dequeue_axiom with variant prop_item ( #9040 )
...
* dispatch assign_eh cases via m_axioms: add prefix/suffix/contains true axioms
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* fix build: remove stale snode_label_html declaration from seq_nielsen.h
Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>
* theory_nseq: add enqueue/dequeue_axiom + std::variant prop_item + relevant_eh
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-19 10:42:18 -07:00
CEisenhofer
149a087f65
Strengthened diseq axiom
2026-03-19 11:14:07 +01:00
Nikolaj Bjorner
a2352529f8
add diseq axiom
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-03-18 12:58:27 -07:00
Nikolaj Bjorner
ffd9207bc5
fix #8572
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-02-10 20:22:27 -08:00
Nikolaj Bjorner
ad2934f8cf
fix unsound len(substr) axiom
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-07-26 15:38:25 -07:00
Nikolaj Bjorner
8e1a528796
ensure atomic constraints are processed by arithmetic solver
2025-07-26 12:52:48 -07:00
Nikolaj Bjorner
0528c86905
fix #7745
...
axioms for len(substr(...)) escaped due to nested rewriting
2025-07-26 12:30:42 -07:00
LeeYoungJoon
0a93ff515d
Centralize and document TRACE tags using X-macros ( #7657 )
...
* Introduce X-macro-based trace tag definition
- Created trace_tags.def to centralize TRACE tag definitions
- Each tag includes a symbolic name and description
- Set up enum class TraceTag for type-safe usage in TRACE macros
* Add script to generate Markdown documentation from trace_tags.def
- Python script parses trace_tags.def and outputs trace_tags.md
* Refactor TRACE_NEW to prepend TraceTag and pass enum to is_trace_enabled
* trace: improve trace tag handling system with hierarchical tagging
- Introduce hierarchical tag-class structure: enabling a tag class activates all child tags
- Unify TRACE, STRACE, SCTRACE, and CTRACE under enum TraceTag
- Implement initial version of trace_tag.def using X(tag, tag_class, description)
(class names and descriptions to be refined in a future update)
* trace: replace all string-based TRACE tags with enum TraceTag
- Migrated all TRACE, STRACE, SCTRACE, and CTRACE macros to use enum TraceTag values instead of raw string literals
* trace : add cstring header
* trace : Add Markdown documentation generation from trace_tags.def via mk_api_doc.py
* trace : rename macro parameter 'class' to 'tag_class' and remove Unicode comment in trace_tags.h.
* trace : Add TODO comment for future implementation of tag_class activation
* trace : Disable code related to tag_class until implementation is ready (#7663 ).
2025-05-28 14:31:25 +01:00
Nikolaj Bjorner
63ea8efcfb
remove output
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-17 15:20:12 -07:00
Nikolaj Bjorner
51df7b75ce
fix 6800
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-17 15:18:22 -07:00
Nikolaj Bjorner
46d37b6e30
fix #6615
...
make rewriting exception safe (for cancelation).
The state during restart in smt_context is not exception safe.
2023-03-01 17:30:07 -08:00
Nikolaj Bjorner
755b517001
fix #6600
...
ensure that semantics of last-indexof(t,"") = len(t)
2023-02-19 14:02:37 -08:00
Nikolaj Bjorner
ac068888e7
add trichotomy for sequence comparison. #6586
2023-02-16 08:59:55 -08:00
Nikolaj Bjorner
c47ca341b7
fix #6343
...
The bug was that axiom generation was not enabled on last_index, so no axioms got created to constrain last-index.
With default settings the solver is now very slow on this example. It is related to that the smallest size of a satisfying assignment is above 24. Pending a good heuristic to find initial seeds and increments for iterative deepening, I am adding another parameter smt.seq.min_unfolding that when set to 30 helps for this example.
2022-09-14 10:17:25 -07:00
Nikolaj Bjorner
53611f47df
modify clauses used by not-contains
...
The literal "emp" can be true in the current assignment, in which case the clause
cnt or emp or ~postf is true and does not contribute to propagation.
This saves, potentially, for generating lemmas for postf.
Add a lemma a = "" or |s| >= idx when a = tail(s, idx)
The lemma ensures that length bounding on s is enforced
(the branch that expands not-contains for long sequences s is closed).
2022-09-11 05:48:17 -07:00
Nadav Rotem
9f9543ef69
Fix unused variable warnings. ( #5760 )
...
This commit fixes a few cases of unused variables in release builds.
The commit uses the (void)xxx; syntax which is used in other parts of
the code.
2022-01-08 18:18:30 -08:00
Nikolaj Bjorner
8e3185ffe3
remove dual solver approach
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-03 14:08:01 -08:00
Nikolaj Bjorner
9d3c8a6a2f
na
2022-01-01 17:59:31 -08:00
Nikolaj Bjorner
42219204ed
sketch replace_all
2022-01-01 17:39:37 -08:00
Nikolaj Bjorner
e45ae32685
unsound equality propagation #5676
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-08 09:02:05 -08:00
Nikolaj Bjorner
a5bd115235
replace_re axiom placeholder
...
@ahelwer - illustrates placeholder for one approach for axiomatizing replace_re
2021-12-08 03:40:24 -08:00
Nikolaj Bjorner
c083aa82ee
add debug information in user-propagate #5687
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-29 08:59:53 -08:00
Nikolaj Bjorner
52032b9ef8
#5467
2021-10-12 10:16:15 -07:00
Margus Veanes
146f4621c5
Updated regex derivative engine ( #5567 )
...
* updated derivative engine
* some edit
* further improvements in derivative code
* more deriv code edits and re::to_str update
* optimized mk_deriv_accept
* fixed PR comments
* small syntax fix
* updated some simplifications
* bugfix:forgot to_re before reverse
* fixed PR comments
* more PR comment fixes
* more PR comment fixes
* forgot to delete
* deleting unused definition
* fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-08 13:04:49 -07:00
Nikolaj Bjorner
2075cb9fa4
remove useless literal found during review #5470
2021-08-10 09:29:39 -07:00
Nikolaj Bjorner
4beb29d45e
fix #5469 documentation bug
2021-08-10 09:22:24 -07:00
Nikolaj Bjorner
ce1c8ee9e3
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-18 12:32:27 +02:00
Nikolaj Bjorner
f239aeb4d4
add consequences forcing character values to be digits
2021-07-18 12:30:56 +02:00
Nikolaj Bjorner
9e5dcf3ecb
bound length of ubv2s
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-16 16:17:59 +02:00
Nikolaj Bjorner
0e066fef1f
fix boundary cases reported by Clemens
2021-07-15 13:43:13 +02:00
Nikolaj Bjorner
82e477ac02
bounds
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-13 14:40:32 +02:00
Nikolaj Bjorner
0752b1385c
add length axioms
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-13 14:22:58 +02:00
Nikolaj Bjorner
34677e0e7c
fix update of bb
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-13 09:32:05 +02:00
Nikolaj Bjorner
f74adb1ebd
ubv2s step3
2021-07-12 17:15:08 +02:00
Nikolaj Bjorner
b6a3891ac4
str.from_ubv step2
2021-07-12 15:00:36 +02:00
Nikolaj Bjorner
20a67e47ca
remove symbol -> zstring -> symbol round-trips
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-05-22 13:12:49 -07:00
Nikolaj Bjorner
22a76e4985
fix typos in comments
2021-04-26 15:15:27 -07:00
Nikolaj Bjorner
4a6083836a
call it data instead of c_ptr for approaching C++11 std::vector convention.
2021-04-13 18:17:35 -07:00
Nikolaj Bjorner
d62f6c62b5
fix #5096 fix #5099
2021-03-15 09:43:34 -07:00
Nikolaj Bjorner
3c26a965e1
updated script, add comment to mk_eq_empty
2021-03-07 06:59:58 -08:00
Nikolaj Bjorner
e83f31949e
fix #5074 , add rewrite rules to simplify indexof special cases
2021-03-06 12:36:19 -08:00
Nikolaj Bjorner
377d060036
move to separate axiom management
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-02-23 18:09:45 -08:00
Nikolaj Bjorner
d9fb40602e
use theory agnostic axioms in more cases
2021-02-21 18:36:53 -08:00
Nuno Lopes
5e034e495f
fix compiler warnings
2021-02-19 10:33:41 +00:00
Nikolaj Bjorner
ca9fcbd1df
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-02-18 13:46:59 -08:00
Nikolaj Bjorner
9ae3339c33
fixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-02-18 12:33:17 -08:00
Nikolaj Bjorner
e63dc7efc2
more rewrite rules
2021-02-17 17:32:00 -08:00
Nikolaj Bjorner
4f9117a921
Move seq axioms to theory independent module
2021-02-16 05:13:52 -08:00