3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-07 18:05:21 +00:00
Commit graph

17342 commits

Author SHA1 Message Date
Nikolaj Bjorner 59fa8964ca minor code cleanup 2022-12-04 03:53:31 -08:00
Nikolaj Bjorner 3ebbb8472a fix perf bugs in new value propagation 2022-12-04 03:53:30 -08:00
Nikolaj Bjorner 758c3b2c3b fix filtering for recursive functions 2022-12-04 03:53:30 -08:00
Nikolaj Bjorner cf7bba6288 use ast_manager as an attribute 2022-12-04 03:53:30 -08:00
Nikolaj Bjorner 5073959ae0 add macro attribute 2022-12-04 03:53:29 -08:00
yizhou7 54a8d65617
move flushes in display_statistics (#6472) 2022-12-02 13:56:53 -08:00
Nikolaj Bjorner a96b7d243a remove incorrect check for quantifier 2022-12-01 00:04:08 -08:00
Nikolaj Bjorner e5984dd397 add cnf/nnf simplifier 2022-11-30 23:04:38 -08:00
Nikolaj Bjorner e3e2c21632 Create cnf_nnf.h 2022-11-30 22:53:14 -08:00
Nikolaj Bjorner 847aec1d30 update dependencies 2022-11-30 22:48:10 -08:00
Nikolaj Bjorner 529f116be0 disable new code until pre-condition gets fixed
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-30 22:29:59 -08:00
Nikolaj Bjorner 147fb0d9c1 fix tptp5 build 2022-11-30 21:41:44 -08:00
Nikolaj Bjorner 30c9cda61e increment generation for literals created during E-matching 2022-12-01 10:04:33 +09:00
Nikolaj Bjorner f24ecde35c wip - fixes to simplifiers 2022-12-01 09:31:52 +09:00
Nikolaj Bjorner cfc8e19baf add more simplifiers, fix model reconstruction order for elim_unconstrained
- enable sat.smt in smt_tactic that
is invoked by default on first goals
add flatten-clauses
add push-ite
have tptp5 front-end pretty print SMT2 formulas a little nicer.
2022-12-01 02:35:43 +09:00
Nikolaj Bjorner edb0fc394b rewrite some simplifiers 2022-11-30 23:15:32 +09:00
Nikolaj Bjorner 23c53c6820 fix build 2022-11-30 19:36:13 +09:00
Nikolaj Bjorner c1ff3d3192 wip - adding quasi macro detection 2022-11-30 13:46:00 +07:00
Nikolaj Bjorner 7b9dfb8e1e update dependencies for python build 2022-11-30 13:43:40 +07:00
Nikolaj Bjorner b084821a0c wip - dependent expr simpliifer
- simplify iterator over current indices
- add more simplifiers used by asserted_formulas
- improve diagnostics printing
2022-11-30 13:41:40 +07:00
Nikolaj Bjorner bec3acd146 consolidate freeze functionality into dependent_expr_state
rename size() to qtail() and introduce shortcuts
ensure tactic goals are not updated if they are in inconsistent state (because indices could be invalidated)
2022-11-30 08:35:29 +07:00
Nikolaj Bjorner 73a652cf4b some fixes to backtracking restore points in new solver 2022-11-29 16:42:42 +07: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 ac023935a3 introduce sat-smt-solver
in an iteration of inc-sat-solver introduce sat-smt-solver to allow incremental pre-processing.
The aim is to allow incrementally handling formulas while at the same time retaining the main benefits of global in/pre-processing that change models. Previous incremental solving capabilities have been limited to use pre-processing that does not require model conversion.
2022-11-28 15:06:31 +07:00
Nikolaj Bjorner 82d9e4a4fc update goal2sat interface to use explicit initialization 2022-11-28 15:04:12 +07:00
Nikolaj Bjorner 500626e814 add sat-smt-preprocess module
self-contained pre-processing initialization
2022-11-28 12:13:00 +07:00
Nikolaj Bjorner 85f9c7eefa replace restore_size_trail by more generic restore_vector
other updates:
- change signature of advance_qhead to simplify call sites
- have model reconstruction replay work on a tail of dependent_expr state, while adding formulas to the tail.
2022-11-28 11:45:56 +07:00
Nikolaj Bjorner 6454014119 enable incrementality for model reconstruction 2022-11-25 15:28:38 +07:00
Nikolaj Bjorner 4e9f21c2a1 add rewriter and seq simplifiers 2022-11-25 15:16:14 +07:00
Nikolaj Bjorner a152f9cfd6 port bit-blaster to simplifiers
inc_sat_solver uses bit-blaster, card2bv and max_bv_sharing.
By turning these into simplifiers it will be possible to remove
dependencies on tactics and goals in inc_sat_simplifier and instead use a modular and general incremental pre-processing infrastructure.
2022-11-25 13:37:16 +07:00
Nikolaj Bjorner f0570fbc0e remove tactic exception dependency 2022-11-25 11:48:44 +07:00
Nikolaj Bjorner e95b0bd2cd remove include of tactical 2022-11-25 11:47:38 +07:00
Nikolaj Bjorner 8184e7fe0a keep track of qhead 2022-11-25 11:42:16 +07:00
Nikolaj Bjorner 5af6e1a046 make max_bv_sharing a simplifier 2022-11-25 11:38:41 +07:00
Nikolaj Bjorner db74e23de1 make card2bv a simplifier 2022-11-25 11:07:31 +07:00
Nikolaj Bjorner cb789f6ca8 add arithmetical macros
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-24 23:44:35 +07:00
Nikolaj Bjorner eb812e47be cleanup 2022-11-24 22:46:35 +07:00
Nikolaj Bjorner b0247d8201 add exception handling for rewriter exceptions 2022-11-24 22:20:25 +07:00
Nikolaj Bjorner 1815812889 fix typo in name of tactic 2022-11-24 22:05:30 +07:00
Nikolaj Bjorner a64c7c5d19 add incremental version of value propagate 2022-11-24 21:52:55 +07:00
Nikolaj Bjorner decb3d3907 stashed header file 2022-11-24 19:51:26 +07:00
Nikolaj Bjorner 3479129582 remove unused structs 2022-11-24 19:47:26 +07:00
Nikolaj Bjorner caf204ab95 hoist macro-replacer as shared utility, update eliminate-predicates and model reconstruction 2022-11-24 19:45:51 +07:00
Nikolaj Bjorner 5fe2ff84e9 change functionality to not track ite terms for congruence closure 2022-11-24 19:45:16 +07:00
Nikolaj Bjorner 15dc7b78a0 Move merge_tf handling to euf_internalize
literals true/false are not necessarily created when the merge flag is set.
Also disable merge_tf for if-then-else expressions
Perhaps even not insert children of if expressions into congruence table?
2022-11-24 15:09:13 +07:00
Nikolaj Bjorner eceeb295fc fix #6457 2022-11-24 14:41:50 +07:00
Nikolaj Bjorner 4ac5e51e3a #6429 2022-11-23 18:35:17 +07:00
Nikolaj Bjorner f87e187b62 #6429 2022-11-23 17:52:14 +07:00
Nikolaj Bjorner 0a671f2f44 fix #6464 2022-11-23 17:21:51 +07:00
Nikolaj Bjorner 0a28bacd0f remove debug out 2022-11-23 16:42:36 +07:00