3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-12-31 08:19:54 +00:00
Commit graph

59 commits

Author SHA1 Message Date
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