Nikolaj Bjorner
7c8c6a4df0
fixup pattern inference
2026-07-14 21:01:15 -07:00
Nikolaj Bjorner
24bde17501
debug array models
2026-07-14 13:52:14 -07:00
Nikolaj Bjorner
f7afe8e025
tout -> out
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-07-12 16:41:05 -07:00
Nikolaj Bjorner
bcc176fc47
prepare ground for general projection
2026-07-12 15:59:56 -07:00
Nikolaj Bjorner
aa6dddbdf0
update pattern inference to allow patterns with variables outside of scope
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-07-08 19:48:10 -07:00
Nikolaj Bjorner
165f79a051
handle lambda equalities
2026-07-05 12:52:01 -07:00
davedets
6ac3075022
Remove unnecessary semicolons (Attempt 2) ( #10020 )
...
This is another PR towards the goal of getting Z3 to compile cleanly
when included via FetchContents into clang-tidy, which uses a pretty
strict set of warnings.
This is a second version of https://github.com/Z3Prover/z3/pull/9957 . I
address @NikolajBjorner 's comments about not changing the semicolons
after macro invocations, because some editors work better with them
present. It now, to the best of my ability, only deletes semis:
* after the closing brace of namespace decl.
* after the closing brace of an extern "C" decl.
* after a function definition.
This PR is very large, but it consists entirely of deletions of
semicolons in these situations.
(If there was a way to update the previous PR, which had been closed,
and that is preferable, please let me know. I couldn't figure it out.)
2026-07-02 12:47:29 -07:00
Nikolaj Bjorner
63259d8a43
add missing registration of lambdas with legacy array solver, add missing beta reduction axiom
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-06-29 19:13:46 -07:00
Nikolaj Bjorner
871b98169f
fix rewriting of complemnt of ranges
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2026-06-20 11:08:00 -07:00
Nikolaj Bjorner
eaf7562a1d
disable test in tptp, move to native lambdas
2026-06-02 10:38:51 -07:00
Nikolaj Bjorner
dbe986fdf7
move closure conversion to solver internalization
...
- only the internalizer performs closure conversion
- theory_array treats propagation of lambdas similar to stores
- ho_matcher treats top-level flex patterns as first-order
- pattern-inference fix to handle quantifiers (lambdas) in patterns that are computed
2026-05-30 18:41:37 -07:00
Nikolaj Bjorner
2cc4422018
use expr based access to enodes to allow for storing first-class lambas
2026-05-30 15:13:08 -07:00
Copilot
7747a17bb7
Refactor theory_array_base to use structured bindings for enode pairs ( #8405 )
...
* Initial plan
* Refactor theory_array_base to use structured bindings for enode pairs
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-27 20:03:18 -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
Nikolaj Bjorner
62b3668beb
remove set cardinality operators from array theory. Make final-check use priority levels
...
Issue #7502 shows that running nlsat eagerly during final check can block quantifier instantiation.
To give space for quantifier instances we introduce two levels for final check such that nlsat is only applied in the second and final level.
2025-11-26 15:35:19 -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
0e881e7abb
fix #7584
2025-03-15 13:33:08 -07:00
Nikolaj Bjorner
ab4b7c50ed
fix #6749
2023-06-07 16:09:50 -07:00
Nikolaj Bjorner
f3d6856736
remove msf example, add option to make model converter not reduce models
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-19 20:24:31 -08:00
Nikolaj Bjorner
fd5448d26b
fix #6340 - again
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-09-13 17:01:51 -07:00
Nikolaj Bjorner
9da6895276
add option to select with folding
2022-08-04 16:59:26 +03:00
Nikolaj Bjorner
774ce3d7ab
create special case for osx arm
...
shortcut when store/select are distinct
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-08-03 07:56:02 +03:00
Bruce Mitchener
5d0dea05aa
Remove empty leaf destructors. ( #6211 )
2022-07-30 10:07:03 +01:00
Nikolaj Bjorner
7f983e7d9e
fix #6174
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-20 21:22:41 -07:00
Nikolaj Bjorner
8efa3c8ade
introduce notion of beta redex to deal with lambdas in non-extensional positions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-10 17:35:01 -07:00
Nikolaj Bjorner
8e2f09b517
#5778 - ensure arrays used inside of extensionality function are treated as shared
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-25 17:17:59 +01:00
Nuno Lopes
43f7636826
remove some copies/moves
2022-03-09 12:46:41 +00:00
Nikolaj Bjorner
535f442655
#5518
...
regression from adding lambdas in model
2021-08-31 12:13:27 -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
026065ff71
streamline pb solver interface and naming after removal of xor
2021-02-28 12:32:04 -08:00
Nikolaj Bjorner
a152bb1e80
remove template Context dependency in every trail object
2021-02-08 15:41:57 -08:00
Nikolaj Bjorner
937b61fc88
fix build, refactor
2021-02-02 05:26:57 -08:00
Nikolaj Bjorner
3ae4c6e9de
refactor get_sort
2021-02-02 04:45:54 -08:00
Nikolaj Bjorner
cfa7c733db
fixing #4670 ( #4682 )
...
* fixing #4670
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* init
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* arrays
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* arrays
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* arrays
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-10 04:35:11 -07:00
Nikolaj Bjorner
d4e92d4aca
move theory_var_list into id_var_list and utilities from smt-enode into it, prepare for theory variables in egraph
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-01 04:26:31 -07:00
Nikolaj Bjorner
becf423c77
remove level of indirection for context and ast_manager in smt_theory ( #4253 )
...
* remove level of indirection for context and ast_manager in smt_theory
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add request by #4252
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* move to def
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* int
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-08 16:46:03 -07:00
Nikolaj Bjorner
e1d2480a8b
fix #3860 fix #3861
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-08 16:26:11 -07:00
Nikolaj Bjorner
759fb03daf
fix #3695
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-03 14:39:56 -07:00
Nikolaj Bjorner
f74079de01
fix #3529
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-30 11:00:02 -07:00
Nikolaj Bjorner
c142f99127
fix #3532
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-30 11:00:02 -07:00
Nikolaj Bjorner
153d0661fe
fix #3141
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-05 07:57:21 +01:00
Nikolaj Bjorner
953ea7c880
fix #3044
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-18 23:08:59 -08:00
Nuno Lopes
0b14f1b6f6
fix crash when propagating equalities over arrays with lambdas
2020-01-10 16:04:58 +00:00
Nikolaj Bjorner
566eacd424
change handling of weak array mode. Insert weak delay variables into a queue that gets consumed by the next propagation when the array_weak parameter is changed #2686
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-11-19 21:17:36 -08:00
Nikolaj Bjorner
3d1c40ce23
fixing #2448
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-08-02 15:06:34 -07:00
Nikolaj Bjorner
48fc3d752e
add clause proof module, small improvements to bapa
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-05-30 15:49:19 -07:00
Nikolaj Bjorner
4fcc4d07ae
fix #2277 fix #2221
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-05-14 19:05:40 +02:00
Nikolaj Bjorner
28ce701e17
fixing 2267
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-05-06 15:31:55 +02:00
Nikolaj Bjorner
502b29c424
add set-has-size to API and python bindings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-04-16 15:38:14 -07:00
Nikolaj Bjorner
1123b47fb7
bapa
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-04-13 16:15:38 -07:00