3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-23 09:05:31 +00:00
Commit graph

9407 commits

Author SHA1 Message Date
Nikolaj Bjorner
b73aa3642a check with cube and clause
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
af57db0413 Anti-unification of two ground expressions 2018-06-14 16:08:49 -07:00
Nikolaj Bjorner
aa8dac2583 fix uninitialized variable
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:49 -07:00
Nikolaj Bjorner
e6401908a5 fix crash
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
a8438e081e Wired qe::mbp into spacer
use option fixedpoint.spacer.native_mbp=true to use it
2018-06-14 16:08:49 -07:00
Nikolaj Bjorner
7e9f7d2cfe remove removed paramter from comment
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:49 -07:00
Nikolaj Bjorner
92bac11778 update to make variables work with other theories
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:49 -07:00
Nikolaj Bjorner
5eacb8122d add tuple features, remove dead code from mbp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:49 -07:00
Nikolaj Bjorner
560a26127e bind nested variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:49 -07:00
Nikolaj Bjorner
692a701516 updates to mbp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:49 -07:00
Nikolaj Bjorner
7642106e73 add way to unit test mbp from command line
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:49 -07:00
Nikolaj Bjorner
20300bbf94 updates to mbqi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
80c39eb037 Fix solver_pool::updt_params 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
14b9dd2cd7 spacer: let pool_solver own the solver 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
15d0fd4b42 spacer: removed virtual_solver
This commit removes virtual_solver and smt_context_manager that have
been migrated into solver_pool
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
098e70a9e2 spacer: switched to using solver_pool 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
180d38378a Add additional API to solver_pool 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
c2304e2636 spacer: Cleanup of smt parameter configuration 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
b17be763d3 User control over more arith options 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
cfeee55d4f spacer: set qi.quick_checker to MC_UNSAT if quantifiers are expected 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
c8187886cf spacer: use same params for all solver pools 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
1c06229755 User control over qi.quick_checker smt_params option 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
d06f4bd337 Fix reset of params_ref in solver
params_ref is not a ref, and params_ref::reset is not ref::reset.

params_ref::reset resets the params object being pointed to by
params_ref.

A proper way to reset a params_ref as a reference is to assign an
empty params_ref object to it.
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
ec8a86b78a Removed unused m_qi_ematching parameter from smt_params 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
c2b8f25cf9 Switch to using solver instead of smt::kernel all around 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
4b09cefb97 Replace smt::kernel with smt_solver
Replace all ad-hoc uses of smt::kernel with ad-hoc uses of smt_solver
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
df2e9d8fe2 Make smt_solver::updt_params() commulative 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
9c37bef553 Fix bug in ctp 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
1da002d7b1 scoped params on solver
solver::push_params() saves current parameters
solver::pop_params() restores previously saved parameters
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
477ac4a19a Remove dead m_propagate_booleans param 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
40781c0b0c Comment on params used in spacer_context 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
55126692c9 spacer: counterexample to pushing (ctp)
Enable using fixedpoint.spacer.ctp=true

For each lemma L currently at level k, keep a model M that justifies
why L cannot be pushed to (k+1). L is not pushed while the model M
remains valid.
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
95d820196b Cleanup 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
68b7966254 Use C++11 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
4e9023b8fe Remove dead code 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
00f870b7ff to_mbp_benchmark(): prints an mbp problem in benchmark format
currently unused. See comment in spacer_util.c:qe_project for example
usage
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
bf4c35982f Debug print 2018-06-14 16:08:49 -07:00
Nikolaj Bjorner
efb1f50d00 bind nested variables
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:49 -07:00
Nikolaj Bjorner
d95e167d61 updates to mbqi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:49 -07:00
Nikolaj Bjorner
e281f85586 add way to unit test mbp from command line
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:49 -07:00
Nikolaj Bjorner
402234757e updates to mbqi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
e8cabdc620 Uninitialized variable 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
054c6196a0 Move spacer qe into spacer_qe namespace
Attempt to solve compilation issues with GCC and current replication
of qe namespace inside and outside spacer
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
56bce005a0 virtual_solver: debug print 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
891dcd99c2 Use fact-generating version of mk_unit_resolution()
fact-using version of mk_unit_resolution() requires the fact to be a
literal. Not sure why this restriction is placed there.
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
8be03f7c1f spacer_context: skolemize quant vars before renaming
Skolemization has to be done before renaming, otherwise,
can't guarantee that variable names do not clash
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
38a45f5482 Fix typo in comment 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
6514741e3f proof-checker: replace match_negated with ast_manager::is_complement
is_complement matches true and false, while match_negated does not

Necessary to handle uses of true-axiom
2018-06-14 16:08:49 -07:00
Arie Gurfinkel
9550fd1ec4 proof-checker: handle true-axiom 2018-06-14 16:08:49 -07:00
Arie Gurfinkel
4de58a42fe Update initialization order 2018-06-14 16:08:49 -07:00