3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-16 05:48:44 +00:00
Commit graph

270 commits

Author SHA1 Message Date
Nikolaj Bjorner c429455f10 visit parameters during occurs count
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-29 08:52:25 -07:00
Arie Gurfinkel bc6604441b Helpers in model_core 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 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
Arie Gurfinkel 60888a93eb Minor fixes to model 2018-06-16 13:42:26 -07:00
Nikolaj Bjorner 450da5ea0c moving model_evaluator to model
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-15 17:40:54 -07:00
Nikolaj Bjorner 6fc08e9c9f Merge branch 'master' of https://github.com/z3prover/z3 2018-06-15 14:58:10 -07:00
Nikolaj Bjorner a51d6cbcbc debug model evaluator
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-15 14:58:02 -07:00
Nikolaj Bjorner baa96909cc mb-skolem for arithmetic with model repair
The contract is that users of mb-skolem ensure that
interface equalities are preserved (by adding a
sufficient set of disequalities, such as a chain
x1 < x2 < x3 .., to force that solutions for
x_i does not clash).

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 17:26:04 -07:00
Arie Gurfinkel 8ffbd5d1e5 model_evaluator: respect array_as_stores option 2018-06-14 16:08:49 -07:00
Arie Gurfinkel 7281616084 model_evaluator: optionally expand arrays as sequence of stores
commit on behalf of Nikolaj
2018-06-14 16:08:49 -07:00
Nikolaj Bjorner ff0f257102 remove iff
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:48 -07:00
Nikolaj Bjorner ecf15ab07d add model_evaluator_util features to model_evalautor
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:48 -07:00
Nikolaj Bjorner f525f43e43 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-30 09:30:43 -07:00
Nikolaj Bjorner 5cff0de844 fix #1567
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-04-08 11:19:00 -07:00
Nikolaj Bjorner c513f3ca09 merge with master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-25 14:57:01 -07:00
Nikolaj Bjorner 5dd7e2c520 fix #1544
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-16 19:30:13 -07:00
Nikolaj Bjorner a738f5af12 fix #1512
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-03-02 20:14:59 +09:00
Bruce Mitchener 76eb7b9ede Use nullptr. 2018-02-12 14:05:55 +07:00
Bruce Mitchener b7d1753843 Use override rather than virtual. 2018-02-09 21:19:27 +07:00
Nikolaj Bjorner 4adb24ede5 fix model bugs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-01-13 16:12:59 -08:00
Nikolaj Bjorner edffdf857c use expr-vectors
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-11-21 16:07:10 -08:00
Nuno Lopes 9b54b4e784 fix vector<> to support non-POD types
adjust code to std::move and avoid unnecessary/illegal
2017-10-16 00:54:29 +01:00
Nikolaj Bjorner d2ec927844 fix build break
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-08 12:34:08 +01:00
Nikolaj Bjorner 52217f0600 fix #1290
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-10-08 10:56:05 +01:00
Nikolaj Bjorner caa02c3c02 add match expression construct to SMT-LIB2.6 frontend
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-19 19:39:02 -07:00
Christoph M. Wintersteiger 00651f8f21 Tabs, formatting. 2017-09-17 14:54:09 +01:00
Christoph M. Wintersteiger 2688fd55cf Taught the model_evaluator to look for definitions of partial theory functions in the model upon evaluation failure. 2017-09-14 20:29:54 +01:00
Nikolaj Bjorner 5c8fa80c3f merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-09-03 14:58:14 -07:00
Christoph M. Wintersteiger 1a1c705376 Added global model completion for the SMT2 frontend. 2017-08-30 19:34:31 +01:00
Nikolaj Bjorner 7dd28781ab remove simplifier dependencies from cmakelist.txt files
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-23 16:33:36 -07:00
Nikolaj Bjorner 2c8e9aeb9c another crash fix
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-21 15:23:52 -07:00
Nikolaj Bjorner e6145fa6df fix crash
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-21 14:53:16 -07:00
Nikolaj Bjorner ebe9db14d5 fix regression exposed by segfault2.smt2 crash
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-21 14:13:43 -07:00
Nikolaj Bjorner 276fdd0e97 register auxiliary constants from projection operation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-20 08:51:24 -07:00
Nikolaj Bjorner 2b82fd5d0c updated include directives
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-08-01 10:51:47 -07:00
Arie Gurfinkel 25c6480e6e updated include directives 2017-07-31 23:16:42 -04: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
Arie Gurfinkel 972ab6298c (mev) only reduce function interpretation 2017-06-21 22:59:52 -04:00
Arie Gurfinkel 493a3a6312 (mev) call expand_value only at the end
There is no need to expand array values throughout evaluation.
They are expanded during array equality checking (if requested), and
can be expanded at the very end of evaluation (if needed).
2017-06-21 20:58:10 -04:00
Arie Gurfinkel d5ca902bf6 (mev) bug fix in expanding array equalities
The stores were processed in the wrong order so that

  (store (store a x y) x u)

