Nikolaj Bjorner
79778767b0
add doc string
2022-06-28 14:25:43 -07:00
Nikolaj Bjorner
798a4ee86e
use IEnumerator and format
2022-06-28 14:24:05 -07:00
Nikolaj Bjorner
556f0d7b5f
use static list to connect managed and unmanaged objects
2022-06-28 14:09:22 -07:00
Nikolaj Bjorner
820c782b5e
pinned semantics
2022-06-28 13:03:52 -07:00
Nikolaj Bjorner
9836d5e6fc
missing public
2022-06-28 12:46:29 -07:00
Nikolaj Bjorner
b43965bf05
make user propagator work with combined solver
...
Then users don't have to specify SImpleSolver, but can use "Solver"
2022-06-28 09:42:28 -07:00
Nikolaj Bjorner
4c8f6b60ce
fix #6107
2022-06-27 20:51:30 -07:00
Nikolaj Bjorner
61f5489223
fix #6107
2022-06-27 16:53:18 -07:00
Nikolaj Bjorner
1fcf7cf0b7
add nl div mod axioms
2022-06-27 09:02:53 -07:00
Nikolaj Bjorner
30165ed40a
fix #6105
...
non-linear division axioms appear incomplete.
Fixed for legacy arithmetic. Fix pending for new arithmetic solver.
2022-06-26 20:37:18 -07:00
Nikolaj Bjorner
56aa4261b6
fix #6082
2022-06-23 07:43:06 -07:00
Kevin Gibbons
352666b19f
JS api: fix type for from ( #6103 )
...
* JS api: fix type for from
* whitespace
2022-06-22 14:51:40 -07:00
Kevin Gibbons
c15a000d9b
Make high-level JS API more idiomatic/type-safe ( #6101 )
...
* make JS api more idiomatic
* make JS api type-safe by default
* use strings, not symbols, for results
* add toString
* add miracle sudoku example
* ints should be ints
* add error handling
* add missing Cond to Context
* fewer side-effecting getters
2022-06-22 09:26:44 -07:00
Nikolaj Bjorner
8234eeae40
unbreak
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-22 09:03:32 -07:00
Nikolaj Bjorner
3189544050
next split
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-22 09:03:32 -07:00
Felix Kohlgrüber
a7b41c49fe
fix for spurious wakeups in scoped_timer ( #6102 )
2022-06-22 10:50:19 +01:00
Nuno Lopes
41deed59a3
fix bug in array rewriter introduced in 202ce1e
2022-06-21 22:40:40 +01:00
Nikolaj Bjorner
36a1f758bc
mask regression
2022-06-21 14:34:47 -07:00
Nikolaj Bjorner
ab9aee189b
perf #6100
2022-06-21 13:49:52 -07:00
Nikolaj Bjorner
202ce1edf0
#6100 - two perf fixes
...
remaining perf bug is dealing with very large bit-widths. mod 2^n should be computed natively based on n instead of 2^n because we pre-populate an array with all values up to n. Suppose n is 10000, the array has size 10000.
2022-06-21 12:45:29 -07:00
Nikolaj Bjorner
f24c5ca99a
#6095
...
arrays that are interpreted using as-array should be reflected back to store expressions
2022-06-21 12:42:44 -07:00
Nikolaj Bjorner
d792d30e88
Update NativeContext.cs
...
TraceToFile does not correspond to the functionality of enable_trace. Z3_enable_trace tags a trace tag as input. It can be invoked multiple times with different tags. The debug tracing then shows logs with the corresponding tags.
2022-06-21 09:09:42 -07:00
Nikolaj Bjorner
b254f4086b
Separate out native static content for Java
...
Make it easier to add native methods for callbacks (for user propagator) #6097
The Java User propagator wrapper should define a base class with virtual methods that can be invoked from functions defined in NativeStatic.txt
2022-06-21 09:09:42 -07:00
Nuno Lopes
25e915fe95
fix #5990 : deadlock in the scoped_timer
...
Thanks to Felix Kohlgrueber for reporting the bug and for the analysis
2022-06-21 16:29:09 +01:00
Nikolaj Bjorner
911134b3c7
add new heuristic rc2bin (to be tested) to maxsat
...
The rc2bin heuristic is a hybrid of rc2 and binary maxres.
It follows the suggestion by Nina to use rc2 on large cores after a single maxres relaxation step; otherwise maxres (binary) on smaller cores. In the design space of possible hybrids, this variant chooses to always apply a single layer of maxres and then rc2 for large cores.
2022-06-20 11:50:25 -07:00
Clemens Eisenhofer
2fa60aa43c
Added function to select the next variable to split on (User-Propagator) ( #6096 )
...
* Added function to select the next variable to split on
* Fixed typo
* Small fixes
* uint -> int
2022-06-19 10:49:25 -07:00
Nuno Lopes
f08e3d70a9
attempt to fix windows build bot
2022-06-17 21:15:54 +01:00
Nuno Lopes
f3c00a0a03
attempt to fix windows build bot
2022-06-17 18:05:19 +01:00
Nuno Lopes
c3407fc304
fix build of tests
2022-06-17 17:11:18 +01:00
Nuno Lopes
d9fcfdab34
fix debug build
2022-06-17 14:35:33 +01:00
Nuno Lopes
73a24ca0a9
remove '#include <iostream>' from headers and from unneeded places
...
It's harmful to have iostream everywhere as it injects functions in the compiled files
2022-06-17 14:10:19 +01:00
Nuno Lopes
70bcf0b51d
reduce sizeof(enode) from 120 to 112 bytes by swapping the order of fields
...
Yes, those 8 bytes are yours now, use responsibly.
2022-06-17 12:07:15 +01:00
Nikolaj Bjorner
08c44bc6f6
remove unused static features
...
remove static features that tax solving time on large instances.
2022-06-16 15:40:01 -07:00
Nikolaj Bjorner
477e9625ef
Don't reset the cache between applications of replace
...
tactic/lia2card shows a huge slowdown because the same replace function is called on thousands of assertions. Each time the cache gets reset with thousands of entries - they are all the same.
So don't reset the cache just because... Instead reset the cache if m_refs grows large.
2022-06-16 15:40:01 -07:00
Nikolaj Bjorner
99b606b861
add logging
2022-06-16 15:40:00 -07:00
Olaf Tomalka
7fdcbbaee9
Add high level bindings for js ( #6048 )
...
* [Draft] Added unfinished code for high level bindings for js
* * Rewrote structure of js api files
* Added more high level apis
* Minor fixes
* Fixed wasm github action
* Fix JS test
* Removed ContextOptions type
* * Added Ints to JS Api
* Added tests to JS Api
* Added run-time checks for contexts
* Removed default contexts
* Merged Context and createContext so that the api behaves the sames as in other constructors
* Added a test for Solver
* Added Reals
* Added classes for IntVals and RealVals
* Added abillity to specify logic for solver
* Try to make CI tests not fail
* Changed APIs after a round of review
* Fix test
* Added BitVectors
* Made sort into getter
* Added initial JS docs
* Added more coercible types
* Removed done TODOs
2022-06-14 09:55:58 -07:00
Nikolaj Bjorner
3d00d1d56b
prepare for equality propagation from Grobner basis
...
Attempt to remedy performance regressions from the new solver core for NLA. It misses easy lemmas, presumably due to weaker bounds information.
2022-06-14 09:51:07 -07:00
Nikolaj Bjorner
8e2027107d
fix spacing
2022-06-14 09:51:06 -07:00
Nikolaj Bjorner
55421afd61
fix regression in top-sort fix #6060
2022-06-14 09:51:06 -07:00
Nikolaj Bjorner
637120ced5
Treat arguments to recursive functions as beta redexes
...
An argument to a recursive function would escape the scope of the function application when the recursive function definitions are unfolded. Therefore, such argument occurrences need not be considered for extensional equality / equality sharing.
This filter is mostly relevant for recursive functions that take a lambda expression as argument. Lambda expressions / arrays that occur in shared occurrences are checked for extensionality.
2022-06-14 09:51:06 -07:00
Nikolaj Bjorner
25ad5cb073
prepare ground for drup trim
...
By not deleting justifications in base level unit literals it is possible for drup-trim to inspect the trail for dependencies - which clauses were used to derive a literal.
2022-06-14 09:51:06 -07:00
Nikolaj Bjorner
35d4605425
remove spurious output to stdout
2022-06-14 09:51:06 -07:00
Nikolaj Bjorner
04f94d818f
fix #6091
2022-06-14 09:51:06 -07:00
Dominic Steinhöfel
46bc726391
Better error message for mismatching sorts in substitutions in z3.substitute ( #6093 )
2022-06-13 13:46:30 -07:00
Nikolaj Bjorner
470bf27d1d
drat
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-11 09:15:32 -07:00
Nikolaj Bjorner
9cd339841a
for Arie
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-10 18:07:54 -07:00
Nikolaj Bjorner
994dab8eb6
add pre-filter for F* use case
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-10 17:56:48 -07:00
Nikolaj Bjorner
8efa3c8ade
introduce notion of beta redex to deal with lambdas in non-extensional positions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-10 17:35:01 -07:00
Nikolaj Bjorner
b9b5377c69
add a way to supress lambdas
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-10 14:37:25 -07:00
Nikolaj Bjorner
5db133f875
add a way to supress lambdas
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-10 14:35:20 -07:00
Nikolaj Bjorner
97437bce4c
Update sat_params.pyg
2022-06-09 10:09:30 -07:00
Nikolaj Bjorner
828850f298
prepare for trim
2022-06-09 10:08:57 -07:00
Nikolaj Bjorner
c5847504ff
contains-partition
2022-06-08 12:20:45 -07:00
Nikolaj Bjorner
6a1193eebd
reorg if-then-else structure
2022-06-08 10:00:45 -07:00
Nikolaj Bjorner
72a6384353
time overflow before stack overflow
2022-06-08 10:00:16 -07:00
Nikolaj Bjorner
e468386359
#5656
...
guard __del__ operator by checking if library was unloaded.
2022-06-08 09:59:29 -07:00
Nikolaj Bjorner
dee6c30f1b
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-08 08:05:19 -07:00
Nikolaj Bjorner
80604c7bc5
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-08 07:00:59 -07:00
Nikolaj Bjorner
51ed13f96a
update topological sort to use arrays instead of hash tables, expose Context over Z3Object for programmability
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-08 06:28:24 -07:00
Nikolaj Bjorner
0e6c64510a
display model in add/del format
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-07 13:14:36 -07:00
Nikolaj Bjorner
35986f3979
fix #6084
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-07 11:29:57 -07:00
Nikolaj Bjorner
fe08c9976e
fix #6081
2022-06-06 11:29:11 -07:00
Nikolaj Bjorner
cc045debac
again
2022-06-06 11:23:18 -07:00
Nikolaj Bjorner
bb6c274ad3
fix #6085
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-06 10:00:08 -07:00
Nikolaj Bjorner
dca1dcca6d
ea
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-06 08:42:47 -07:00
Nikolaj Bjorner
b629960afb
proof format
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-06 07:18:33 -07:00
Nikolaj Bjorner
ea365de820
add cut
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-04 11:59:00 -07:00
Nikolaj Bjorner
da9382956c
use common functionality
2022-06-04 11:36:05 -07:00
Christoph M. Wintersteiger
f77608ed88
Add interpreted versions of unspecified cases of fp.to_ieee_bv and fp.to_real ( #6077 )
2022-06-04 17:53:23 +01:00
Christoph M. Wintersteiger
d722c73d4c
Fix corner case in MPF FMA ( #6075 )
2022-06-04 15:55:26 +01:00
Christoph M. Wintersteiger
6422a6b5a7
Fix rounding bug in to_fp ( #6074 )
2022-06-04 14:32:08 +01:00
Christoph M. Wintersteiger
cb67f90f1a
Merge pull request #6072 from wintersteiger/cwinter_warnings
...
Fix a couple compiler warnings
2022-06-04 11:40:14 +01:00
Christoph M. Wintersteiger
33454193d4
Change FP default rounding mode in the Python API
2022-06-04 08:45:52 +01:00
Christoph M. Wintersteiger
ed7db892f9
Fix a couple compiler warnings
2022-06-04 08:00:56 +01:00
Nikolaj Bjorner
f652c57bfe
fix proof checker
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-03 20:17:59 -07:00
Nikolaj Bjorner
3d1e03e00a
add start of self-contained proof checker for arithmetic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-06-03 09:11:02 -07:00
Nikolaj Bjorner
a9d70fca1a
fix #6061
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-31 19:09:10 -07:00
Nikolaj Bjorner
e9cff33feb
fix #5068
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-30 11:24:58 -07:00
Nikolaj Bjorner
15c47808d6
#6059
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-30 11:03:50 -07:00
Nikolaj Bjorner
da3f31697b
fix proof checking for bounds propagation
2022-05-30 10:18:16 -07:00
Nikolaj Bjorner
cb279fba2b
fix sign for binary propagation hints
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-29 10:32:05 -07:00
Nikolaj Bjorner
bffa7ff2f6
add hint verification, combine bounds/farkas into one rule
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-29 10:12:05 -07:00
Nikolaj Bjorner
63b9c4bdf0
for AG
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-28 18:49:27 -07:00
Nikolaj Bjorner
6abea2de2c
fix nightly, fix regression identified by Nuno
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-28 18:03:15 -07:00
Nikolaj Bjorner
b8532bec7e
remove pragma from cpp file
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-28 14:48:38 -07:00
Nikolaj Bjorner
35db0ae58b
workaround manylinux build failure (it is advertized as a compiler bug)
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-28 14:34:58 -07:00
Nikolaj Bjorner
48701826f1
indent
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-28 13:57:03 -07:00
Nikolaj Bjorner
8d980ea704
remove internal configuration
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-28 12:13:18 -07:00
Nikolaj Bjorner
dd46224a1d
use structured proof hints
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-28 09:37:41 -07:00
Nikolaj Bjorner
7da9f12521
expose description of global parameters #6048
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-27 08:50:40 -04:00
Nikolaj Bjorner
de892ed9f2
fix #6054
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-26 15:51:57 -04:00
Nikolaj Bjorner
f77037e9a5
expand select/store when I/J are values #6053
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-25 20:23:43 -04:00
Nikolaj Bjorner
4d8e4b5bd3
fix #6052
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-25 17:21:01 -04:00
Nikolaj Bjorner
8c95dff33b
cnf
2022-05-22 09:10:26 -04:00
Nikolaj Bjorner
c850259f89
rw
2022-05-22 07:54:27 -04:00
Nikolaj Bjorner
386c511f54
core opt
2022-05-21 10:27:37 -04:00
Nikolaj Bjorner
127af83c53
remove ad-hoc diagnostics
2022-05-21 10:27:37 -04:00
Nikolaj Bjorner
40fe472e95
nit
2022-05-18 13:23:33 -07:00
Nikolaj Bjorner
363b69f588
fix #6034
2022-05-16 16:44:13 -07:00
Nikolaj Bjorner
f6b2874d7c
update to take effect of def_API for callback functions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-16 10:30:54 -07:00