3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-19 07:09:03 +00:00
Commit graph

9211 commits

Author SHA1 Message Date
Arie Gurfinkel b50da20531 array_mbp: turn on model completion 2018-06-14 16:08:50 -07:00
Arie Gurfinkel 0452bc3d43 qe_lite: simplify definitions before deciding on elimination order 2018-06-14 16:08:50 -07:00
Arie Gurfinkel b120923dd5 qe_lite: bug fix in der::der_sort_vars()
The case of

VAR 1 = (+ (:var 2) 10)
VAR 2 = (+ 0 foo)

was not properly handled whenever VAR2 has only one reference.
In that case, VAR2 is not marked as done when VAR1 is processed,
causing VAR2 to be duplicated in elimination order
2018-06-14 16:08:50 -07:00
Arie Gurfinkel fb52c36210 spacer: switch to new IUC as default 2018-06-14 16:08:50 -07:00
Arie Gurfinkel 3a97451f8c spacer: normalize the cube before creating a lemma 2018-06-14 16:08:50 -07:00
Arie Gurfinkel fce68536d3 spacer: print all lemmas in json 2018-06-14 16:08:50 -07:00
Arie Gurfinkel bfa472faec New style of json dump based on lemmas at pob 2018-06-14 16:08:50 -07:00
Arie Gurfinkel 5072a2a869 spacer: pobs keep track of their lemmas 2018-06-14 16:08:50 -07:00
Arie Gurfinkel 61cd74818f Pin lemmas so that they don't disappear 2018-06-14 16:08:50 -07:00
Nikolaj Bjorner ebfb2a4a1e Fix mbp to respect reduce_all_selects option
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:50 -07:00
Nikolaj Bjorner 0c2e3c0894 fixes to clause proof tracking
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:50 -07:00
Arie Gurfinkel f7d015de8d Switch spacer_prop_solver to check_sat_cc 2018-06-14 16:08:50 -07:00
Arie Gurfinkel 1343b272e7 Implement iuc_solver::check_sat_cc 2018-06-14 16:08:50 -07:00
Arie Gurfinkel 26339119e4 solver::check_sat_cc : check_sat assuming cube and clause
Extends check_sat with an ability to assume a single clause in
addition to assuming a cube of assumptions
2018-06-14 16:08:50 -07:00
Arie Gurfinkel 4477f7d326 Fix memory leak in asserted_formulas 2018-06-14 16:08:50 -07:00
Arie Gurfinkel 723e96175b spacer: prepare to use incremental clause smt_solver interface 2018-06-14 16:08:50 -07:00
Arie Gurfinkel c3edf8c8fa Restore assertion in smt_clause 2018-06-14 16:08:50 -07:00
Arie Gurfinkel ef58753ae7 Silence clang warning 2018-06-14 16:08:50 -07:00
Arie Gurfinkel 56a29093d0 Cleanup transition creation in pred_transformer 2018-06-14 16:08:50 -07:00
Nikolaj Bjorner 005a6d93bb cube and clause
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-06-14 16:08:50 -07:00
Arie Gurfinkel ea032b56c0 Return false when clause cannot be decided 2018-06-14 16:08:50 -07:00
Arie Gurfinkel 275b99e408 Add missing override 2018-06-14 16:08:50 -07:00
Arie Gurfinkel 4db4547359 silence clang warning 2018-06-14 16:08:49 -07:00
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