3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-08-17 00:32:16 +00:00
Commit graph

151 commits

Author SHA1 Message Date
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
81f10912ae remove unused bdd based variable elimination 2025-04-14 16:07:41 -07:00
Nikolaj Bjorner
d11e5c8ca6 address compiler warnings, and user question #6544 2023-01-19 19:02:43 -08:00
Nikolaj Bjorner
9fc4015c46 remove ternary clause optimization
Removing ternary clause optimization from sat_solver simplifies special case handling of ternary clauses throughout the sat solver and dependent solvers (pb_solver). Benchmarking on QF_BV suggests the ternary clause optimization does not have any effect. While removing ternary clause optimization two bugs in unit propagation were also uncovered: it missed propagations when the only a single undef literal remained in the non-watched literals and it did not update blocked literals in cases where it could in the watch list. These performance bugs were for general clauses, ternary clause propagation did not miss propagations (and don't use blocked literals), but fixing these issues for general clauses appear to have made ternary clause optimization irrelevant based on what was measured.
2022-10-30 03:57:39 -07:00
Nikolaj Bjorner
a409a4a677 enforce flat within QF_BV tactic, cap in-processing var-elim loops 2022-10-27 20:10:55 -07:00
Nikolaj Bjorner
fe1b4bf5ce disable ternary, fixes to propagation, make bv_rewrites for multiplier n-ary 2022-10-26 23:44:38 -07:00
Nikolaj Bjorner
c672c3a250 fix regression introduced in #6143 2022-10-25 09:39:11 -07:00
Nikolaj Bjorner
efa74fe6c6 fix #6180
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-21 12:20:36 -07:00
Nikolaj Bjorner
5c54d6564b fix #6143 2022-07-11 12:09:15 -07:00
Nuno Lopes
73a24ca0a9 remove '#include <iostream>' from headers and from unneeded places
It's harmful to have iostream everywhere as it injects functions in the compiled files
2022-06-17 14:10:19 +01:00
Nikolaj Bjorner
97115e5ebd #5778
add new clauses created during propagation to use-list
2022-04-02 00:14:59 -07:00
Nikolaj Bjorner
c7922d69ac #5778 2022-04-01 14:17:45 -07:00
Nikolaj Bjorner
d1d64bbe59 #5454 2021-08-11 04:55:20 -07:00
Nikolaj Bjorner
f333d78f01 #5445 2021-08-02 20:41:34 -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
b7ec4489a6
bv fixes and tuning (#4703)
* heap size information

* bv tuning

* fix #4701

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* throw on set-has-size #4700

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-21 19:54:53 -07:00
Nikolaj Bjorner
d02b0cde7a
running updates to bv_solver (#4674)
* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* dbg

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* bv

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* drat and fresh

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* move ackerman functionality

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* debugability

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* towards debugability

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* missing file

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove csp

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-07 20:35:32 -07:00
Nikolaj Bjorner
116390833b prepare for theory plugins
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-02 10:42:18 -07:00
Nikolaj Bjorner
4d41db3028 adding euf
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-31 14:36:16 -07:00
Nikolaj Bjorner
b889b110ee bool_vector, some spacer tidy
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 12:59:04 -07:00
Nikolaj Bjorner
90ca594835 remove unsound use of sat_big reduction 2019-12-20 22:01:18 -08:00
Nikolaj Bjorner
41ca956012 expose import model converter over Python, document it, add partial order axioms for lex, disable linear order axioms, prepare ground for re-adding clauses from reconstruction stack
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-07-18 13:45:13 -07:00
Nikolaj Bjorner
d17248821a include chronological backtracking, two-phase sat, xor inprocessing, probsat, ddfw
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-06-13 08:45:21 -07:00
Nikolaj Bjorner
4c799c144a fix gc to not remove ternary clauses that are on assignment trail. This addresses issue with drat proofs that don't pass drat-trim due to deletion during gc, but use in conflicts
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-02-22 11:14:20 +01:00
Nikolaj Bjorner
0aafa8b7ce optimize binary output
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-02-18 15:52:42 +01:00
Nikolaj Bjorner
93ee05648e add shortcuts for unit assertions, conflicts
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-02-11 10:56:36 -08:00
Nikolaj Bjorner
d2d42f9810 fix #2127 fix #2128
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-02-09 08:23:22 -08:00
Nikolaj Bjorner
ad81fee118 adding maxlex, throttle use of asymmetric literal addition
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-01-24 19:26:44 -08:00
Nikolaj Bjorner
e01a668da0 coordinate drat with clause removal
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-01-16 02:29:33 -08:00
Nikolaj Bjorner
65bd427e46 neatify statistics
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-01-14 16:48:48 -08:00
Nikolaj Bjorner
e623f1e9c9 restoring clause sizes after deletion
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-01-12 01:01:49 -08:00
Nikolaj Bjorner
0b8dbf2854 fixing drat proofs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-01-12 00:30:21 -08:00
Nikolaj Bjorner
836f156d54 fix drat for units learned from binary clause resolution
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-01-12 00:12:20 -08:00
Nikolaj Bjorner
b8d18c6c6d speed-up handling of cnf input to inc_sat_solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-01-11 20:52:19 -08:00
Nikolaj Bjorner
b12c1b1cba set a throttle on ala
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-01-10 13:38:45 -08:00
Nikolaj Bjorner
59b0b56b42 add checkpoints to blocked clause elimination to handle timeouts, #2080
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-01-10 12:08:38 -08:00
Florian Pigorsch
326bf401b9 Fix some spelling errors (mostly in comments). 2018-10-20 17:07:41 +02:00
Nikolaj Bjorner
c15eca66d6 fix #1685
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-18 20:53:33 -07:00
Nikolaj Bjorner
dfeb4b5235 updated sat state
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-17 16:45:12 -07:00
Nikolaj Bjorner
2aedaf315a fix removal bug, tune all-interval usage
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-09 16:32:38 +01:00
Nikolaj Bjorner
563f337997 testing memory defragmentation, prefetch, delay ate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-27 17:59:03 +02:00
Nikolaj Bjorner
d57bca8f8c fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-10 10:43:55 +08:00
Nikolaj Bjorner
00685ff04f Merge branch 'opt' of https://github.com/nikolajbjorner/z3 into opt 2018-04-08 15:46:41 -07:00
Nikolaj Bjorner
f2dfc0dc24 including all touched tautology literals each round
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-08 15:46:21 -07:00
Nikolaj Bjorner
21738d9750 fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-06 15:59:55 -07:00
Nikolaj Bjorner
a954ab7d8d flip literals in ATEs produced using RI
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-06 08:38:01 -07:00
Nikolaj Bjorner
528dc8a3f8 disable bdd variable elimination
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-31 17:05:22 -07:00
Nikolaj Bjorner
55eb11d91b fix bug in blocked clause elimination: it was ignoring unit literals
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-31 13:26:20 -07:00
Nikolaj Bjorner
aa2721517b model conversion and acce tracking
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-30 16:24:22 -07:00
Nikolaj Bjorner
4c1379e8c9 bug fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-19 21:49:03 -08:00