3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-23 00:37:36 +00:00
Commit graph

41 commits

Author SHA1 Message Date
Copilot
317dd92105 Standardize for-loop increments to prefix form (++i) (#8199)
* Initial plan

* Convert postfix to prefix increment in for loops

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

* Fix member variable increment conversion bug

Co-authored-by: NikolajBjorner <3085284+NikolajBjorner@users.noreply.github.com>

* Update API generator to produce prefix increments

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>
2026-02-18 20:57:29 -08: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
cd0d52acec using C++11 features to simplify for-loops 2022-11-23 11:37:23 +07:00
Nikolaj Bjorner
79b4357442 #6363 2022-09-23 14:32:01 -05:00
Nikolaj Bjorner
3d9512b93c fix #6363 2022-09-23 14:32:01 -05:00
Nikolaj Bjorner
07c26208fa regressions from previous push 2021-08-25 18:30:50 -07:00
Nikolaj Bjorner
e6264a80ff extend macro detection to negated equivalences #5496 2021-08-25 17:47:30 -07:00
Nikolaj Bjorner
cde3eac7be #5323 2021-07-18 13:45:21 +02: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
3ae4c6e9de refactor get_sort 2021-02-02 04:45:54 -08:00
Christoph M. Wintersteiger
6b12da0b45
Fix quasi-macro detection 2020-03-04 18:07:30 +00:00
Christoph M. Wintersteiger
19ed465696
Fix quasi-macro variable checks. Fixes #3029. 2020-03-04 16:40:36 +00:00
Nikolaj Bjorner
234b53b831 fix #3028
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-17 00:20:01 -10:00
Nikolaj Bjorner
001ddef058 fix #2749
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-11-29 10:18:55 -08:00
Nikolaj Bjorner
520ce9a5ee integrate lambda expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-26 07:23:04 -07:00
Nikolaj Bjorner
ff0f257102 remove iff
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:48 -07:00
Bruce Mitchener
76eb7b9ede Use nullptr. 2018-02-12 14:05:55 +07:00
Nikolaj Bjorner
6969e6024b merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-29 17:42:48 -07:00
Nikolaj Bjorner
cf87b6d622 remove simplifier files
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-29 09:22:27 -07:00
Christoph M. Wintersteiger
799fb4a0d1 Revert "Eliminated the dependency of the macro-finder on the simplifier."
This reverts commit 8310b24c52.
2017-08-24 21:26:09 +01:00
Christoph M. Wintersteiger
8310b24c52 Eliminated the dependency of the macro-finder on the simplifier. 2017-08-24 20:34:11 +01:00
Nikolaj Bjorner
f7ca7409ce fix regressions introduced when modifying macro_util
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-22 17:05:40 -07:00
Nikolaj Bjorner
e2b46257d6 reducing dependencies on simplifier
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-22 15:09:34 -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
3a9857940e add missing axioms for str.at. Issue #953
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-25 19:31:01 +01:00
Christoph M. Wintersteiger
6d34899c46 Bugfix for macro finder. Fixes #832. 2017-01-17 15:44:03 +00:00
Nikolaj Bjorner
dc543a7ee7 update macro_util logging to uniform format
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-01-15 21:13:22 -08:00
Nikolaj Bjorner
0765eea486 add suggestions from #835
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-11 05:45:40 +01:00
Nikolaj Bjorner
ef9230d8f8 detect quantifiers in model expressions to quiet down failing model validation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-07 06:56:36 -08:00
Christoph M. Wintersteiger
75cfd14e5a bugfix for macro finder 2016-11-07 14:14:45 +00:00
Christoph M. Wintersteiger
47e95f8676 Fixed binding substitution in macro_util 2016-08-20 17:56:52 -04:00
Christoph M. Wintersteiger
e8141aaa84 debug fixes 2016-08-12 19:52:59 +01:00
Nikolaj Bjorner
3a83788b97 remove unfinished ite-macro finder, tune ast GC to ensure nodes are roots only once
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-14 09:46:09 -07:00
Nikolaj Bjorner
3989d238c0 fix bugs exposed in #677. to_int(x) has the semantics that to_int(x) <= x, and to_int(x) is the largest integer satisfying this inequality. The encoding in purify_arith had it the other way x <= to_int(x) contrary to how to_int(x) is handled elsewhere. Another bug in theory_arith for mixed-integer linear case was also exposed. Fractional bounds on expressions of the form to_int(x), and more generally on integer rows were not rounded prior to internalization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-07-13 20:32:18 -07:00
Leonardo de Moura
f773f35517 Merge branch 'unstable' into contrib 2013-04-09 08:44:57 -07:00
Leonardo de Moura
bdc675b1df Fix bug reported at http://stackoverflow.com/questions/15226944/segmentation-fault-in-z3
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-03-05 09:04:03 -08:00
Leonardo de Moura
fbce816025 Merge branch 'unstable' into contrib 2012-12-22 14:36:30 -08:00
Leonardo de Moura
d92efeb0c5 Make ast_manager::get_family_id(symbol const &) side-effect free. The version with side-effects is now called ast_manager::mk_family_id
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-12-18 17:14:25 -08:00
Nuno Lopes
5af1e4bdf4 remove redudant is_well_sorted checks after var_subst
var_subst already checks for well sortedness of the resulting expression

Signed-off-by: Nuno Lopes <nuno.lopes@ist.utl.pt>
2012-11-22 15:03:11 +00:00
Leonardo de Moura
d8f627c6c8 Fixed warnings produced by gcc 4.6.3 when compiling in debug mode
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-30 23:43:00 -07:00
Leonardo de Moura
0a4446ae26 reorganizing the code
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-23 22:14:35 -07:00
Renamed from src/macros/macro_util.cpp (Browse further)