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
nilsbecker
6ee3941523
more cleanup
2019-02-23 12:08:08 +01:00
nilsbecker
28c03ed1de
logging support for theory axioms
2019-02-21 19:29:35 +01:00
Nikolaj Bjorner
520ce9a5ee
integrate lambda expressions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-26 07:23:04 -07: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
Nikolaj Bjorner
637a0fa139
unused warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-24 08:49:25 -07:00
Nikolaj Bjorner
c9f540b066
additional array functions exposed over API, ping #1223
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-19 11:08:48 -07:00
Nuno Lopes
9b54b4e784
fix vector<> to support non-POD types
...
adjust code to std::move and avoid unnecessary/illegal
2017-10-16 00:54:29 +01: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
Christoph M. Wintersteiger
a7d5bb7b36
Tabs
2017-05-31 12:18:00 +01:00
Nikolaj Bjorner
be9d5c7088
fix evaluator for array store expressions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-02 21:33:24 +00:00
Nikolaj Bjorner
fce286db91
Issue #354 . Fix unsoundness in Array theory based on missing propagation of selects over ite expressions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-10 17:11:12 -08:00