Nikolaj Bjorner
e4cdbe0035
fixes to finite domain arrays
...
- relevancy could be off and array solver doesn't compensate, #7544
- enforce equalities across store for small domain axioms #8065
2025-12-26 12:04:57 -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
Nikolaj Bjorner
81211254eb
strengthen filter for unknown by checking relevancy of parents #8022
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-11-15 17:14:00 -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
Nuno Lopes
97c70ba501
remove some uneeded constructors
2024-12-22 15:06:58 +00:00
Nuno Lopes
dda0c8ff42
array theory: use expr_ref for mk_default() so it doesnt leak if internalize throws
...
like on timeout/memout
2023-08-20 22:28:57 +01:00
Nikolaj Bjorner
50bd6efea4
fix #6624
2023-03-22 14:00:09 +01:00
Nikolaj Bjorner
0758c93086
fix #6591
...
- add check for lambdas similar to as-array in context of quantifiers. MBQI is not a decision procedure for this combination and can then incorrectly conclude satisfiabiltiy.
Scenario
The formula contains assertions
- bv = (map or (lambda ..) t)
- forall y (not (select bv (pair s y)))
Since bv is extensionally equal to a term that depends on a lambda, MBQI cannot just take the current finite approximation of bv when checking the quantifier for satisfiability.
2023-02-19 11:09:52 -08:00
Nikolaj Bjorner
c30b884247
fix #6340
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-09-12 11:01:24 -07:00
Nikolaj Bjorner
7a55bd5687
beta redex check is used in array theory to filter out safe as-arrays
2022-09-11 05:44:11 -07:00
Nikolaj Bjorner
4a652a4c0c
relax giveup condition for as-array when it occurs only in beta redex positions.
2022-09-10 16:02:58 -07:00
Nikolaj Bjorner
660bdc33e3
fix #6330
2022-09-09 08:18:30 -07:00
Nikolaj Bjorner
43cf053066
fix #6128
2022-07-12 15:43:12 -07:00
Nikolaj Bjorner
6af170b058
fix #5861
...
sigh
2022-02-22 11:26:09 -08:00
Nikolaj Bjorner
474949542e
Merge branch 'master' of https://github.com/z3prover/z3
2022-02-04 13:08:59 -08:00
Nikolaj Bjorner
05e28e4344
fix #5812
2022-02-04 13:08:52 -08:00
Nikolaj Bjorner
a326ad4cd9
flag incomplete on lambdas #5803
2022-01-31 11:54:06 -08:00
Nikolaj Bjorner
7b341313d5
#5593
2021-10-13 17:50:56 -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
061abd153c
fixing #4515
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-08 11:43:32 -07:00
Nikolaj Bjorner
69afd9f6bd
formatting
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-08 11:43:31 -07:00
Nikolaj Bjorner
9bcda408ba
towards closing small domain equality enforcement gap #4515
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-08 11:43:31 -07:00
Nuno Lopes
e079af9d0d
add context::internalize() API that takes multiple expressions at once ( #4488 )
2020-06-01 11:51:39 -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
626d0186c8
fix #4098
2020-04-26 13:17:40 -07:00
Nikolaj Bjorner
2a0537af69
fix #3954
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-14 08:17:57 -07:00
Nikolaj Bjorner
ea6f9eb9b6
fix #3599
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-31 13:53:32 -07:00
Nikolaj Bjorner
a51f5756ba
fix #3621 , the repro file is corrupted so I cannot validate the fix
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-31 12:40:24 -07:00
Nikolaj Bjorner
427358d0a1
fix #3233
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-10 15:59:20 -07: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
d95b549ff8
fix #2707
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-11-16 17:47:29 -08:00
Nikolaj Bjorner
fffc539b40
fix #2549
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-09-13 17:42:29 +02:00
Nikolaj Bjorner
9fa9aa09ff
fix #2468 , adding assignment phase heuristic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-08-10 15:25:05 -07:00
Nikolaj Bjorner
0a29002c2f
return unknown if m_array_weak was used and result is satisfiable
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-08-02 00:20:41 +08: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
7e2afca2c6
add card operator to bapa
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-04-20 13:24:07 -07:00
Nikolaj Bjorner
1123b47fb7
bapa
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-04-13 16:15:38 -07:00
nilsbecker
ec76efedbe
synchronizing with main repository
2019-02-22 00:19:43 +01:00
nilsbecker
28c03ed1de
logging support for theory axioms
2019-02-21 19:29:35 +01:00
Bruce Mitchener
e570940662
Prefer using empty rather than size comparisons.
2018-11-27 21:42:04 +07:00
Nikolaj Bjorner
16be5b0e7d
fix #1816 - m_parent_selects gets updated while accessing an interator, fix is to rely on the size of the vector for iteration
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-25 14:04:17 -08:00
Nikolaj Bjorner
fd9fd52271
fixing #1847
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-02 17:13:46 -07:00
Nikolaj Bjorner
aaba1b9b15
fix sort retrieval for lambdas
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-01 09:18:40 -07: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
Nikolaj Bjorner
2ede4b2c80
fixes based on regression tests
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-27 09:31:16 -07:00