3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-10-31 19:52:29 +00:00
Commit graph

22 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
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
fe1b4bf5ce disable ternary, fixes to propagation, make bv_rewrites for multiplier n-ary 2022-10-26 23:44:38 -07:00
Nikolaj Bjorner
1e21ea4645 fix cleanup bug exposed by reordering simplifcations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-06-23 01:25:50 +02: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
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
24dfdfe9bc disable fixes for #2128 and related as it breaks model evaluation time in regressions, set longer delay for inprocessing in sat solver, report stats
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-02-09 16:06:02 -08:00
Nikolaj Bjorner
f2e636c598 record simplified input clauses as lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-01-16 16:37:21 -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
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
efaab6d8fd have sat cleaner use a fixed-point
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-01-10 11:38:35 -08:00
Nikolaj Bjorner
a79400a01b fix bugs in scc_tr
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-25 14:55:42 -07:00
Nikolaj Bjorner
2739342aba fix updates to cce
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-01-30 23:41:04 -08:00
Nikolaj Bjorner
5a2b072ddf working on completing ATE/ALA for acce and abce
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-01-29 20:32:06 -08:00
Nikolaj Bjorner
829c140087 ensure that bca takes also lemmas into account
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-27 15:40:25 -07:00
Nikolaj Bjorner
651587ce01 merge with master branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-19 09:39:22 -07:00
Nikolaj Bjorner
b19f94ae5b make include paths uniformly use path relative to src. #534
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-31 13:24:11 -07:00
Nikolaj Bjorner
8b4f3ac6f0 fix drat checker
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-10 18:04:54 -05:00
Nikolaj Bjorner
61ade5e6cb tune cardinality solver for cache misses
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-02-06 20:57:08 -08:00
Nikolaj Bjorner
6a3f75822d fix format bug (issue 126) and smaller nits in sat solver (const annotation, disable elimination of external or already elimianted variables)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-10-04 18:35:18 -07:00
Leonardo de Moura
c66b9ab615 Reorganizing the code
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-20 15:30:42 -07:00
Renamed from lib/sat_cleaner.cpp (Browse further)