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

26 commits

Author SHA1 Message Date
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
Nuno Lopes
ff1429413d Z3_subst: avoid unneded cache lookups 2021-03-01 11:14:24 +00:00
Nuno Lopes
5b24396ecd Z3_subst: add fast path for quantifier subst
when replace patterns are ground
2021-02-28 23:09:52 +00: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
Nuno Lopes
52e67b0d3e
switch expr_safe_replace to std::unordered_map (#5003)
* switch expr_safe_replace to std::unordered_map

* further tweaks to expr_safe_replace for an overall speedup of 1.x in Z3_substitute
2021-02-07 18:20:48 -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
374ae52d70 testing mbi 2020-12-26 13:49:59 -08:00
Nikolaj Bjorner
e2fbd05fe7 adding argument restriction to mbqi, fix tracking of m_src/m_dst for expr_safe_replace and avoid resetting the cache. 2020-10-27 11:41:52 -07:00
Nikolaj Bjorner
e962deb557 remove also second hash-table for ALIVE_OPT #4747
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-27 00:12:34 -07:00
Nikolaj Bjorner
3ba857fb04 add alternate caching mechanism to allow experimenting for #4747
@nunoplopes @aqjune you can experiment by setting ALIVE_OPT to 1 and see if this helps.
A further possible optimization is to persist the "subst" object on the api_context object.
Then in Z3_substitute in api_ast.cpp, instead of declaring locally
        expr_safe_replace subst(m);
you can use an attribute on the context to retrieve the same substitution object.

It is not easy to figure out if this matters without having some profiling information so I hope you can determine on your side whether this is useful.
2020-10-26 11:49:24 -07:00
Nikolaj Bjorner
a52303c4fb srp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-22 10:27:05 -07:00
Nikolaj Bjorner
72d407a49f
mbp (#4741)
* adding dt-solver

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

* dt

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

* move mbp to self-contained module

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

* files

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

* Create CMakeLists.txt

* dt

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

* rename to bool_var2expr to indicate type class

* mbp

* na

* add projection

* na

* na

* na

* na

* na

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

* deps

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

* testing arith/q

* na

* newline for model printing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-21 15:48:40 -07:00
Nikolaj Bjorner
e75d07c1c1 add missing override
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-01 09:40:19 -05:00
Nikolaj Bjorner
b02fec91cc fixing python build errors
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-01 09:34:42 -05:00
Bruce Mitchener
76eb7b9ede Use nullptr. 2018-02-12 14:05:55 +07: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
Nikolaj Bjorner
f175f864ec merge useful utilities from qsat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-19 12:01:44 -07:00
Nikolaj Bjorner
3f040dbd23 remove std::cout usage
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-04 22:26:54 -08:00
Nikolaj Bjorner
9c6271dded add debugging facilities for github issues #384 #367
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-22 10:43:18 -08:00
Nuno Lopes
b65d5797f8 optimize expr_safe_replace for when a subexpression has no substitutions
Signed-off-by: Nuno Lopes <nlopes@microsoft.com>
2015-06-03 17:21:01 +01:00
Nikolaj Bjorner
25ad9d2ee1 tuning based on benchmarks from Robert White
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-05-05 14:43:06 -07:00
Nikolaj Bjorner
324dc5869d fix substitution bug in qe, working on boogie trace
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-06-25 13:07:28 -05:00
Nikolaj Bjorner
359d2326f8 stash
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-04-03 17:06:45 -07:00
Nikolaj Bjorner
5455704af2 move quantifier hoist routines to quant_hoist
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-03-19 15:00:23 -07:00
Renamed from src/muz_qe/expr_safe_replace.cpp (Browse further)