Nikolaj Bjorner
63804c5296
na
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner
74e73f2b84
reorg to use datatypes
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner
48026edd7f
move to hide bits
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner
acc9c21653
move to hide bits
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner
cfa6bd4534
update python build dependencies
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner
b14499f230
prepare for sls experiment
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner
cf72a916f8
bugfixes, adding plugin solver
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner
659e384ee7
bugfixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner
cd6382f1c8
fix alias bug
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner
9cde4f7e05
bugfixes
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner
d7e419b7ed
fixes and checks
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner
ab0459e5aa
bugfixes
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner
7dc4ce8259
use tuned gcd to compute mult inverse
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner
4391c90960
na
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner
991537836b
fixes based on unit tests
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner
046db662f9
na
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner
388b2f5eec
n/a
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner
ddf2d28350
add tests for evaluation
2024-03-05 12:28:30 -08:00
Nikolaj Bjorner
1cf008dd0a
updates
2024-03-05 12:28:29 -08:00
Nikolaj Bjorner
bd323d6fab
save
2024-03-05 12:28:29 -08:00
Nikolaj Bjorner
f39756c74b
initial stab at new bv-sls based on repair actions
2024-03-05 12:28:29 -08:00
Nikolaj Bjorner
79b7d8a9e2
throttle squash-store #7134
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-21 10:00:11 -08:00
Nikolaj Bjorner
84d592c1f2
fix #7121
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-16 09:59:57 +07:00
Bruce Mitchener
53f89a81c1
Fix some typos. ( #7115 )
2024-02-07 23:06:43 -08:00
Nikolaj Bjorner
bc70282a18
mute some compiler warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-03 15:42:06 -08:00
Nikolaj Bjorner
9425c419ad
port remaining egraph update
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-03 15:38:05 -08:00
Nikolaj Bjorner
a5a819c291
port updates to egraph from poly
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-03 12:48:58 -08:00
Nikolaj Bjorner
36453c5949
use while (true) in do loops with continue
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-23 14:56:57 -08:00
Nikolaj Bjorner
7486e8724f
track quantifier instantiation method in proof hint #7080
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-20 17:44:07 -08:00
Nikolaj Bjorner
4ff352fcac
fix #7084
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-15 08:49:14 -08:00
Nikolaj Bjorner
ddf2eb57d6
deleted parameter
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-12 10:42:08 -08:00
Nikolaj Bjorner
59b18d4a14
create as_bin as_hex wrappers for display
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-12 09:19:22 -08:00
Nikolaj Bjorner
955c80e98b
import updates from poly branch
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-10 19:42:58 -08:00
Nikolaj Bjorner
696b70fddb
fix
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-04 11:00:07 -08:00
Nikolaj Bjorner
b75367ffc7
port improvements to arith rewriter
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-03 13:57:09 -08:00
Bruce Mitchener
d66df2616f
Fix some typos. ( #7075 )
2023-12-29 15:20:06 +00:00
Jakob Rath
ec2b8eb4ca
Merge shared parts from polysat branch ( #7063 )
...
* sat_literal: make constants constexpr
* dlist: rename elem -> list
* tbv: use get_bit
* additional pdd and rational tests
* egraph: callback setters take functions by value
This allows to set callbacks without defining a separate variable for
the callback lambda.
(previous usage does one copy of the function, exactly as before)
* cmake: enable compiler error when non-void function does not return value
2023-12-28 11:11:53 -08:00
Nikolaj Bjorner
ad07e0e18d
add sub and super-slice functionality directory to euf-bv-plugin
2023-12-23 10:27:54 -08:00
Nikolaj Bjorner
cd331b8a56
remove reference to tactic.h
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-22 13:17:04 -08:00
Nikolaj Bjorner
7adb402a3f
add missing dependencies
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-22 12:06:30 -08:00
Nikolaj Bjorner
5f451182f7
missing cmake list
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-22 12:02:24 -08:00
Nikolaj Bjorner
e321643bf5
move sls core functionality to be independent of tactic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-22 12:00:52 -08:00
Nuno Lopes
cab3c45863
remove unnecessary parameter copies
2023-12-22 16:11:06 +00:00
Nuno Lopes
c4fa719751
revert last two commits; MSVC doesn't like to statically allocate flexible arrays
2023-12-20 19:10:05 +00:00
Nuno Lopes
c9c53b7c65
tmp_enode: don't heap allocate an app. store it inline instead.
...
Saves heap allocations and double indirections
2023-12-20 18:19:20 +00:00
Nuno Lopes
4898a156d8
shrink ast's app by 8 bytes on 64-bit platforms when number of args > 0
2023-12-20 16:58:45 +00:00
Nuno Lopes
b2d5c24c1d
remove a few string copies
2023-12-20 16:55:09 +00:00
Nikolaj Bjorner
ea44c110bb
gc expressions in the scope of updates, not old expressions
2023-12-18 20:08:29 -08:00
Nikolaj Bjorner
13be3c3fbb
reset model converter between rounds to elim-unconstrained.
2023-12-18 16:57:52 -08:00
Nikolaj Bjorner
0daa05aab2
add ability to log selected bv rewrites
2023-12-18 16:57:52 -08:00
Nikolaj Bjorner
2f2bf749b9
fixes to intblast encoding and more arithmetic rewriters
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-17 18:15:51 -08:00
Nikolaj Bjorner
bb99f44214
fix bugs in elim-unconstr2 and fix bugs in intblast_solver
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-17 17:42:55 -08:00
Nikolaj Bjorner
4867073290
remove windowsArm64 from nightly
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-17 10:04:49 -08:00
Nikolaj Bjorner
d0a59f3740
intblast with lazy expansion of shl, ashr, lshr
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-16 15:12:57 -08:00
Bruce Mitchener
50e0fd3ba6
Use noexcept
more. ( #7058 )
2023-12-16 12:14:53 +00:00
Nikolaj Bjorner
b44ab2f620
add rewriters for and
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-15 14:55:02 -08:00
Nikolaj Bjorner
9293923b8a
Add intblast solver
2023-12-15 13:50:38 -08:00
Christoph M. Wintersteiger
2e83352d42
Fix bug in fp.round_to_integral ( #7060 )
2023-12-15 08:34:27 -08:00
Bruce Mitchener
e90a844508
Use override
more. ( #7059 )
2023-12-15 08:44:57 +00:00
Nikolaj Bjorner
8e26c2af17
fix #7049
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-08 13:05:21 -08:00
Christoph M. Wintersteiger
6910a4e18c
Fix to_fp_signed ( #7034 )
2023-12-03 16:38:06 -08:00
Nikolaj Bjorner
ea3628e50b
remove hoist functionality
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-03 16:28:43 -08:00
Nikolaj Bjorner
1de25ed09c
pending files
2023-12-02 19:43:51 -08:00
Nikolaj Bjorner
ba8d8f0af7
Disable hoist entirely, it is bad on QF_LIA and does not help on other observed cases
2023-12-02 15:40:47 -08:00
Nikolaj Bjorner
5c1e7f7112
fix #7029
2023-12-02 10:48:40 -08:00
Nikolaj Bjorner
a15a7cee7b
touch
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-01 14:13:05 -08:00
Nikolaj Bjorner
faf14012ba
Regressions reported by Guido
2023-12-01 13:32:13 -08:00
Nikolaj Bjorner
b52fd8d954
add EUF plugin framework.
...
plugin setting allows adding equality saturation within the E-graph propagation without involving externalizing theory solver dispatch. It makes equality saturation independent of SAT integration.
Add a special relation operator to support ad-hoc AC symbols.
2023-11-30 13:58:30 -08:00
Nikolaj Bjorner
26440ed3d8
deal with ubuntu/clang warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-29 15:45:19 -08:00
Nikolaj Bjorner
e9abdbb7a4
fix #7011
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-29 15:08:08 -08:00
Nikolaj Bjorner
2f01b5b567
re-enable delayed literal propagation
2023-11-29 14:00:17 -08:00
Nikolaj Bjorner
4289cfac8d
revert some fixes to euf
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-29 13:47:59 -08:00
Nikolaj Bjorner
d469c1054e
remove separate to_add_literal queue
2023-11-29 12:45:43 -08:00
Nikolaj Bjorner
e972eb33b2
#6523 - contains_ptr bug regarding etable reinserts
2023-11-29 10:44:36 -08:00
Nikolaj Bjorner
79bbbf76d0
fix #7006
2023-11-28 15:06:27 -08:00
Bruce Mitchener
9d1ceab1f2
cmake: Use FindPython3
. ( #7019 )
...
`FindPythonInterp` has been deprecated for a long time and is more
verbal about that deprecation now.
The build system no longer uses `PYTHON_EXECUTABLE` but instead uses
`Python3_EXECUTABLE`.
2023-11-27 11:20:21 +01:00
Nikolaj Bjorner
b9455c3692
#6999 deal with implicit assumptions, more robust pattern matching
...
The code is making some assumptions that arrays are 1-dimensional. This is not generally true.
Introducing pattern matching to ensure the assumption is met.
Avoid get_arg(..) especially when there is an approach based on pattern matching recognizers.
2023-11-17 10:06:20 -08:00
Nikolaj Bjorner
ad2107f079
fix #6978
2023-11-14 08:45:22 -08:00
Nikolaj Bjorner
f97dd34028
tests
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-30 14:54:04 -07:00
Christoph M. Wintersteiger
9d57bdd2ef
Assorted fixes for floats ( #6968 )
...
* Improve 4be26eb543
* Add-on to 0f4f32c5d0
* Fix mk_numeral
* Fix corner-case in fp.div
* Fixes for corner-cases in mk_to_fp_(un)signed
* Fix out-of-range results in mpf_manager::fma
* Further adjustments for fp.to_fp_(un)signed
* fp.to_fp from real can't be NaN
* fp.to_fp from reals: add bounds
* Fix NaN encodings in theory_fpa.
* Fix fp.fma rounding with tiny floats
* Fix literal creation order in theory_fpa
2023-10-29 17:29:42 -07:00
Nikolaj Bjorner
93427f1175
regression test 2447
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-26 08:48:58 -07:00
Nikolaj Bjorner
0b8d7b755d
useful string rewrites
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-26 03:48:50 -07:00
Nikolaj Bjorner
7b490543ca
add missing simplification; handle nit #6952
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-25 10:00:15 -07:00
Nikolaj Bjorner
0859be5649
#6953
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-25 09:07:04 -07:00
Nikolaj Bjorner
8fac89cdcc
enable more simplification in case inequality triggers a change.
2023-10-21 19:58:39 -07:00
Nikolaj Bjorner
5942dc24bd
#6523
2023-10-15 11:41:25 -07:00
Nikolaj Bjorner
61319ffd85
cache is_shared information in the enode
...
observed perf overhead for QF_NIA is that assume_eqs in theory_lra incurs significant overhead when calling is_relevant_and_shared. The call to context::is_shared and the loop checking for beta redexes is a main bottleneck. The bottleneck is avoided by caching the result if is_shared inside the enode. It is invalidated for every merge/unmerge.
2023-09-23 17:19:06 -07:00
Nikolaj Bjorner
643512613a
simplify last_index function
2023-09-18 12:52:59 -07:00
Nuno Lopes
b1c52c0b16
don't crash when a function doesn't have a model when converting a solver to string
2023-09-18 10:16:19 +01:00
Nikolaj Bjorner
b87a91379c
fix #6894
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-14 17:14:14 -07:00
Nikolaj Bjorner
50d76a2fe3
fix #6894
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-14 17:14:14 -07:00
Nikolaj Bjorner
4d9af7848d
add parameter to disable pattern inference #6884
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-03 15:27:37 -07:00
Nikolaj Bjorner
99239068ba
some template instantiations #6869
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-03 15:21:49 -07:00
Nuno Lopes
00593609c5
minor code simplification
2023-08-30 12:50:29 +01:00
Nikolaj Bjorner
63467f9dfa
fix #6876
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-25 17:14:35 -07:00
Nikolaj Bjorner
1d9e0feb84
Merge branch 'master' of https://github.com/z3prover/z3
2023-08-21 09:19:16 -07:00
Nikolaj Bjorner
79aa317af4
remove if-def inside cpp file that should not be there #6869
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-21 09:19:06 -07:00
Nuno Lopes
57c667e355
remove unused code
2023-08-20 15:16:47 +01:00
Nuno Lopes
8210aafb69
ast compare_nodes: fail faster when comparing quantifier expressions
2023-08-20 14:09:04 +01:00
Nikolaj Bjorner
5e3df9ee77
Arith min max ( #6864 )
...
* prepare for dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* snapshot
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more refactoring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more refactoring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* pass in u_dependency_manager
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* address NYIs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more refactoring names
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* eq_explanation update
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add outline of bounds improvement functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix unit tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove unused structs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* convert more internals to use u_dependency instead of constraint_index
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* convert more internals to use u_dependency instead of constraint_index
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remember to push/pop scopes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use the main function for updating bounds
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>
* remove reset of shared dep manager
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* disable improve-bounds, add statistics
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
---------
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-19 17:44:09 -07:00