3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-18 06:39:02 +00:00
Commit graph

169 commits

Author SHA1 Message Date
Nikolaj Bjorner e423fabf6a tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-15 20:35:36 -08:00
Nikolaj Bjorner 0768a2ead1 updated doc 2022-12-15 19:23:32 -08:00
Nikolaj Bjorner 13920c4772 more doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-15 11:42:02 -08:00
Nuno Lopes eb8c53c164 simplify factory of dependent_expr_state_tactic
And as a side-effect, remove heap allocations for factories
2022-12-05 14:07:57 +00:00
Nikolaj Bjorner dd1ca8f6bd move qhead to attribute on the state instead of the simplifier,
- add sat.smt option to enable the new incremental core (it is not ready for mainstream consumption as cloning and other features are not implemented and it hasn't been tested in any detail yet).
- move "name" into attribute on simplifier so it can be reused for diagnostics by the seq-simplifier.
2022-11-29 16:36:02 +07:00
Nikolaj Bjorner 5af6e1a046 make max_bv_sharing a simplifier 2022-11-25 11:38:41 +07:00
Nikolaj Bjorner 1dca6402fb move model and proof converters to self-contained module 2022-11-03 05:23:01 -07:00
Nikolaj Bjorner 41b87b4c42 Create bv_slice_tactic.cpp
missing file
2022-11-02 08:51:43 -07:00
Nikolaj Bjorner e57674490f adding simplifiers layer
simplifiers layer is a common substrate for global non-incremental and incremental processing.
The first two layers are new, but others are to be ported form tactics.

- bv::slice - rewrites equations to cut-dice-slice bit-vector extractions until they align. It creates opportunities for rewriting portions of bit-vectors to common sub-expressions, including values.
- euf::completion - generalizes the KB simplifcation from asserted formulas to use the E-graph to establish a global and order-independent canonization.

The interface dependent_expr_simplifier is amenable to forming tactics. Plugins for asserted-formulas is also possible but not yet realized.
2022-11-02 08:51:30 -07:00
Bruce Mitchener 706f7fbdc7
Fix some warnings about unused stuff. (#6290) 2022-08-21 12:39:30 -07:00
Bruce Mitchener 5014b1a34d Use = default for virtual constructors. 2022-08-05 18:11:46 +03:00
Bruce Mitchener 5d0dea05aa
Remove empty leaf destructors. (#6211) 2022-07-30 10:07:03 +01:00
Nikolaj Bjorner 85c3d874dc neatify
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 16:57:41 -07:00
Nikolaj Bjorner f23dc894b4 add disabled pass to detect upper bound range constraints
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-07-05 16:51:05 -07:00
Nikolaj Bjorner 5c2624950b #5849 2022-02-20 09:52:42 -08:00
Nikolaj Bjorner 5bbb8fb807 add bail #5825 2022-02-16 23:30:12 +02:00
Nikolaj Bjorner aa901c4e88 axiom solver improvements 2021-12-31 11:53:40 -08:00
Nikolaj Bjorner 79f0ceac4c na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-30 19:13:23 -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 25f53c0467 deal with warnings reported in https://launchpadlibrarian.net/522361319/buildlog_ubuntu-groovy-s390x.z3_4.8.10-1ubuntu4ppa1_BUILDING.txt.gz
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-02-11 13:49:47 -08:00
Nikolaj Bjorner 8f577d3943 remove ast_manager get_sort method entirely 2021-02-02 13:57:01 -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 4455f6caf8 move to get_sort as method, add opt_lns pass, disable xor simplification unless configured, fix perf bug in model converter update trail 2021-02-02 03:58:19 -08:00
Nikolaj Bjorner 6f63f8761c
optimizations to bv-solver and euf-egraph (#4698)
* additional bit-vector propagators

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* rename restrict (not a keyword, but well) #4694, tune euf

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* merge

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add pb rewriting to pb2bv #4697

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-20 06:47:27 -07:00
Nikolaj Bjorner 549753845e
bv and gc of literals (#4692)
* bv and gc of literals

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* overload

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* diseq

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* diseq

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-17 14:24:07 -07:00
Nikolaj Bjorner 11c90cc142 move parameters from ast/rewriter to params
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-29 11:11:16 -07:00
Christoph M. Wintersteiger c321fb7726
Correctly report unsupported features in bvarray2uf_rewriter. Fixes #4046 and #4047. 2020-07-15 16:16:29 +00:00
Nikolaj Bjorner d0e20e44ff booyah
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00
Nikolaj Bjorner a884201d62 remove using insert_if_not_there2
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-25 15:08:51 -07:00
Nikolaj Bjorner 95a78b2450
updates to seq and bug fixes (#4056)
* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix #4037

* nicer output for skolem functions

* more overhaul of seq, some bug fixes

* na

* added offset_eq file

* na

* fix #4044

* fix #4040

* fix #4045

* updated ignore

* new rewrites for indexof based on #4036

* add shortcuts

* updated ne solver for seq, fix #4025

* use pair vectors for equalities that are reduced by seq_rewriter

* use erase_and_swap

* remove unit-walk

* na

* add check for #3200

* nits

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* name a type

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove fp check

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* remove unsound axiom instantiation for non-contains

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix rewrites

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix #4053

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fix #4052

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-22 13:18:55 -07:00
Nikolaj Bjorner addbe55823 fix #3846, another bug in eq2bv-tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-09 19:55:40 -07:00
Nikolaj Bjorner 426e4cc75c fix #3557
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-03 16:37:59 -07:00
Nikolaj Bjorner 8e033c1e71 fix #3716 fix #3719
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-03 12:05:48 -07:00
Nikolaj Bjorner 896a1b2048 fix #3679
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-02 15:04:56 -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 6f2b5696d5 fix #3279
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-13 17:08:20 -07:00
Nikolaj Bjorner 8b720a0d66 fix #3115 fix #3116 regressions from #3111 etc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-02 16:38:33 -08:00
Nikolaj Bjorner dcd4fff284 fixes to cuts
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-21 18:06:57 -08:00
Nikolaj Bjorner 4bad2dd92c fix #3043
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-18 22:58:14 -08:00
Nikolaj Bjorner b6ee0b151a fix #3027
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-17 00:22:48 -10:00
Nikolaj Bjorner d25db0d3e9 fix #3026
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-16 15:48:46 -10:00
Nikolaj Bjorner e0d8cefde4 remove cooperate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-06-12 20:15:46 -07:00
Nuno Lopes 8e4ef19f45 fix debug build 2019-02-19 10:54:41 +00:00
Nuno Lopes 8c2584bcf7 eliminate a few ref incs/decs plus remove unused variable 2019-02-19 10:52:12 +00:00
Nikolaj Bjorner 9379ec3a68 add back pre_visit, which does get called from rewriter_def/rewriter.h
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-12-21 18:52:09 -08:00
Nuno Lopes 178e5b31e8 spread a few anonymous namespaces and remove some m_imp idioms 2018-12-21 22:49:06 +00:00
Bruce Mitchener e570940662 Prefer using empty rather than size comparisons. 2018-11-27 21:42:04 +07:00