was reduced to

  (store a x y)

instead of

  (store a x u)
2017-06-21 20:58:10 -04:00
Arie Gurfinkel e62e563e2d (mev) renamed variable to clarify that it is unused 2017-06-21 20:58:10 -04:00
Dan Liew 4b517b96df [CMake] Move CMake files into their intended location so the
`contrib/cmake/bootstrap.py` script no longer needs to be executed.

The previous location of the CMake files was a compromise proposed
by @agurfinkel in #461. While this has served us well (allowing progress
to be made) over time limitations of this approach have appeared.

The main problem is that doing many git operations (e.g. pull, rebase)
means the CMake files don't get updated unless the user remembers to
run the script. This can lead to broken and confusing build system
behaviour.

This commit only does the file moving and necessary changes to
`.gitignore`. Other changes will be done in subsequent commits.
2017-06-12 11:59:00 +01:00
Nikolaj Bjorner fcda4cee9f ensure evaluation of array equalities is enabled for external facing evaluator. Issue #917
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2017-03-09 05:29:56 +01:00
Nikolaj Bjorner 20790c46ee bail out on failure to properly project
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-12-11 04:23:07 +01:00
Christoph M. Wintersteiger dc0d29a00c Bugfix for model construction. Fixes #828. 2016-12-08 16:14:54 +00:00
Nikolaj Bjorner c0fb2eafe5 remove recursive expansion of else-case
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-02 23:08:10 +00:00
Nikolaj Bjorner be9d5c7088 fix evaluator for array store expressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-11-02 21:33:24 +00:00
Christoph M. Wintersteiger ab4bb8194e Added unregister_decl to model_core 2016-10-15 18:35:39 +02:00
Nikolaj Bjorner b66d457b19 move arithmetical mbp functionality to model_based_opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-26 16:12:14 -07:00
Nikolaj Bjorner 5b497b6249 reduce set of mainly verbose warnings raised by -Wmaybe-uninitialized and unused variable warnings from release mode builds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-06-22 20:25:47 -07:00
Nikolaj Bjorner b8716b3339 avoid use-before-def crashes fp-operations.smt2
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-25 14:32:39 -07:00
Nikolaj Bjorner a07381ac19 fix regression in evaluator exposed by build failure on fp-array-6.smt2
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-25 14:23:07 -07:00
Nikolaj Bjorner cd441c318e add compare utility to compress common cases
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-25 09:03:24 -07:00
Nikolaj Bjorner af3cc7e578 tune array evaluation, still disabled
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-25 08:57:59 -07:00
Nikolaj Bjorner 1aa3fdab8a remove min/max, use qmax; disable cancellation during model evaluation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-19 13:04:20 -07:00
Nikolaj Bjorner 5e7db2e3e2 disable mk_array_eq as it breaks model evaluation/validation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-18 08:29:24 -07:00
Nikolaj Bjorner 99314b7252 Merge branch 'master' of https://github.com/Z3Prover/z3 2016-05-15 11:34:55 -07:00
Nikolaj Bjorner 42726171b5 add limit checks in Grobner. Issue #599
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-05-15 11:34:48 -07:00
Arie Gurfinkel d1f8b06ec4 bug fix in model_evaluator for array equality 2016-05-11 22:44:11 -04:00
Nikolaj Bjorner b512212d41 update func_interp code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-18 17:31:36 -07:00
Nikolaj Bjorner 3a6218ac21 update func_interp code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-18 17:30:52 -07:00
Nikolaj Bjorner c3f4124a9f trace down recent exposed regression in goal2sat, incorporate Scott's suggestion on making vector<std::string inaccessible
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-18 14:50:10 -07:00
Nikolaj Bjorner 0f93853a4c remove labels from evaluation result
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-12 13:17:10 -07:00
Nikolaj Bjorner aa7b5d80fe extract array terms for evaluator
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-12 09:41:50 -07:00
Christoph M. Wintersteiger 3a532c08a6 Bugfix for func_interp else-case compression 2016-04-06 19:24:08 +01:00
Christoph M. Wintersteiger e527aca296 Bugfix for unspecified else-case in func_interps. 2016-04-06 15:39:32 +01:00
Christoph M. Wintersteiger 7534b53bae Merge branch 'master' of https://github.com/Z3Prover/z3 2016-04-06 14:51:25 +01:00
Nikolaj Bjorner b97d694e5e undo model evaluation to BR_FULL pending regression in assertion violation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-05 22:26:57 +02:00
Nikolaj Bjorner ec5a4ba63d add documentation comment for evaluation, Issue #536
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-04 12:59:18 +02:00
Nikolaj Bjorner 03336ab9f2 add evaluation of array equalities to model evaluator
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-04-02 15:07:01 +02:00
Christoph M. Wintersteiger ccd18283e7 Moved extension_converter func_interp entry compression to func_interp.
Relates to #547
2016-04-01 15:38:38 +01:00
Christoph M. Wintersteiger 3b82604590 whitespace 2016-04-01 15:37:40 +01:00
Christoph M. Wintersteiger eb9c5b7cdb Disabled bogus assertions.
Fixes #489
2016-04-01 13:25:37 +01:00
Christoph M. Wintersteiger 852dc6d190 whitespace 2016-04-01 13:22:16 +01:00
Nikolaj Bjorner 05a784fa9e fix issue #535
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-24 08:16:19 -07:00
Nikolaj Bjorner b0f65335ab update copyright year
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-17 13:07:40 -07:00
Christoph M. Wintersteiger 778c7fcc64 Bugfix for model evaluator and internal, uninterpreted FPA functions.
Fixes #518
2016-03-16 16:17:08 +00:00
Nikolaj Bjorner 70f13ced33 make proto-model evaluation use model_evaluator instead of legacy evaluator
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-05 10:14:15 -08:00
Nikolaj Bjorner 7c6540e18f recursive function definitions; combine model-building functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-03-03 07:59:03 -08:00
Christoph M. Wintersteiger 7ddd2856c8 Added is_considered_uninterpreted() to decl_plugins. 2016-02-05 15:22:37 +00:00
Christoph M. Wintersteiger bb5118acbb Bugfix for bv*div0 model construction. 2016-02-05 13:53:35 +00:00
Christoph M. Wintersteiger 88f007e9da whitespace 2016-02-05 13:48:47 +00:00
Nikolaj Bjorner a295dd48dc add seq_rewriter to model_evaluator, remove th_rewriter additional step in validator
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-15 04:02:48 +05:30
Nikolaj Bjorner e2d54940b4 revert mixed integer/real handling pending fix to equality propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2016-01-12 12:11:27 -08:00
Nikolaj Bjorner baee4225a7 reworking cancellation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-12-11 16:21:24 -08:00
Nikolaj Bjorner d6cb778365 fix rewriter for model validation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-11-03 07:45:42 -08:00
Nikolaj Bjorner ec12368b54 Enable model construction and evaluation for theory functions that may be uninterpreted. To fix issue #237
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-11-02 11:36:50 -08:00
Nikolaj Bjorner 77fec049a5 Enable model construction and evaluation for theory functions that may be uninterpreted. To fix issue #237
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-11-02 10:27:44 -08:00
Nikolaj Bjorner feba64b739 Enable model construction and evaluation for theory functions that may be uninterpreted. To fix issue #237
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-11-02 10:18:25 -08:00
Nikolaj Bjorner 4bc044c982 update header guards to be C++ style. Fixes issue #9
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2015-07-08 23:18:40 -07:00
Nikolaj Bjorner 52619b9dbb pull unstable
Signed-off-by: Nikolaj Bjorner <nbjorner@hotmail.com>
2015-04-01 14:57:11 -07:00
Christoph M. Wintersteiger 858ce1158d Bugfix in model translation (ast_manager mismatch after par-or). Thanks to stackoverflow user user297886 for reporting this issue.
http://stackoverflow.com/questions/28852722/segmentation-fault-while-using-par-or-tactic
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-03-04 18:30:06 +00:00
Christoph M. Wintersteiger dd17f3c7d6 Renaming floats, float, Floats, Float -> FPA, fpa
Signed-off-by: Christoph M. Wintersteiger <cwinter@microsoft.com>
2015-01-08 13:18:56 +00:00
Nikolaj Bjorner 960e8ea1d5 working on hitting sets
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-06-08 14:12:54 +01:00
Nikolaj Bjorner 6f0155ce94 avoid compiler warning
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-05-20 10:14:40 -07:00
Nikolaj Bjorner 3d1ca5ecc9 make eval cache sensitive to model completion. Bug 110 reported by cipher1024
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2014-05-15 21:12:16 -07:00
Nikolaj Bjorner 22166d0760 remove print
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-12-18 05:59:16 +02:00
Nikolaj Bjorner fe5c42c90f fixes to bugs exposed by regressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-12-15 05:23:47 +02:00
Anh-Dung Phan 87a2b99091 Clean up 2013-11-25 12:16:34 -08:00
Nikolaj Bjorner 2ff51e9a60 move model_evaluator from pdr to model, call it model_implicant
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-11-23 21:33:35 +01:00
Nikolaj Bjorner e4338f085b re-organization of muz
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2013-08-28 22:11:33 -07:00
Leonardo de Moura bdc675b1df Fix bug reported at http://stackoverflow.com/questions/15226944/segmentation-fault-in-z3
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-03-05 09:04:03 -08:00
Leonardo de Moura a895506dac Fix issue reported at http://stackoverflow.com/questions/14524316/z3-4-3-get-complete-model
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2013-01-25 09:29:03 -08:00
Leonardo de Moura 607fab486c Fix incorrect uses of set_cancel()
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-12-17 18:48:10 -08:00
Leonardo de Moura a07b459fdf Added is_unique_value. Its semantics is equal to the old is_value method. The contract for is_value changed. See comments at ast.h for more information.
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-12-07 12:53:51 -08:00
Leonardo de Moura 1871bef6e1 cleaned algebraic params
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-12-02 12:47:20 -08:00
Leonardo de Moura 823dd6ca47 missing file
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-12-01 15:54:53 -08:00
Leonardo de Moura 3e6bddbad1 converted pp_params
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-11-30 17:20:45 -08:00
Leonardo de Moura cf28cbab0a saved params work
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-11-29 17:19:12 -08:00
Nikolaj Bjorner 93ad91d2f9 preparing handling of arrays/quantifiers, fix cover-related bugs reported by Arie
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2012-11-25 12:08:49 -08:00
Leonardo de Moura 759504880a isolated proto_model obsolete code
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-29 20:15:33 -07:00
Leonardo de Moura f57d4b1b19 reorganizing the code
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-25 11:28:03 -07:00
Leonardo de Moura 56ab7a7495 checkpoint
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-21 18:12:34 -07:00
Leonardo de Moura add684d8e9 checkpoint
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-21 13:32:12 -07:00
Leonardo de Moura 6bc591c67e Reorganizing the code
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-20 22:44:27 -07:00
Leonardo de Moura 2b8fb6c718 Reorganizing the code
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-20 20:53:33 -07:00
Leonardo de Moura d8cd3fc3ab Reorganizing the code
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-20 19:54:08 -07:00
Leonardo de Moura 8b70f0b833 Reorganizing the code
Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
2012-10-20 19:30:14 -07:00