3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2026-02-19 15:04:42 +00:00
Commit graph

103 commits

Author SHA1 Message Date
Copilot
054a83e925 Adopt std::optional for try_get_value and try_get_size functions (#8268)
* Initial plan

* Convert try_get_value and try_get_size to use std::optional

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

* Add unit tests for std::optional conversions and fix compilation error

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

* Address code review comments - improve readability and reduce code duplication

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:50 -08:00
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
Nikolaj Bjorner
72c89e1a4e fix #7952 - make auto-selector detect large bit-vectors so it does't use the datalog engine for hopelessly large tables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-09-30 15:58:48 -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
551cc53a2f fix un-intialized variable warnings 2024-09-30 15:08:33 -07:00
Nikolaj Bjorner
6a2d60a6ba fix #6571
most solvers don't support background properties
2023-02-07 11:04:58 -08:00
Nikolaj Bjorner
84af521514 fixes #6439 #6436 2022-11-04 09:36:06 -07:00
Bruce Mitchener
5014b1a34d Use = default for virtual constructors. 2022-08-05 18:11:46 +03:00
Bruce Mitchener
5d0dea05aa
Remove empty leaf destructors. (#6211) 2022-07-30 10:07:03 +01: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
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
15a7621e27 remove template dependency for trail objects 2021-03-19 11:15:05 -07:00
Nikolaj Bjorner
a152bb1e80 remove template Context dependency in every trail object 2021-02-08 15:41:57 -08:00
Nikolaj Bjorner
3ae4c6e9de refactor get_sort 2021-02-02 04:45:54 -08:00
Nikolaj Bjorner
8521d2caaa check engine configuration for unsupported engines #4898
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-12-18 14:38:42 -08:00
Nikolaj Bjorner
f71204c222 fix #4879 2020-12-12 13:37:25 -08:00
Nuno Lopes
23e6adcad3 fix a couple hundred deref-after-free bugs due to .c_str() on a temporary string 2020-07-11 20:24:45 +01:00
Nikolaj Bjorner
743573aac5 fix #4447, or mask it
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 19:32:05 -07:00
Nikolaj Bjorner
af90992858 fix #4404
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-03 17:01:36 -07:00
Andrew V. Jones
a23ca1792b
Ensure that Z3 uses the correct SMT-LIB2 syntax for push and pop (#4495)
* When pretty-printing SMTLIB2, ensure that Z3 uses the correct syntax for 'push'

Signed-off-by: Andrew V. Jones <andrew.jones@vector.com>

* When pretty-printing SMTLIB2, ensure that Z3 uses the correct syntax for 'pop'

Signed-off-by: Andrew V. Jones <andrew.jones@vector.com>
2020-06-03 09:35:14 -07:00
Nikolaj Bjorner
a884201d62 remove using insert_if_not_there2
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-25 15:08:51 -07:00
Nikolaj Bjorner
d3db2af81d fix #3941
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-13 13:15:15 -07:00
Arie Gurfinkel
f821ee38e5 Fix #3907
Protect spacer from existential quantifiers in the tail.

Some transformations seem to introduce existentially quantified terms.
2020-04-11 11:21:13 -04:00
Nikolaj Bjorner
7595371721 fix #3834
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-08 04:56:15 -07:00
Nikolaj Bjorner
9c6722bea8 fix #3791
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 18:37:39 -07:00
Nikolaj Bjorner
d2ec661ec6 fix #3020
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 16:42:01 -07:00
Nikolaj Bjorner
6761bf1495 fix #3822
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 16:33:00 -07:00
Nikolaj Bjorner
bcbc774b79 fix #3790
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 15:18:26 -07:00
Nikolaj Bjorner
f810f25d8d fix #3004
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-17 19:37:47 -10:00
Nikolaj Bjorner
b71595f5b1 fix #3003
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-14 17:51:31 -10:00
Nikolaj Bjorner
1e0c1cefd6 add definitions for under-specified cases of arithmetic operators #2663 #2676 #2679
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-11-06 18:24:22 +01:00
Nikolaj Bjorner
e0a44894cf purge smt.timeout, use timeout instead to control solver timing #2354
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-06-21 16:56:24 +02:00
Nikolaj Bjorner
11a8ced769 fix #2353
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-06-21 10:47:56 +02:00
Nikolaj Bjorner
89e8a1392c na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-06-21 10:40:35 +02:00
Nikolaj Bjorner
7bfb730fee fix traffic jam
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-06-10 17:45:55 -07:00
Nikolaj Bjorner
5c67c9d907 print certificate for #2202, enable CTL-C for API fix #2203
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-03-24 17:09:02 -07:00
Bruce Mitchener
44bc00f13d Fix typos. 2018-12-23 21:58:57 -05:00
Arie Gurfinkel
5d1149adb2 Transformation to eliminate term-ite expressions from DL rules 2018-07-02 17:09:56 -04:00
Arie Gurfinkel
6d75c31468 First draft of elim_term_ite xform. Not working. 2018-07-02 17:09:56 -04:00
Nikolaj Bjorner
520ce9a5ee integrate lambda expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-26 07:23:04 -07:00
Arie Gurfinkel
9109968e55 Cleanup fixedpoint options
Replace pdr options with spacer
Repace fixedpoint module with fp
2018-06-14 16:08:52 -07:00
Nikolaj Bjorner
6adaed718f remove pdr
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:51 -07:00
Nikolaj Bjorner
4f5775c531 remove interpolation and duality dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-05-24 08:33:48 -07:00
Bruce Mitchener
2fa304d8de Remove int64, uint64 typedefs in favor of int64_t / uint64_t. 2018-03-31 14:45:04 +07:00
Nikolaj Bjorner
246941f2d3 fix #1522
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-07 14:26:38 -08:00
Bruce Mitchener
76eb7b9ede Use nullptr. 2018-02-12 14:05:55 +07:00
Bruce Mitchener
7167fda1dc Use override rather than virtual. 2018-02-10 09:56:33 +07:00
Bruce Mitchener
177414c0ee Use const refs to reduce copying.
These are things that have been found by `clang-tidy`.
2018-01-30 21:43:56 +07:00
Nikolaj Bjorner
f63439603d streamlining proof generation (initial step of removing ast-manager dependency). Detect error in model creation when declaring constant with non-zero arity. See #1223
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-23 21:16:46 -07:00
Nikolaj Bjorner
77bbae65f5 fix #1319, fix #1320
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-23 08:17:38 -07:00