Nikolaj Bjorner
fcc7e02167
Update arith_rewriter.cpp
...
fix memory leak introduced by update to ensure determinism
2025-10-18 13:32:49 +02:00
Lev Nachmanson
641741f3a8
parameter eval order
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-10-07 10:30:58 -07:00
Lev Nachmanson
8af9a20e01
parameter eval order
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-10-07 10:26:40 -07:00
Lev Nachmanson
6a9520bdc2
parameter eval order
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-10-07 10:21:09 -07:00
Lev Nachmanson
8ccf4cd8f7
parameter eval order
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-10-07 10:19:24 -07:00
Lev Nachmanson
40b980079b
parameter eval order
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-10-07 10:14:02 -07:00
Lev Nachmanson
a41549eee6
parameter eval order
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-10-07 10:06:43 -07:00
Lev Nachmanson
2b3068d85f
parameter eval order
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-10-07 09:17:12 -07:00
Lev Nachmanson
3a2bbf4802
param eval order
2025-10-07 09:13:21 -07:00
Lev Nachmanson
6e52b9584c
param eval
2025-10-07 09:04:24 -07:00
Lev Nachmanson
93ff8c76db
parameter evaluation order
2025-10-07 08:53:49 -07:00
Lev Nachmanson
00f1e6af7e
parameter eval order
2025-10-07 08:40:24 -07:00
Lev Nachmanson
c154b9df90
param order evaluation
2025-10-07 08:34:56 -07:00
Lev Nachmanson
77c70bf812
param order
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-10-06 15:52:09 -07:00
Lev Nachmanson
63bb367a10
param order
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-10-06 15:52:09 -07:00
Lev Nachmanson
5a9663247b
fix the order of parameter evaluation
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-10-06 13:44:19 -07:00
Lev Nachmanson
5ae858f66b
fixing the order
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-10-06 13:44:19 -07:00
Lev Nachmanson
c43cb18e63
better rewriting
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-09-18 08:08:32 -07:00
Lev Nachmanson
37904b9e85
fix the parameter evaluation order
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-09-18 07:52:13 -07:00
Nikolaj Bjorner
3c897b450f
add rewrite rules for update-field under accessors and recognizers
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-14 06:14:42 -07:00
Nikolaj Bjorner
7005d04755
propagate mod over ite even if it hurts
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-02 18:39:29 -07:00
Nikolaj Bjorner
a382ddbd8a
add rewrite for mod over negation, refine axioms for grobner quotients
2025-09-02 18:26:22 -07:00
Nikolaj Bjorner
6df8b39718
Update seq_rewriter.cpp
2025-08-14 14:40:26 -07:00
Nikolaj Bjorner
fcd3a70c92
remove theory_str and classes that are only used by it
2025-08-07 21:05:12 -07:00
Nikolaj Bjorner
e3139d4e03
#7750
...
add pre-processing simplification
2025-07-27 13:38:36 -07: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
1f8b08108c
#7739 optimization
...
add simplification rule for at(x, offset) = ""
Introducing j just postpones some rewrites that prevent useful simplifications. Z3 already uses common sub-expressions.
The example highlights some opportunities for simplification, noteworthy at(..) = "".
The example is solved in both versions after adding this simplification.
2025-07-26 14:02:34 -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
Nikolaj Bjorner
93d5e3f28e
use mk_ite utility instead of custom local function
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-06-12 16:10:08 -07:00
Nikolaj Bjorner
a2ad90cba1
Update bit_blaster_tpl_def.h
2025-06-12 16:07:28 -07:00
Nikolaj Bjorner
a15e4ad1e3
#7673
...
perf fix
2025-06-12 15:16:28 -07:00
Nikolaj Bjorner
e2cf4d99fb
add better bit-blasting for rotation #7673
2025-06-06 12:30:00 +02: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
b502126ebc
fix #7634
2025-04-27 23:57:57 -07:00
Nikolaj Bjorner
e86a918ae7
turn on ite simplification by default
2025-03-26 11:30:08 -07:00
Nikolaj Bjorner
8368094618
fix indentation
2025-03-25 21:27:38 -07:00
Nikolaj Bjorner
4fd6ba442a
replace costly ite reduction by disjointnes check
2025-03-25 21:15:03 -07:00
Nikolaj Bjorner
392bc166a3
optimize bool rewriter
2025-03-25 14:07:52 -07:00
Nikolaj Bjorner
29712503a0
add option to rewrite ite value trees
2025-03-25 11:09:56 -07:00
Nikolaj Bjorner
99ec42c0d7
additional simplifications to seq
2025-03-19 08:57:31 -10:00
Nikolaj Bjorner
80f00f191a
fix #7572 and fix #7574
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-07 10:46:29 -08:00
Nikolaj Bjorner
3e5abef145
fix #7549
2025-02-18 21:38:06 -08:00
Nikolaj Bjorner
fb0eb029a8
use lifted bool
2025-01-21 09:13:38 -08:00
Clemens Eisenhofer
1553bae20c
Performance improvements for seq-sls ( #7519 )
...
* Improve length repair
* Fixed arguments
* Special case regex membership with constant string
* Trying hybrid eq-repair strategy
* Different heuristic
* Fixed stoi
2025-01-21 08:01:59 -08:00
Nikolaj Bjorner
648cf9602e
fix uninitialized variable warnings
2025-01-14 13:54:05 -08:00
Nikolaj Bjorner
b780b54574
optimization of sls-arith and fix build warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-12 09:49:48 -08:00
Nikolaj Bjorner
c6f58c8bf7
updates to some_string_in_re per code review comments
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-11 17:47:27 -08:00
Clemens Eisenhofer
c572fc2e4f
Regex membership ( #7506 )
...
* Make finding a word in the regex iterative
* Fixed gc problem
2025-01-11 17:41:37 -08:00
Nikolaj Bjorner
c1a62d346c
add missing return
2025-01-07 21:02:02 -08:00