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