3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-20 04:36:41 +00:00
Commit graph

173 commits

Author SHA1 Message Date
Arie Gurfinkel
6d75c31468 First draft of elim_term_ite xform. Not working. 2018-07-02 17:09:56 -04:00
Arie Gurfinkel
7acea2791d -tr:spacer.expand-add --> -tr:spacer_progress 2018-07-02 17:09:56 -04:00
Arie Gurfinkel
41a05e9d58 Add methods to print pob 2018-06-28 15:38:51 -04:00
Arie Gurfinkel
e8e27f0daf Don't simplify bounds when normalizing a lemma 2018-06-28 15:38:50 -04:00
Arie Gurfinkel
0e5434ce0c Debug prints 2018-06-27 22:49:36 -04:00
Arie Gurfinkel
7c924c49f6 Do not evaluate quantified formulas in a model 2018-06-27 22:49:36 -04:00
Arie Gurfinkel
704c19920d Only 10 levels of weakness 2018-06-27 22:49:35 -04:00
Arie Gurfinkel
49e9480928 Fix lemma_as_cti option
Use negation of a lemma as a proof obligation. This speeds up discovering
bad lemmas that do not contain some reachable states.
2018-06-27 22:49:35 -04:00
Arie Gurfinkel
2b4d92821a Avoid crashing on cancel 2018-06-27 22:49:35 -04:00
Arie Gurfinkel
f6dcc6fc72 API to find pob in pob_manager 2018-06-27 22:49:35 -04:00
Arie Gurfinkel
5bc57238a6 Track whether pob is in pob_queue
pob_queue is a priority queue. Changing a pob while it is in the queue might change
the priority. This is a source of subtle bugs. The flag is ment to help defend
against this issues in the future.

As a side-effect, a pob that is already in the queue will be silently not added
to it, and a new version of a pob might be created if a version being looked
for is already in the queue.
2018-06-27 22:49:35 -04:00
Arie Gurfinkel
c00c6b4285 Pobs are always managed
Removed options to allow unmanaged pobs.
Other minor cleanups.
2018-06-27 22:49:35 -04:00
Arie Gurfinkel
1910b4c87c Rename pobs into pob_manager 2018-06-27 22:49:35 -04:00
Arie Gurfinkel
d9100437ce Weakness of the lemma independent of the pob
Lemma inherits its weakness score from the pob. However,
pob's weakness might be reset or changed for some other reason.

To avoid affecting the lemma, the weakness is copied on
construction.
2018-06-27 22:49:35 -04:00
Nikolaj Bjorner
520ce9a5ee integrate lambda expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-26 07:23:04 -07:00
Nikolaj Bjorner
915983821b add rewrite to each branch of mbp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-24 17:06:49 -07:00
Nikolaj Bjorner
c32bfb5ecd fix crash during cancelation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-24 15:29:40 -07:00
Nikolaj Bjorner
335d672bf1 fix #1675, regression in core processing in maxres
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-19 23:23:19 -07:00
Nikolaj Bjorner
c81f25a1c8 fix build issue
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-17 09:59:03 -07:00
Nikolaj Bjorner
035baf7cb9 align use of spaces before for/if/while
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-17 09:43:40 -07:00
Arie Gurfinkel
4204b6ede2 Switch rest of spacer to new model API and remove mev_util 2018-06-16 14:40:17 -07:00
Arie Gurfinkel
a222b6d41f Switch reach_fact to new model API 2018-06-16 14:17:33 -07:00
Arie Gurfinkel
f226c6682b Switched derivation to new model API 2018-06-16 14:09:24 -07:00
Arie Gurfinkel
5e65b37f25 Switch spacer::qe_project to new model API 2018-06-16 13:58:58 -07:00
Arie Gurfinkel
fffc8489bf Switched compute_implicant_literals to use new model API 2018-06-16 13:43:30 -07:00
Arie Gurfinkel
9109968e55 Cleanup fixedpoint options
Replace pdr options with spacer
Repace fixedpoint module with fp
2018-06-14 16:08:52 -07:00
Arie Gurfinkel
d38879e478 Renamed spacer options 2018-06-14 16:08:52 -07:00
Arie Gurfinkel
8445e2a7a2 Fix bug in weak abs
Must ensure that weak model makes all summaries true. Otherwise,
it is possible to get stuck discovering the same lemma forever.
2018-06-14 16:08:51 -07:00
Arie Gurfinkel
df7ab0e496 pred_transformer: factor rule bookkeeping to a separate class 2018-06-14 16:08:51 -07:00
Nikolaj Bjorner
1920450f98 throttle ite-blasting
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:51 -07:00
Arie Gurfinkel
1f0fd38c99 ground sat refutation from spacer (wip) 2018-06-14 16:08:51 -07:00
Nikolaj Bjorner
c3fb863ad1 formatting/reviewing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:51 -07:00
Arie Gurfinkel
d2ae3b4025 Create children for pdr in spacer
This is first working version of gpdr strategy. Passes one test.
2018-06-14 16:08:51 -07:00
Arie Gurfinkel
e1a45671b3 Cleanup spacer options 2018-06-14 16:08:51 -07:00
Arie Gurfinkel
1994f1d7e4 Cleanup of spacer options 2018-06-14 16:08:51 -07:00
Arie Gurfinkel
cb683389f6 spacer::context: Factor params into udpt_params 2018-06-14 16:08:51 -07:00
Arie Gurfinkel
521392a8f1 First partially working pdr strategy in spacer 2018-06-14 16:08:51 -07:00
Arie Gurfinkel
e860e4d045 Bug fix for quantified pob generation 2018-06-14 16:08:51 -07:00
Arie Gurfinkel
3178f7f86d Add random order of children in spacer 2018-06-14 16:08:51 -07:00
Arie Gurfinkel
5756871738 Always attempt to eliminate all existential variables
Sometimes variables that cannot be eliminated in one context, can be
eliminated in the other. Pass all available variables to MBP to be
eliminated if possible
2018-06-14 16:08:51 -07:00
Arie Gurfinkel
7396ad72ab Give up when a lemma is re-discovered too many times 2018-06-14 16:08:51 -07:00
Arie Gurfinkel
da66ad6f80 Cleanup derivation::create_next_child 2018-06-14 16:08:50 -07:00
Arie Gurfinkel
c5ff5ac2a1 Clen up spacer::pred_transformer::get_origin_summary 2018-06-14 16:08:50 -07:00
Arie Gurfinkel
d7dc10212e Clean up spacer::context::create_children 2018-06-14 16:08:50 -07:00
Arie Gurfinkel
b61da6fcc0 Debug print in org-mode format 2018-06-14 16:08:50 -07:00
Arie Gurfinkel
6b82068d8d Bug fix in spacer::derivation::exist_skolemize 2018-06-14 16:08:50 -07:00
Arie Gurfinkel
502e323678 Fixes to pred_tranformer::updt_solver 2018-06-14 16:08:50 -07:00
Arie Gurfinkel
862eef5ec0 Eliminate all existential variables from reach facts 2018-06-14 16:08:50 -07:00
Arie Gurfinkel
70f4674b3a Code to update solver with all constraints of a pred_transformer 2018-06-14 16:08:50 -07:00
Arie Gurfinkel
cfcc084688 reach_fact --> rf 2018-06-14 16:08:50 -07:00