3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-05-17 12:44:45 +00:00
Commit graph

16634 commits

Author SHA1 Message Date
Nikolaj Bjorner
9290de8223 make euf-egraph resilient to when there are no consumers to literal propagation.
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-18 07:57:19 -08:00
Nikolaj Bjorner
7368f9f7d3 increase build version, better propagation in euf-egraph, handle assumptions in sat.smt
- increase build version to 4.12.1. This prepares updated release for MacOs-11 build on x86
- move literal propagation mode in euf-egraph to a callback and traversal of equivalence class. Track antecedent by newest equality instead of root. This makes equality propagation to literals have similar behavior as in legacy solver and appears to result in a speedup (10% fewer conflicts on QF_UF/QG-classification/qg5/iso_icl478.smt2 in preliminary testing)
- fix interaction of pre-processing and assumptions. Pre-processing has to freeze assumption literals so they don't get eliminated. This is similar to dependencies that are already frozen.
2023-01-17 14:07:07 -08:00
Jakob Rath
c954e82503 assertion should hold now after recent fix 2023-01-16 16:51:16 +01:00
Jakob Rath
015fcb457c avoid warnings 2023-01-16 16:50:36 +01:00
Jakob Rath
b6f8538d20 Update parity lemmas
p != 0  ==>  odd(r)
... added premise p != 0

parity(p) < k    ==>  r <= 2^(N - k) - 1
... do this also in the other branch
    (otherwise we hit the UNREACHABLE in bench3)
