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

635 commits

Author SHA1 Message Date
Nikolaj Bjorner
fc3a642876 fix #4948 2021-01-11 19:26:16 -08:00
Nikolaj Bjorner
a164087384 remove cheap-eqs option as there is already propagate_eqs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-12-21 11:04:04 -08:00
Nikolaj Bjorner
8ce08d57a0 na 2020-12-08 12:08:15 -08:00
Nikolaj Bjorner
4d55f83654 misc 2020-12-04 16:59:13 -08:00
Nikolaj Bjorner
6d427d9dae fix #4839 2020-12-02 12:46:24 -08:00
Nikolaj Bjorner
260f759177 fix #4835
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-29 20:06:32 -08:00
Nikolaj Bjorner
6d0b89a989 fix #4810 2020-11-22 15:37:55 -08:00
Nikolaj Bjorner
1269776777 remove experimental option. Fix #4806
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-20 11:46:19 -08:00
Nikolaj Bjorner
d0d06c288a rename
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-03 12:13:23 -08:00
Nikolaj Bjorner
620204bbb4
use value function in lar_solver (#4771)
* use value function in lar_solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* add missing return

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* check_feasible is called after column is added for fixed variable

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na
2020-11-03 01:08:24 -08:00
Nikolaj Bjorner
ee12e3fb52 add init_model, global m_delta, get_value, get_ivalue to push model maintainance into lar_solver #4740
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-11-02 19:21:15 -08:00
Nikolaj Bjorner
8d76470a8a fixes to mostly solver arith/euf and backtracking scopes 2020-10-26 11:06:41 -07:00
Nikolaj Bjorner
72d407a49f
mbp (#4741)
* adding dt-solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* dt

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* move mbp to self-contained module

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* files

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* Create CMakeLists.txt

* dt

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* rename to bool_var2expr to indicate type class

* mbp

* na

* add projection

* na

* na

* na

* na

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* deps

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* testing arith/q

* na

* newline for model printing

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-21 15:48:40 -07:00
Nuno Lopes
e5cc613bf1 remove some dup map lookups (mentioned in perf sanitizer paper) 2020-10-21 14:12:05 +01:00
Nikolaj Bjorner
44679d8f5b
arith_solver (#4733)
* porting arithmetic solver

* integrating arithmetic

* lp

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-10-16 10:49:46 -07:00
Nikolaj Bjorner
e683f4be21 #4525 regression in model generation 2020-10-12 10:35:33 -07:00
Lev Nachmanson
25724401cf
Perf branch (#4710)
* avoid creating rows with  all but one fixed columns

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* pb

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* once in a while flip bounds of boxed variables during move_nbasic_to_bounds

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* flip rarely

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* flip rarely

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* flip rarely

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* return an empty model when lar_solver is not ready

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* randomly change bounded base var on demand only

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>

* randomly change bounded base var on demand only

Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-09-25 17:47:29 -07:00
Nikolaj Bjorner
e775964cfd align column names with column printer
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-24 05:03:40 -07:00
Nikolaj Bjorner
43db7df2b5
user solver (#4709)
* user solver

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-24 04:55:34 -07:00
Nikolaj Bjorner
796e2fd9eb
arrays (#4684)
* arrays

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* arrays

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* arrays

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* fill

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* update drat and fix euf bugs

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* const qualifiers

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* na

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* reorg ba

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* reorg

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>

* build warnings

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-13 19:29:59 -07:00
Nikolaj Bjorner
727ea43b16 remove lazy push from theory_lra
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-30 12:07:14 -07:00
Nikolaj Bjorner
9b5dc0ca26 fix misc issues around #4661 introduced when adding lazy push/pop to selected theories
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-30 10:57:05 -07:00
Nikolaj Bjorner
558233dd8e build fixes, add lazy push/pop state to avoid overhead on unused theories
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-17 00:13:46 -07:00
Nikolaj Bjorner
ca3ec22b7a handle better cancellation for parallel, switch between cube mode and base level mode in smt.threads, expose parameters to control theory_bv and phase caching
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-16 23:29:24 -07:00
Nikolaj Bjorner
9df6c10ad8 handle small powers in theory_lra #4616
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-13 11:47:51 -07:00
Nikolaj Bjorner
be3c3dacb3 add bound refinement propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-08-12 10:10:31 -07:00
Nikolaj Bjorner
f6cbe3a016 propagate on variables 2020-07-30 10:22:04 -07:00
Nikolaj Bjorner
59d8895d15 add accessors for implied values to API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-28 19:46:39 -07:00
Nikolaj Bjorner
ae502bc2c4 simplify a few of the several axiom trace commands 2020-07-26 18:02:34 -07:00
Nikolaj Bjorner
c7704ef9af pass algebraic manager to arith-plugin mk-numeral because rational check may overwrite the argument using the current manager deals with crash as part of #4532
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-26 17:52:28 -07:00
Nikolaj Bjorner
e8ef9a85a4 fix #4327
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-26 13:22:13 -07:00
Nikolaj Bjorner
b1824fea10 fix lifetimes for crashes in #4525
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-21 12:53:56 -07:00
Nuno Lopes
23e6adcad3 fix a couple hundred deref-after-free bugs due to .c_str() on a temporary string 2020-07-11 20:24:45 +01:00
Nikolaj Bjorner
8d3caa00fe do as Lev does
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-03 13:21:43 -07:00
Nikolaj Bjorner
5e768c9697 move unused literals under if0
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-03 12:21:20 -07:00
Nikolaj Bjorner
5d36578684 some unused variables reported by Caleb
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-22 19:04:10 -07:00
Nikolaj Bjorner
8758baf24e perf and div/mod axioms #4532
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-22 14:51:58 -07:00
Lev Nachmanson
6ced6995d0 check for m.get_sort(lhs->get_owner()) == m.get_sort(rhs->get_owner()) in equality propagation
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-22 11:48:46 -07:00
Lev Nachmanson
ffaa7d0b27 debug cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-20 11:31:22 -07:00
Nikolaj Bjorner
48d4d8d7af fix tracking of bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-15 17:36:20 -07:00
Nikolaj Bjorner
d09e6eccf0 re-enable proofs for qe-lite #3153
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-15 12:03:15 -07:00
Nikolaj Bjorner
395a304262 add optional feature to bound search within ranges
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-14 21:34:54 -07:00
Nikolaj Bjorner
53e49eb428 neatify
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-13 15:20:21 -07:00
Lev Nachmanson
06826adec3 fix the race in add_var_bound and add_def_constraint
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
fe0e042e40 move m_fixed_var_table to lar_solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
1587497562 cheap equalities
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
b3bdce7837 make lp_bound_propagator a field of theory_lra::imp
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
dd30b5e3af some simplifications in cheap eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
110ab5e6ef debug cheap_eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00
Lev Nachmanson
1e4e887221 propagate cheap eqs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-06-12 22:11:11 -07:00