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

60 commits

Author SHA1 Message Date
Copilot
ebc0688470
Refactor mk_and/mk_or call sites to use vector overloads (#8286)
* Initial plan

* Refactor mk_and and mk_or call sites to use overloaded methods

Changed 130 call sites across 64 files to use vector overloads directly instead of manually passing .size() and .data()/.c_ptr()

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

* Revert mk_or changes for ptr_buffer/ptr_vector (no overload exists in ast_util.h)

* Fix compilation errors from mk_and/mk_or refactoring

Fixed type mismatches by:
- Removing m parameter for expr_ref_vector (ast_util.h has mk_and/mk_or(expr_ref_vector) overloads)
- Reverting changes for ref_buffer types (no overload exists in ast_util.h, only in ast.h for m.mk_and)
- Verified build succeeds and Z3 works correctly

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

* Fix test files to use correct mk_and/mk_or overloads

Changed test/doc.cpp and test/udoc_relation.cpp to use mk_and(expr_ref_vector) and mk_or(expr_ref_vector) without m parameter

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-01-22 13:21:22 -08:00
Copilot
2436943794
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-01-14 19:55:31 -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
99cbfa715c Add a sharp throttle to lia2card tactic to control overhead in default tactic mode
lia2card was added to qfuflia tactic based on a user scenario, but it overshot: lia2card is by default harmful. It is here tamed to only convert binary variables and throttle on nested ite terms
2025-02-02 13:58:51 -08:00
Nikolaj Bjorner
0ef26983fc release
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-31 17:31:37 -08:00
Nikolaj Bjorner
aea4490fb2 throttle overhead with lia2card 2025-01-31 12:36:59 -08:00
Nikolaj Bjorner
25b0b1430c move bound_manager to simplifiers, add bound manager to extract_eqs for solve-eqs #6532 2023-01-12 12:42:28 -08:00
Nikolaj Bjorner
1dca6402fb move model and proof converters to self-contained module 2022-11-03 05:23:01 -07:00
Nikolaj Bjorner
f3fc6a50f3 formatting 2022-01-31 11:57:42 -08:00
Nikolaj Bjorner
fc77345bec breaking change. Enforce append semantics everywhere for parameter updates #5744
Replace semantics doesn't work with assumptions made elsewhere in code.
The remedy is to apply append (override) semantics for parameter changes.
2021-12-30 19:11:14 -08:00
Nikolaj Bjorner
9f2b18cac5 add tactic name
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-07 13:37:57 -08: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
690bc51b7f fix #4927 2021-01-08 15:40:15 -08:00
Nikolaj Bjorner
426e4cc75c fix #3557
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-03 16:37:59 -07:00
Nikolaj Bjorner
1a995da0ae fix #3538, turn on proof checking assertions in goal.cpp for earlier coverage
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-29 10:55:47 -07:00
Nikolaj Bjorner
c613ab0ba0 fix #3286
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-14 11:42:26 -07:00
Nikolaj Bjorner
51e459d02b fix #3294
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-14 10:46:03 -07:00
Nikolaj Bjorner
000e485794 add array selects to basic ackerman reduction improves performance significantly for #2525 as it now uses the SAT solver core instead of SMT core
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-09-01 12:17:19 -07:00
Christoph M. Wintersteiger
77827498bd
Added checkpoints to lia2card tactic. 2019-07-03 14:32:27 +01:00
Nikolaj Bjorner
e0d8cefde4 remove cooperate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-06-12 20:15:46 -07:00
Nikolaj Bjorner
9cb1a0f094 fix #2253
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-04-27 14:24:53 -07:00
Bruce Mitchener
cdfc19a885 Use nullptr. 2018-10-02 09:11:19 +07:00
Nikolaj Bjorner
96d3b98a44 fix #1783, wronge clausification of negated pb inequalities. Signs were ignored
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-08-11 13:33:09 -07:00
Nikolaj Bjorner
c513f3ca09 merge with master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-25 14:57:01 -07:00
Bruce Mitchener
76eb7b9ede Use nullptr. 2018-02-12 14:05:55 +07:00
Nikolaj Bjorner
8fb7fb9f98 add missing caching of PB/cardinality constraints, increase limit for compiling cardinalities to circuits
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-11 19:27:00 -08:00
Bruce Mitchener
b7d1753843 Use override rather than virtual. 2018-02-09 21:19:27 +07:00
Nikolaj Bjorner
5e482def18 fix local search encoding bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-08 07:27:32 -08:00
Nikolaj Bjorner
bee4716a85 lia2card simplifications, move up before elim01 (which could be deprecated)
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-07 12:56:30 -08:00
Nikolaj Bjorner
43441d0fd5 add LP parser option to front-end and opt context
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-06 14:02:44 -08:00
Nikolaj Bjorner
20fe08d80c fix more bugs with compilation of pb equalities
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-04 09:51:45 -08:00
Nikolaj Bjorner
badb32f9ae neatify rewriting
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-03 16:33:14 -08:00
Nikolaj Bjorner
d07688d80b update lia2card to handle broader intervals
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-02-03 15:52:34 -08:00
Nikolaj Bjorner
2f218b0bdc remove also cores as arguments to tactics
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-19 12:18:50 -08:00
Nikolaj Bjorner
4bbece6616 re-organize proof and model converters to be associated with goals instead of external
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-18 16:33:54 -08:00
Nikolaj Bjorner
df6b1a707e remove proof_converter from tactic application, removing nlsat_tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-17 23:32:29 -08: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
d66db280a8 fix compiler warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-07-04 13:43:32 -07:00
Nikolaj Bjorner
d12efb6097 remove min/max, use qmax; disable cancellation during model evaluation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-19 13:10:43 -07:00
Nikolaj Bjorner
1aa3fdab8a remove min/max, use qmax; disable cancellation during model evaluation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-19 13:04:20 -07:00
Nikolaj Bjorner
2a051719d8 cleanup deprecated critical sections, fix cancellation for par_or_else tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-12 09:43:00 -08:00
Nikolaj Bjorner
baee4225a7 reworking cancellation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-11 16:21:24 -08:00
Nikolaj Bjorner
aa777bd5c6 Fix for #343. Optimizations introduced on 8-10-2015 were too agressive. Remove unreferened variable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-01 13:43:47 -08:00
Nikolaj Bjorner
9fa4bf2f8f Fix for #343. Optimizations introduced on 8-10-2015 were too agressive
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-01 13:41:57 -08:00
Nikolaj Bjorner
40eb7c9c84 fix 0-1 translation bug reported by Klaus Becker
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-08-10 16:21:02 +02:00
Nikolaj Bjorner
aa431bb67f ensure pb on lex > 1 constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-08-08 14:10:11 +02:00
Nikolaj Bjorner
8505ca843b recognize more pb patterns
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-08-08 13:39:39 +02:00
Nikolaj Bjorner
552bba2c8c decongest critical section in lia2card-tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-05-17 22:59:11 +01:00
Nikolaj Bjorner
061ac0f23e populate proofs in opt specific tactics
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-01-05 16:44:33 -08:00
Nikolaj Bjorner
af55088b78 debugging opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-03-17 10:34:32 -07:00