2023-01-16 16:46:12 +01:00
Jakob Rath
26e7d0d35a We need to use expr_ref when storing expressions across add calls
Without this, bench3 created a constraint 2^parity == x * parity which
should have been 2^parity == x * x_inv.
2023-01-16 15:41:04 +01:00
Nikolaj Bjorner
dde5218b29 fix mbqi value caching issue raised by Clemens and Martin 2023-01-15 22:47:34 -05:00
Nikolaj Bjorner
d5fde2e578 #6538
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-15 15:58:29 -05:00
Clemens Eisenhofer
b33911de13 Added missing minimality lemma for pseudo_inverse 2023-01-15 12:11:15 +01:00
Nikolaj Bjorner
4f7f4376b8 fix bug in new core not detecting conflict, fix #6525, add tactic doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-14 17:20:43 -05:00
Nikolaj Bjorner
f1805138e7 missing code signing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-13 16:13:20 -08:00
Nikolaj Bjorner
60fef928cc missing code signing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-13 16:12:48 -08:00
Jakob Rath
caf624589e Accelerate interval widening in refine_equal_lin 2023-01-13 15:41:28 +01:00
Nikolaj Bjorner
d289434b65 fix #6535 2023-01-12 19:06:30 -08:00
Nikolaj Bjorner
25b0b1430c move bound_manager to simplifiers, add bound manager to extract_eqs for solve-eqs #6532 2023-01-12 12:42:28 -08:00
Jerry James
e5e16268cc
Initialize m_istamp_id in lookahead::init (#6533) 2023-01-12 11:20:28 -08:00
Jakob Rath
057e115bbc Update op_constraint simplifications 2023-01-12 13:31:16 +01:00
Jakob Rath
0a2c69332d disable try_add_overflow_bound, add note on possible rewrite 2023-01-11 13:39:41 +01:00
Jakob Rath
fa036ae486 track clause name for debugging 2023-01-11 10:50:14 +01:00
Jakob Rath
1d349fb0e6 compile 2023-01-11 10:50:14 +01:00
Clemens Eisenhofer
7aeabe39a3 Removed remaining debug output 2023-01-11 10:32:38 +01:00
Clemens Eisenhofer
2581754c3e Forward propagation for op_constraints + optimization for left/right shift 2023-01-11 10:29:26 +01:00
Nikolaj Bjorner
8970a54eaa expose parameters to control behavior for #5660 2023-01-10 22:06:19 -08:00
Nikolaj Bjorner
1c7ff72ae2 add tactic doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-10 18:58:25 -08:00
Nikolaj Bjorner
d415f07386 memory leak on proof justifications
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-10 18:58:25 -08:00
Nikolaj Bjorner
b700dbffce fix #6528 2023-01-10 14:42:23 -08:00
Brecht Sanders
2bd933d87f
Fix hwf.cpp for MinGW-w64 32-bit clang (#6529)
Fix src/util/hwf.cpp for building with MinGW-w64 clang targetting Windows 32-bit.
Without this fix there is an arror about `__control87_2` not being defined.
2023-01-10 13:44:11 -08:00
Nikolaj Bjorner
c3e31149a5 fix #6530
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-10 13:43:17 -08:00
Jakob Rath
1d0ad1ccc0 fix build (add conversion operator) 2023-01-10 17:18:56 +01:00
Jakob Rath
0c799524e8 try splitting x-intervals 2023-01-10 16:25:28 +01:00
Jakob Rath
49848a4298 extract function update_bounds_for_xs 2023-01-10 15:16:24 +01:00
Jakob Rath
abbe139abb Use M for 2^N 2023-01-10 14:50:11 +01:00
Jakob Rath
913aa9f43e debugging output 2023-01-10 14:33:48 +01:00
Jakob Rath
0f43c1c71d adjust_bound fails if [min,max] contains a multiple of N 2023-01-10 13:32:36 +01:00
Nikolaj Bjorner
a4d4e2e483 track assertions 2023-01-09 15:18:33 -08:00
Nikolaj Bjorner
64ec8acd30 fix model reconstruction ordering for elim_unconstrained 2023-01-09 15:18:19 -08:00
Nikolaj Bjorner
eda25e0ebb get-assignment
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-09 10:14:19 -08:00
Nikolaj Bjorner
30e0f78c16 remove exit
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-09 10:00:36 -08:00
Jakob Rath
b6ea9e31e5 output 2023-01-09 17:20:40 +01:00
Jakob Rath
181995a4fb extend invariant check 2023-01-09 17:16:56 +01:00
Jakob Rath
c55d316c6a Rename to get_assignment to prevent clash with class name 2023-01-09 17:15:40 +01:00
Jakob Rath
3f5e6a4bfa bugfix: don't intersect forbidden intervals if variable is already assigned 2023-01-09 17:10:18 +01:00
Clemens Eisenhofer
aafd9039db Bugfix 2023-01-09 14:14:19 +01:00
dependabot[bot]
a4f2a1bb2e
Bump json5 from 2.2.1 to 2.2.3 in /src/api/js (#6527)
Bumps [json5](https://github.com/json5/json5) from 2.2.1 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.1...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-09 09:16:55 +00:00
Nikolaj Bjorner
49ee570b09 split into separate function
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-08 19:16:46 -08:00
Nuno Lopes
5899fe3cea
Add rewrite for array selects of chain of stores of a same value (#6526)
* Add rewrite for array selects of chain of stores of a same value

Example:
```smt
(declare-fun mem () (Array (_ BitVec 4) (_ BitVec 4)))
(declare-const x (_ BitVec 4))
(declare-const y (_ BitVec 4))
; simplifies to #x1
(simplify (select (store (store (store mem #x1 #x1) y #x1) x #x1) #x1))
```

* Update array_rewriter.cpp

* Update array_rewriter.cpp
2023-01-08 19:09:01 -08:00
Nikolaj Bjorner
1ddef117a2 several fixes to proof logging in legacy solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-08 16:11:31 -08:00
Nikolaj Bjorner
61b90e64b2 disable new simplifcation for multiplier until really understood
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-08 14:17:49 -08:00
Nikolaj Bjorner
fcea32344e add missing tactic descriptions, add rewrite for tamagochi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-01-08 13:32:26 -08:00
Nikolaj Bjorner
95cb06d8cf add quasi macro detection 2023-01-06 19:53:55 -08:00