3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-11-30 09:17:12 +00:00
Commit graph

379 commits

Author SHA1 Message Date
Nikolaj Bjorner
4455f6caf8 move to get_sort as method, add opt_lns pass, disable xor simplification unless configured, fix perf bug in model converter update trail 2021-02-02 03:58:19 -08:00
Nikolaj Bjorner
2f756da294
adding dt-solver (#4739)
* 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
2020-10-18 15:28:21 -07:00
Nikolaj Bjorner
367e5fdd52
delay internalize (#4714)
* adding array solver

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

* use default in model construction

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

* debug delay internalization

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

* bv

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

* arrays

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

* get rid of implied values and bounds

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

* redo egraph

* remove out

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

* remove files

Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-09-28 19:24:16 -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
59d8895d15 add accessors for implied values to API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-28 19:46:39 -07:00
Nuno Lopes
bb26f219fe remove unneeded constructors (last round) 2020-07-12 17:41:57 +01: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
d0e20e44ff booyah
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-07-04 15:56:30 -07:00
Arie Gurfinkel
07a1aea689 fix(spacer): bug in assign_bounds to Farkas conversion
The fix is to remove a hack that used a theory rewriter to simplify
the conversion. Now the conversion happens less often than possible.
Will need more thinking to fix properly.

The unsoundness at this point would cause SPACER to generate lemmas
that do not block a proof obligation and then get stuck in an infinite loop
blocking and generating the same lemma.
2020-06-18 21:19:53 -04:00
Nikolaj Bjorner
f999c14a1e close #4429
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-06-04 01:33:28 -07:00
Andrew V. Jones
a23ca1792b
Ensure that Z3 uses the correct SMT-LIB2 syntax for push and pop (#4495)
* When pretty-printing SMTLIB2, ensure that Z3 uses the correct syntax for 'push'

Signed-off-by: Andrew V. Jones <andrew.jones@vector.com>

* When pretty-printing SMTLIB2, ensure that Z3 uses the correct syntax for 'pop'

Signed-off-by: Andrew V. Jones <andrew.jones@vector.com>
2020-06-03 09:35:14 -07:00
Hari Govind V K
b7d7ff38cb
bug fix. Handle unknown without model (#4443) 2020-05-22 10:12:42 -07:00
Hari Govind V K
ed92b8437c
fix #4054 (#4277)
* flag when quantified lemmas are added to smt_context

* When solver returns unknown but cannot create child, return unknown

* handle unknowns when qlemmas and weak_abs are turned on
2020-05-21 09:58:09 -07:00
Nikolaj Bjorner
09d881cce5 na 2020-05-02 15:54:12 -07:00
Nikolaj Bjorner
75859ef4e4 model anomaly fix #4171 2020-05-02 15:53:46 -07:00
Hari Govind V K
dbfa3dd7f1
[spacer] implement spacer::is_clause() (#4170)
Spacer has a different defintion of is_clause() than ast_util.
It is currently only used in assertions.

Main difference:
  x=y
where x and y are Bool atoms is considered to be an atom, so that
(or (= x y) (not (= z y)))
is a literal

Co-authored-by: Arie Gurfinkel <arie.gurfinkel@uwaterloo.ca>
2020-04-30 14:03:48 -07:00
Nikolaj Bjorner
e67112f289 NYI control paths 2020-04-28 20:19:20 -07:00
Nikolaj Bjorner
a884201d62 remove using insert_if_not_there2
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-25 15:08:51 -07:00
Nikolaj Bjorner
caa5b09046 fix #4050 - have to delay model compression because it may use internal symbols that have to be transformed. model compression is used prior to displaying certificate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-22 13:33:36 -07:00
Nikolaj Bjorner
dd3e574f81 fix #3983
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-16 14:03:06 -07:00
Nikolaj Bjorner
f67077b7ff warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-15 17:13:02 -07:00
Lev Nachmanson
ec0cd644f1 fix the build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2020-04-11 12:28:54 -07:00
Arie Gurfinkel
20d72e5d97 (spacer) fix (get-proof) to return proper refutations 2020-04-11 14:38:27 -04:00
Arie Gurfinkel
1f6815213d spacer: fail with exception on quantifiers in recursive rules 2020-04-11 14:16:47 -04:00
Arie Gurfinkel
1e96570365 fix #3915 2020-04-11 14:16:29 -04:00
Arie Gurfinkel
337c07a44c Fix #3788 by converting assert into a throw 2020-04-11 09:15:32 -04:00
Arie Gurfinkel
ae5a713e81 fix #3906 by fixing a regression from today 2020-04-11 00:18:25 -04:00
Arie Gurfinkel
a261bd94ed silence #3788
better proof generation for the case when the query is reachable from initial
states. This case needs to be handled better so that spacer can assume
the problem is non-trivial.
2020-04-10 15:21:47 -04:00
Arie Gurfinkel
b1b77e57e1 (partial) fix #3788
Fixes a bug in computation of implicants inside spacer.
The instance now returns `unknown`. The root cause is the difference in what
proofs are in spacer and SMT. Spacer returns a proof of query, but horn_tactic
expects a proof of FALSE.
2020-04-10 12:26:31 -04:00
Arie Gurfinkel
44302f3f2a fix #3646 2020-04-10 10:01:14 -04:00
Nikolaj Bjorner
dde0c9bd0d fix #3833
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-08 04:34:36 -07:00
Nikolaj Bjorner
bd59fceaec na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-08 03:48:38 -07:00
Nikolaj Bjorner
7722bf1a55 declutter spacer_manager
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-08 03:35:58 -07:00
Nikolaj Bjorner
8e6bb30c82 cleanup bit2bool from models #3847
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-08 03:06:01 -07:00
Nikolaj Bjorner
b66360d0b5 fix #3809
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-07 11:15:34 -07:00
Nikolaj Bjorner
bfb26ecc6d fix #3793
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-06 16:59:36 -07:00
Nikolaj Bjorner
dff5071598 compile
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 17:03:26 -07:00
Nikolaj Bjorner
550852bc62 fix #3765
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 13:49:26 -07:00
Nikolaj Bjorner
e246f6649e tidy
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 13:31:48 -07:00
Nikolaj Bjorner
b889b110ee bool_vector, some spacer tidy
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 12:59:04 -07:00
Nikolaj Bjorner
39ffc4ece7 fix #3759
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-05 11:19:23 -07:00
Nikolaj Bjorner
426e4cc75c fix #3557
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-03 16:37:59 -07:00
Nikolaj Bjorner
896a1b2048 fix #3679
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-02 15:04:56 -07:00
Arie Gurfinkel
dcc8a29a05 [spacer] fix ugly bug in ground refutation generation (i.e., cex) 2020-03-31 12:39:31 -04:00
Arie Gurfinkel
2ec00cb81d Replace is_null with is_non_empty_string in spacer params 2020-03-31 11:21:05 -04:00
Arie Gurfinkel
cfe96fe92e [spacer] fixedpoint.get_answer() returns ground refutation for SAT 2020-03-31 10:13:37 -04:00
Arie Gurfinkel
6180a5276d
Logging facility for spacer plus minor improvements (#3368)
* [spacer] logging solver events

New option fp.spacer.trace_file='file.log' enables logging solving events
into a file.

These events are useful for debugging the solver, but also for visualizing
the solving process in a variety of ways

* [spacer] allow setting logic for solvers used by spacer

* [spacer] option to set arithmetic solver explicitly

* [spacer] improve of dumping solver_pool state for debugging

* fix propagate_ineqs to handle strict inequality

Co-authored-by: Nham Van Le <nv3le@precious3.eng.uwaterloo.ca>
2020-03-16 20:31:44 -07:00
Nikolaj Bjorner
2d0d527fe1 preserve model order to avoid clobbering regression tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-03-10 16:56:49 -07:00
Nikolaj Bjorner
541658fe02 move to abstract symbols
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-01-10 12:14:13 -08:00
Nikolaj Bjorner
b76dee7a7a na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-11-06 18:47:06 +01:00