Nikolaj Bjorner
55fc57b5c7
relax out of range restrictions to handle large intervals
2025-01-26 11:24:26 -08:00
Nikolaj Bjorner
4f2272dbb2
increase log level for 'set value failed'
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-25 23:43:53 -08:00
Nikolaj Bjorner
7fb6497ce1
fix return value when in external mode bool-flip
...
return null_bool_var instead of false (= 0).
2025-01-25 22:57:58 -08:00
Nikolaj Bjorner
d4f2de734b
add smt_params dependency to sls in cmakelists
2025-01-25 22:38:32 -08:00
Nikolaj Bjorner
12e8082d86
consolidate functionality
2025-01-25 22:34:58 -08:00
Nikolaj Bjorner
a7010574c8
align use_list with number of variables during flatten, push clause and bool_vars_of addition into clause and atom creation time.
2025-01-25 20:47:57 -08:00
Nikolaj Bjorner
7fc59b65ad
add recursive updates to lookahead
2025-01-25 16:10:00 -08:00
Nikolaj Bjorner
57cb988461
fix gcc build
2025-01-25 15:51:58 -08:00
Nikolaj Bjorner
60fb53ad34
fix debug build
2025-01-25 15:50:07 -08:00
Nikolaj Bjorner
ecc302bdc8
fix trace build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-25 11:38:58 -08:00
Nikolaj Bjorner
d805322dfb
create separate file for expression based lookahead solver
2025-01-25 11:19:40 -08:00
Nikolaj Bjorner
f6e7dcff47
Fix crash exposed in QF_UFNIA
2025-01-24 15:31:10 -08:00
Nikolaj Bjorner
9e8dd68ee6
disable lookahead on compound values (fixes bug reported by Clemens), bail to rationals when there are reals.
2025-01-24 11:01:18 -08:00
Nikolaj Bjorner
053349cd36
remove incorrect calls to VERIFY in array solver
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-24 09:54:21 -08:00
Nikolaj Bjorner
0e8969ce60
deal with compiler warnings and include value exchange prior to final check.
2025-01-24 09:40:33 -08:00
Nikolaj Bjorner
ce615ee116
avoid repeated clauses during scoring function
2025-01-23 10:51:12 -08:00
Nikolaj Bjorner
b149d1f803
count every lookahead as activity
2025-01-22 22:57:43 -08:00
Nikolaj Bjorner
4d33f442b9
enable value import in parallel mode
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-22 22:45:01 -08:00
Nikolaj Bjorner
e32f685f14
disable backoff on smt->sls value export
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-22 22:15:10 -08:00
Nikolaj Bjorner
beb9d2e553
update restart next
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-22 21:40:35 -08:00
Nikolaj Bjorner
ec3915218d
modify backoff mechanisms and theory exchange
2025-01-22 20:32:30 -08:00
Nikolaj Bjorner
3a3e176dce
fix build for tests
2025-01-22 13:30:12 -08:00
Nikolaj Bjorner
6893e782ed
add cases for new parameters for ts build
2025-01-22 11:59:36 -08:00
Nikolaj Bjorner
bd566f16b1
Expose PARAMETER_INTERNAL and PARAMETER_ZSTRING in case API users access these #7522
2025-01-22 11:46:11 -08:00
Nikolaj Bjorner
ef275ab1a0
fix #7523
2025-01-22 11:46:11 -08:00
Nikolaj Bjorner
4fce314bf2
improve diagnostics for flips
2025-01-22 11:46:10 -08:00
Nikolaj Bjorner
72c7a9cf6a
fix re-entrancy bug between ddfw and theory solvers.
...
Flips triggered from external sources should not trigger callbacks.
2025-01-22 11:46:10 -08:00
Nikolaj Bjorner
071c9abd69
Update macro_finder.cpp
...
move to justified_expr
2025-01-22 11:46:10 -08:00
Nikolaj Bjorner
decaee83f3
move from justified_expr to dependent_expr by aligning datatypes
2025-01-22 11:46:10 -08:00
Michał Górny
fc9ff946b7
use cmake from PyPI only when system executable is not available ( #7514 )
...
Rather than pulling `cmake` from PyPI unconditionally, add it to build
dependencies only if the system `cmake` executable cannot be found.
This eliminates an unnecessary dependency on systems featuring CMake,
and ensures that whenever possible, a downstream patched CMake version
is used that is more compatible with the system in question.
2025-01-21 14:39:19 -08:00
Nikolaj Bjorner
d944779e18
move away from sets and into vectors for data associated with Boolean variables
2025-01-21 14:30:11 -08:00
Nikolaj Bjorner
92ad285951
use vector instead of indexed uint set for Boolean var occurrences
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-21 13:35:48 -08:00
Nikolaj Bjorner
eebff13f8b
don't store full use list of clauses to avoid space overhead
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-21 13:23:13 -08:00
Nikolaj Bjorner
fb0eb029a8
use lifted bool
2025-01-21 09:13:38 -08:00
Clemens Eisenhofer
1553bae20c
Performance improvements for seq-sls ( #7519 )
...
* Improve length repair
* Fixed arguments
* Special case regex membership with constant string
* Trying hybrid eq-repair strategy
* Different heuristic
* Fixed stoi
2025-01-21 08:01:59 -08:00
Nikolaj Bjorner
3cdcd831b1
fix build breaks
2025-01-20 20:36:26 -08:00
Nikolaj Bjorner
a3f7541719
fix #7517
2025-01-20 19:04:36 -08:00
Nikolaj Bjorner
fb5834268e
fix unit tests, add subsampling mode for false literals
2025-01-20 17:34:59 -08:00
Nikolaj Bjorner
22e4054674
add clausal lookahead to arithmetic solver as part of portfolio
...
have legacy qfbv-sls solver use nnf pre-processing. It relies on it for correctness of the score updates.
2025-01-20 16:16:46 -08:00
Nikolaj Bjorner
a941f5ae84
reset m_conflict indicator on sls model
2025-01-15 20:56:44 -08:00
Nikolaj Bjorner
557c01a0e5
fix #7499 - add another way to avoid adding user-defined functions to models if user don't want it
...
- you can already do model.user_functions=false
- now you can also specify smtlib2_compliant (globally) and get smtlib2 behavior
2025-01-15 19:52:04 -08:00
Nikolaj Bjorner
a5e1e7f5d2
set lookahead mode to default
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-15 19:10:25 -08:00
Nikolaj Bjorner
158dea575b
add case for ite
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-15 19:07:18 -08:00
Nikolaj Bjorner
eed3fa6d49
add case for ite
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-15 18:54:50 -08:00
Nikolaj Bjorner
f422e26b3c
add case for ite
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-15 18:53:26 -08:00
Nikolaj Bjorner
5365952796
fix #7510
2025-01-15 13:12:20 -08:00
Nikolaj Bjorner
a84130e844
prepare update stack for Boolean lookaheads
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-15 12:33:31 -08:00
Nikolaj Bjorner
498c9a686b
throw exceptions where sls lacks support
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-15 11:20:03 -08:00
Nikolaj Bjorner
5fec07a57e
fix unit test
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-15 08:38:14 -08:00
Nikolaj Bjorner
878fd48819
fix compiler warning
2025-01-14 16:38:22 -08:00
Nikolaj Bjorner
11909cfdff
allow a plateau mode
2025-01-14 16:38:12 -08:00
Nikolaj Bjorner
076d3dbf13
fix assertion violation in the code path where the simplifier throws a memout exception
2025-01-14 16:37:53 -08:00
Nikolaj Bjorner
31d4ba0009
re-introduce option to dump arithmetic lemmas to std-out
2025-01-14 13:54:56 -08:00
Nikolaj Bjorner
8515cebd19
add plateau option
2025-01-14 13:54:20 -08:00
Nikolaj Bjorner
648cf9602e
fix uninitialized variable warnings
2025-01-14 13:54:05 -08:00
Lev Nachmanson
27cc928631
try m_fixed_var_eh
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-01-14 07:11:53 -10:00
Nikolaj Bjorner
8c5abdf818
Can's fix to relevancy propagation
2025-01-14 08:14:53 -08:00
Nikolaj Bjorner
89ed4d6c8b
use monomial variable, not the fixed variable
2025-01-14 07:27:59 -08:00
Nikolaj Bjorner
a08a3ee32b
align reslimit with ddfw
2025-01-13 18:19:35 -08:00
Nikolaj Bjorner
3c5b8bd03d
Update parray.h
...
deal with compiler warnings by initializing m_elem
2025-01-13 18:19:12 -08:00
Nikolaj Bjorner
c01336553e
move fixed variable propagation to nla_core/monomial_bounds
2025-01-13 18:18:53 -08:00
Nikolaj Bjorner
f3e7c8c9df
include QF_SNIA
2025-01-13 08:13:39 -08:00
Nikolaj Bjorner
943d881340
fixes to hybrid mode
2025-01-12 16:59:27 -08:00
Nikolaj Bjorner
9770c00592
adjust heuristic in random-inc-dec for finite domains
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-12 14:23:18 -08:00
Nikolaj Bjorner
97acf71d2d
fixup registration with new terms during internalization
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-12 14:12:02 -08:00
Nikolaj Bjorner
d3183fafc7
remove binspr experiment
2025-01-12 13:39:26 -08:00
Nikolaj Bjorner
8d2b9b41fd
fix compiler warnings
2025-01-12 13:39:13 -08:00
Nikolaj Bjorner
85356c5548
enable propagation when there are changed columns
...
- to fix bug reported by Nikhil Swamy/F*
- deal with some compiler warnings by adding annotations
2025-01-12 13:30:31 -08:00
Nikolaj Bjorner
558758fcf1
another stab at fixing substring interval extraction combinatorics
...
- i is the offset into val_other. The valid offsets are 0... |val_other|-1.
- j is the length of the substring. It only makes sense to extract strings of length 1,... |val_other|-i
2025-01-12 11:14:17 -08:00
Nikolaj Bjorner
fa22b646aa
address some build warnings.
2025-01-12 10:18:11 -08:00
Nikolaj Bjorner
b780b54574
optimization of sls-arith and fix build warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-12 09:49:48 -08:00
Nikolaj Bjorner
49dba337f7
fix ubuntu clang build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-11 20:02:31 -08:00
Nikolaj Bjorner
c6f58c8bf7
updates to some_string_in_re per code review comments
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-11 17:47:27 -08:00
Clemens Eisenhofer
c572fc2e4f
Regex membership ( #7506 )
...
* Make finding a word in the regex iterative
* Fixed gc problem
2025-01-11 17:41:37 -08:00
Nikolaj Bjorner
9a237d55ca
fix misc build warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-11 17:41:24 -08:00
Nikolaj Bjorner
d97bd48669
adding lookahead mode to arithmetic sls solver
2025-01-11 15:47:17 -08:00
Nikolaj Bjorner
847278fba8
adding global lookahead variant to sls arith solver
2025-01-09 16:47:33 -08:00
Nikolaj Bjorner
f9ce41bd2b
Update theory_lra.cpp
2025-01-08 15:41:08 -08:00
Nikolaj Bjorner
270c127407
sketch fixed variable callback mechanism
2025-01-08 12:50:46 -08:00
Nikolaj Bjorner
c1a62d346c
add missing return
2025-01-07 21:02:02 -08:00
Nikolaj Bjorner
1cb126f3dd
remove assertion that doesn't build
2025-01-07 17:16:33 -08:00
Nikolaj Bjorner
2dd4faf598
sketch expr_inverter approach for eliminating unconstrained regex containment.
2025-01-07 16:53:57 -08:00
Nikolaj Bjorner
ab9ea4e6e7
Add outline of elimination for regex membership constraints
2025-01-07 14:17:28 -08:00
Clemens Eisenhofer
5c60c6662c
Small seq-sls fixes ( #7503 )
...
* Calculation based on wrong update list
* Fixed regex problem
2025-01-07 09:26:00 -08:00
Nikolaj Bjorner
e133a297ba
change score for comparisons to use hamming distance
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-07 03:58:44 -08:00
Nikolaj Bjorner
f77f259542
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-06 18:12:12 -08:00
Nikolaj Bjorner
b6f45bcd9f
limit lookahead count to 20
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-06 18:06:00 -08:00
Nikolaj Bjorner
aed0ad3505
limit lookahead count to 10
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-06 17:40:17 -08:00
Nikolaj Bjorner
59fad2b10a
shave off bv test
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-06 17:25:30 -08:00
Nikolaj Bjorner
e3e650a249
optimzie
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-06 15:36:20 -08:00
Nikolaj Bjorner
6787d87623
hoist update stack creation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-06 13:16:07 -08:00
Nikolaj Bjorner
5a5570ef4e
remove type check in insert_update
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-06 11:12:08 -08:00
Nikolaj Bjorner
67827bfe56
restore nyi trace
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-06 08:37:14 -08:00
Nikolaj Bjorner
a8b88b1850
fish for nyi
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-06 07:30:16 -08:00
Nikolaj Bjorner
e45f186e67
make ite evaluation sensitive to using temporary Boolean assignment
2025-01-05 20:59:14 -08:00
Nikolaj Bjorner
be5a16cc4d
fixup scoring function for sle and ule
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-05 19:05:33 -08:00
Nikolaj Bjorner
b3e410b5e4
fixup tabu checks to revised representation
2025-01-05 14:24:41 -08:00
Nikolaj Bjorner
71a4801c1d
add shortcuts to convert to python objects in cases of numerals and strings
2025-01-05 12:17:38 -08:00
Nikolaj Bjorner
cd41b21fa2
fix #7501
2025-01-05 11:59:59 -08:00
Nikolaj Bjorner
f6e3c5ae79
re-enable fixed tabu
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-05 11:49:12 -08:00
Nikolaj Bjorner
6b17862886
bug-fixes to root-literal sls
2025-01-05 11:31:12 -08:00
Nikolaj Bjorner
bed085934f
bugfixes to bv-sls
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-04 20:57:17 -08:00
Nikolaj Bjorner
710f757495
fixup parameter handling for enabling bv-lookahead
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-04 15:57:02 -08:00
Nikolaj Bjorner
05f166f736
add py_value to selected classes in python bindings, add mode for input-assertion based lookahead solving
2025-01-04 13:40:49 -08:00
Nikolaj Bjorner
7e4681d836
enable rotation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-03 11:49:39 -08:00
Nikolaj Bjorner
5a57636cd8
use native sdiv
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-03 10:56:15 -08:00
Nikolaj Bjorner
bfcd75595e
update test file
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-02 21:03:50 -08:00
Nikolaj Bjorner
1131d8dbe6
update test file
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-02 20:59:40 -08:00
Nikolaj Bjorner
e9c656701d
throttle costly flips by reset and random
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-02 20:39:41 -08:00
Nikolaj Bjorner
70f7feabc8
flip tabu on predicate being repaired, add model rotation code
2025-01-02 14:39:36 -08:00
Nikolaj Bjorner
f67e1b8b8b
only allow flip if it doesn't increase unsat score
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-02 08:39:43 -08:00
Nikolaj Bjorner
814d7f4d0a
block flips to units
2025-01-01 16:01:58 -08:00
Nikolaj Bjorner
cb61af0496
fix restart counters
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-01 14:34:09 -08:00
Nikolaj Bjorner
0128a1e067
check for bit-vector
2025-01-01 13:04:15 -08:00
Nikolaj Bjorner
b12e72eaad
extend lookhaead to work over nested terms with predicates
2025-01-01 12:37:39 -08:00
Nikolaj Bjorner
234bd402d3
take 1 on flip conditions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-31 12:16:54 -08:00
Nikolaj Bjorner
b415b82625
take 1 on flip conditions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-31 11:44:38 -08:00
Nikolaj Bjorner
a511b8bcf0
disable unit tests relying on changed functionality
2024-12-31 09:24:41 -08:00
Nikolaj Bjorner
3433b14dfa
separate fixed from bits to allow updates that break tabu
...
- range and fixed restrictions on terms are based on constraints and can be violated temporarily.
- bv_eval currently does not allow updating over fixed bits which leads to non-termination. TODO
- lookahead only considers tabu when setting values of variables.
2024-12-30 17:47:18 -08:00
Nikolaj Bjorner
983763213b
temper verbose output on tabu updates
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-30 12:36:47 -08:00
Nikolaj Bjorner
81678923a1
take into account for empty vars
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-30 12:15:27 -08:00
Clemens Eisenhofer
27cb81e7e6
Several changes to make sls terminate more often with length/extract operations ( #7498 )
...
* Fixed range regex
* Fix sls for str.at
* Added case for str.at
* Pad/Truncate string in sls extract/length to fit length constraints
* Guarded index check
* Added missing progressing cases in extraction
* Add padding if required
* Commented out debug output
2024-12-30 10:53:27 -08:00
Nikolaj Bjorner
4773bec975
check for null before debug assertions
2024-12-30 09:44:23 -08:00
Nikolaj Bjorner
d8741b4aec
have apply-update check can_set instead of caller
2024-12-30 08:56:09 -08:00
Nikolaj Bjorner
bcf66f214f
code cleanup, add comments
2024-12-30 08:51:49 -08:00
Nuno Lopes
322dcec531
Add 2 new API functions to get depth & groundness of exprs ( #7479 )
...
* Update api_ast.cpp
* Update z3_api.h
2024-12-30 08:49:43 -08:00
Dmitri
f99e1ee581
Support BitVectors in the TypeScript Optimize API ( #7480 )
...
This is just a change in type declarations to allow calling minimize/maximize with BitVectors.
2024-12-30 08:49:30 -08:00
Clemens Eisenhofer
19c95f8561
Add new string repair heuristic ( #7496 )
...
* Fixed spurious counterexamples in seq-sls. Updates might not be identity mapping
* Removed debug code
* One check was missing
* Trying different update generation function
* Renamed function
* Added parameter to select string update function
2024-12-30 08:49:07 -08:00
Clemens Eisenhofer
e002c57aa2
Fixed range regex ( #7497 )
2024-12-30 08:48:09 -08:00
Nikolaj Bjorner
d81de1a67e
align updated version of lookahead with legacy heuristics
2024-12-29 21:22:32 -08:00
Nikolaj Bjorner
6ea68310c9
fix stack overflow regression in bool_rewriter
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-28 18:21:59 -08:00
Nikolaj Bjorner
3526d03cca
remove VERIFY output
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-28 18:01:32 -08:00
Nikolaj Bjorner
f41134d1b6
h
...
- avoid more platform specific behavior when using m_mk_extract,
- rename mk_eq in bool_rewriter to mk_eq_plain to distinguish it from mk_eq_rw
- rework bv_lookahead to be more closely based on sls_engine, which has much better heuristic behavior than attempt 1.
2024-12-28 17:40:25 -08:00
Nikolaj Bjorner
a5bc5ed813
try uneven lookahead skew
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-28 17:40:25 -08:00
Nuno Lopes
bd8c870bbe
api: avoid some string copies when using mk_external_string
2024-12-28 09:42:54 +00:00
Nikolaj Bjorner
0b9ed925d6
try dual phase lookahead
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-27 13:34:48 -08:00
Nikolaj Bjorner
1f55ec5cef
fix random update to a legal one
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-27 13:01:47 -08:00
Nikolaj Bjorner
c82518ca36
include cmath to define std::pow
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-27 12:29:44 -08:00
Nikolaj Bjorner
b0eee16109
fix double override bug in bv_lookahead, integrate with bv_eval
2024-12-27 12:26:18 -08:00
Clemens Eisenhofer
8de0005ab3
Bugfix seq-eq sls ( #7495 )
...
* Fixed spurious counterexamples in seq-sls. Updates might not be identity mapping
* Removed debug code
* One check was missing
2024-12-27 08:40:34 -08:00
Nikolaj Bjorner
5eb71c3be6
integrate lookahead v1 into repair loop
...
this ports some functionality from lookahead solver for qfbv-sls into sls-smt.
2024-12-26 17:49:30 -08:00
Nikolaj Bjorner
c58171478f
remove dead code
2024-12-26 13:48:55 -08:00
Nikolaj Bjorner
d3a6521185
rely on is_sat fallback for failed repair-up, add separate file for WIP on lookahead.
2024-12-26 13:06:28 -08:00
Nikolaj Bjorner
13dcfd26dd
remove debug out
2024-12-25 15:23:47 -08:00
Nikolaj Bjorner
c9cae77304
update regex membership to be slightly better tuned
2024-12-25 10:56:16 -08:00
Nikolaj Bjorner
f4ed432244
try a basic heuristic that finds some string that belongs to re.
2024-12-25 10:10:59 -08:00
Nikolaj Bjorner
09825edcd8
remove compute depth in favor of already existing get_depth
2024-12-23 18:49:54 -08:00
Nikolaj Bjorner
e332904fb2
cosmetic updates
2024-12-23 18:49:38 -08:00
Nikolaj Bjorner
85d3041a80
avoid platform non-reproducibility due to argument evaluation ordering
2024-12-23 17:13:51 -08:00
Nikolaj Bjorner
23c4728d68
remove some platform specific behavior
2024-12-23 16:28:10 -08:00
Nikolaj Bjorner
554191885e
remove platform dependent print
2024-12-23 16:13:36 -08:00
Nikolaj Bjorner
4f4cafbc98
start update with expr-inverter to handle PB
2024-12-22 18:17:42 -08:00
Nikolaj Bjorner
b592ce4707
reserve space in heap to avoid debug check in elim_unconstrained
2024-12-22 18:17:40 -08:00
Nuno Lopes
97c70ba501
remove some uneeded constructors
2024-12-22 15:06:58 +00:00
Nikolaj Bjorner
fb5bbb8074
read laziness parameter modulo relvancy to avoid race conditions with setting relevancy = 0
2024-12-22 14:07:29 +01:00
Nikolaj Bjorner
a214dc32e8
add some comments, fix nyis
2024-12-22 13:52:19 +01:00
Nikolaj Bjorner
65b678dd42
use bail_out instead of early return to ensure marks are cleared
2024-12-22 06:14:38 +01:00
Nikolaj Bjorner
78ce6c1c6c
revert relevancy override
2024-12-21 18:10:10 +01:00
Nikolaj Bjorner
3b2315d771
remove verbose output
2024-12-21 15:52:57 +01:00
Nikolaj Bjorner
578804acf4
fix #7460
2024-12-21 14:42:23 +01:00
Nikolaj Bjorner
2044fb460d
fix #7490
2024-12-21 14:32:02 +01:00
Nikolaj Bjorner
8dec84110b
add lia2card tactic as default #7483
2024-12-21 13:11:22 +01:00
Nikolaj Bjorner
07b1ee5dcc
mask regression on fpa by not auto-setting relevancy=0
2024-12-21 12:41:04 +01:00
Nikolaj Bjorner
da6a5facca
revert change to setup_context that delays it until there are assertions
2024-12-21 11:53:46 +01:00
Nikolaj Bjorner
db9f45dfec
set relevancy = 0 in auto-config mode when there are bit-vectors and no quantifiers, #7484
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-20 18:10:46 +01:00
Nikolaj Bjorner
114cae50a5
update gcm script
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-20 17:27:21 +01:00
Nikolaj Bjorner
87f7a20e14
Add (updated and general) solve_for functionality for arithmetic, add congruence_explain to API to retrieve explanation for why two terms are congruent Tweak handling of smt.qi.max_instantations
...
Add API solve_for(vars).
It takes a list of variables and returns a triangular solved form for the variables.
Currently for arithmetic. The solved form is a list with elements of the form (var, term, guard).
Variables solved in the tail of the list do not occur before in the list.
For example it can return a solution [(x, z, True), (y, x + z, True)] because first x was solved to be z,
then y was solved to be x + z which is the same as 2z.
Add congruent_explain that retuns an explanation for congruent terms.
Terms congruent in the final state after calling SimpleSolver().check() can be queried for
an explanation, i.e., a list of literals that collectively entail the equality under congruence closure.
The literals are asserted in the final state of search.
Adjust smt_context cancellation for the smt.qi.max_instantiations parameter.
It gets checked when qi-queue elements are consumed.
Prior it was checked on insertion time, which didn't allow for processing as many
instantations as there were in the queue. Moreover, it would not cancel the solver.
So it would keep adding instantations to the queue when it was full / depleted the
configuration limit.
2024-12-19 23:27:57 +01:00
Nuno Lopes
e4ab2944fe
Optimize expr_safe_replace for quantifiers when all source patterns are vars ( #7481 )
...
* Update expr_safe_replace.cpp
* Update expr_safe_replace.cpp
* Update expr_safe_replace.cpp
2024-12-19 23:05:13 +01:00
Nuno Lopes
c33bc2c8be
expr_abstract: save 1 hashtable lookup per app argument
...
when we already know that the app is missing one arg to rewrite
2024-12-18 09:50:50 +00:00
Nuno Lopes
2f5c0a6985
remove 2 unneeded lambda captures
2024-12-17 16:02:24 +00:00
Nuno Lopes
6f24123f0c
reduce hash table lookups in expr_abstract in half
2024-12-16 11:00:55 +00:00
Nikolaj Bjorner
b529a58b91
add unit test for incremental equation edit distance with repair
2024-12-15 05:53:28 -08:00
Nikolaj Bjorner
31ee56c1ca
wip - incremental edit distance algorithm
2024-12-13 09:30:49 -08:00
Nikolaj Bjorner
538f74d64c
extract stats with finalize for parallel mode
2024-12-13 09:30:49 -08:00
Oskar Haarklou Veileborg
b4295620b3
Add __enter__ and __exit__ methods on Optimize class ( #7477 )
...
This enables the use of the with statement for the Optimize class to
concisely call push() and pop(). This works similarly to the Solver
class.
2024-12-13 09:19:04 -08:00
Nikolaj Bjorner
1e5c59a06f
add repair step for str.replace
2024-12-12 09:15:36 -08:00
Nikolaj Bjorner
e8c2360043
fix #7461
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-09 16:57:17 -08:00
Nikolaj Bjorner
8f5658b77d
add another baseline heuristic for string equalities, add cases for array axioms.
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-09 15:55:19 -08:00
Kevin Gibbons
e5f8327483
Update emscripten ( #7473 )
...
* fixes for newer emscripten thread handling behavior
* fix return type for async wrapper functions
* update prettier
* update typescript and fix errors
* update emscripten version in CI
* update js readme about tests
2024-12-06 18:11:14 -08:00
Nikolaj Bjorner
4fbf54afd0
fixes to regex membership and edit updates
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-06 09:50:30 -08:00
Nikolaj Bjorner
1ab0962d43
partial fix to make computed term integer well-formed for solve_for functionality
2024-12-05 17:10:52 -08:00
Nikolaj Bjorner
bcb61ee12c
v0 of edit distance repair
2024-12-05 14:14:27 -08:00
Yuantian Ding
4be4067f75
Typescript high-level api for Sets ( #7471 )
2024-12-05 07:00:11 -08:00
Nikolaj Bjorner
a17d4e68eb
bugfix to elim_uncnstr to ensure nodes are created. Prepare smt_internalizer to replay unit literals
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-04 15:32:15 -08:00
Nikolaj Bjorner
aec867586a
updates to equality solving search
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-12-02 13:41:18 -08:00
Nikolaj Bjorner
e6feb8423a
sls: fix bug where unsat remains empty after a literal is flipped. The new satisfiable subset should be checked
...
refined interface between solvers to expose fixed variables for tabu objectives
2024-12-01 18:35:56 -08:00
Nikolaj Bjorner
24c3cd38d1
add v0 of equality solver
2024-11-30 17:25:49 -08:00
Nikolaj Bjorner
05e053247d
add facility to solve for a linear term over API
2024-11-30 09:34:27 -08:00
Nikolaj Bjorner
d2411567b5
add projection with witnesses
...
expose model based projection with witness creation
2024-11-27 10:26:34 -08:00
Nikolaj Bjorner
b7b611d84b
inherit from std::exception
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-27 10:26:34 -08:00
Nuno Lopes
ab1be5c06e
internalize the reduce_args_tactic to reduce the number of heap allocations
2024-11-27 12:35:40 +00:00
Nuno Lopes
1ccfba6a91
remove unreachble code
2024-11-27 12:09:16 +00:00
Nikolaj Bjorner
1e62029413
use ztring
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-25 17:36:42 -08:00
Nikolaj Bjorner
fce377e1d7
add basic regex functions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-25 17:34:49 -08:00
Nikolaj Bjorner
b143a954c5
add notes and additional functions to sls-seq
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-25 13:46:16 -08:00
Nikolaj Bjorner
aed3279d7d
add missing new_value_eh when repaired up
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-24 19:57:40 -08:00
Nikolaj Bjorner
1e839e5ac2
add missing new_value_eh when repaired up
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-24 19:42:13 -08:00
Nikolaj Bjorner
7ed185aa9e
add comments
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-24 19:09:50 -08:00
Nikolaj Bjorner
4559b23caf
add local search functionality to sls_seq_plugin
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-24 11:24:17 -08:00
Nikolaj Bjorner
b4e768cfb0
adding plugin for local search strings
2024-11-22 13:56:03 -08:00
Nikolaj Bjorner
36725758eb
fix typos POLING -> POLLING in setup.py and remove unused CFLAGS
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-21 11:32:38 -08:00
Nikolaj Bjorner
71bad7159b
#7418 - circumvent use of timer threads to make WASM integration of z3 easier
...
The scoped_timer uses a std::therad. Spawning this thread fails in cases of WASM.
Instead of adapting builds and using async features at the level of WASM and the client, we expose a specialized version of z3 that doesn't use threads at all, neither for solvers nor for timers.
The tradeoff is that the periodic poll that checks for timeout directly queries the global clock each time.
We characterize it as based on polling.
2024-11-21 11:20:05 -08:00
Nikolaj Bjorner
8965123c0d
fix type in setup.py
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-19 19:08:29 -08:00
Nikolaj Bjorner
10d9c81957
adapt for pyodide built
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-19 18:51:04 -08:00
Nikolaj Bjorner
012fc1b72b
more detailed tracing of where unmaterialized exceptions happen
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-19 18:15:50 -08:00
Nikolaj Bjorner
e855a50d9b
add exception handling to easier diagnose #7418
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-19 11:46:54 -08:00
Nikolaj Bjorner
5168a13efa
track exceptions in reason-unknown
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-19 09:29:23 -08:00
Nikolaj Bjorner
4b72e517b7
SLS: log clause , allow more frequent export of SLS state to SMT
2024-11-17 20:13:02 -08:00
Nikolaj Bjorner
84447b7031
remove incremental mode from EUF, include statistics about restart vs propagation calls to sls
2024-11-17 16:58:18 -08:00
Nikolaj Bjorner
c7ea4964f2
bug fixes to sls
2024-11-17 13:07:38 -08:00
Nikolaj Bjorner
2310514e02
fix #7454
2024-11-16 18:20:06 -08:00
Nikolaj Bjorner
5fd1231ec0
incorporate ls during propagation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-16 15:28:28 -08:00
Nikolaj Bjorner
750dd68a14
enable par_then and par_or even if single threaded - fall back to sequential mode
2024-11-16 12:29:22 -08:00
Nikolaj Bjorner
f64d077d2a
fix re-entrancy bug during flip in arith_base
2024-11-16 12:29:03 -08:00
Nikolaj Bjorner
b929996941
update to set single threaded
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-16 09:11:44 -08:00
Nikolaj Bjorner
f39198d9a8
move build-env setting to correct place
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-16 08:32:47 -08:00
Nikolaj Bjorner
197951cad4
fixes to sls
2024-11-16 08:28:24 -08:00
Nikolaj Bjorner
7c5ff7c623
moving compile time flags to setup for pyodide
2024-11-16 08:28:24 -08:00
Nikolaj Bjorner
ccbe6c33ae
fixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-15 09:29:30 -08:00
Nikolaj Bjorner
ea590def47
remove breaking experiment
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-15 08:03:57 -08:00
Nikolaj Bjorner
1d8a904e99
build fixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-14 22:10:59 -08:00
Nikolaj Bjorner
77eacef2ae
build fixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-14 22:08:13 -08:00
Nikolaj Bjorner
3f407982f3
build fixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-14 21:55:44 -08:00
Nikolaj Bjorner
8e3b9f6686
add sequential option for SLS, fixes to import/export methods SLS<->SMT
2024-11-14 21:43:40 -08:00
Nikolaj Bjorner
6a9d5910cb
add method for resetting limit
2024-11-14 21:43:40 -08:00
Nikolaj Bjorner
6eae3f0863
add cases for unconstrained sequences and strings
2024-11-14 21:43:40 -08:00
Nikolaj Bjorner
62db7642ec
refine rewriting depth for lt constraints
2024-11-14 21:43:40 -08:00
Linus
d3009dabfc
Proposed fix for #7451 ( #7452 )
2024-11-13 09:11:40 -08:00
Nikolaj Bjorner
c0e748a51a
fix #7446 , by adding rewrite simplification
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-11 19:16:11 -08:00
Nikolaj Bjorner
1cc808c58d
fix #7446 , by adding rewrite simplification
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-11 19:08:11 -08:00
Nikolaj Bjorner
30ad22a4ef
fix #7449
2024-11-11 15:45:18 -08:00
Nikolaj Bjorner
879bb4b1f0
avoid circular dependencies in justifications that get updated. fixes #7443
2024-11-10 19:35:01 -08:00
Nikolaj Bjorner
1856ab72d9
fix #7448
2024-11-10 14:40:28 -08:00
Nikolaj Bjorner
4f060dd2b1
fix #7445
2024-11-10 14:40:04 -08:00
Nikolaj Bjorner
abd16740ce
inherit more exceptions from std::exception
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-04 13:52:14 -08:00
Nikolaj Bjorner
a38bf3e22f
port to inherit from std::exception
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-04 13:25:14 -08:00
Nikolaj Bjorner
407bad3693
add noexcept
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-04 11:21:55 -08:00
Nikolaj Bjorner
42894f729a
add noexcept for signature compatibility
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-04 11:13:49 -08:00
Audrey Dutcher
75e46778fa
Make build process work with pyodide ( #7442 )
2024-11-04 11:09:51 -08:00
Nikolaj Bjorner
92065462b4
use std::exception as base class to z3_exception
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-11-04 11:08:15 -08:00
Nikolaj Bjorner
1957b4d991
fix reporting on cancelation when based on cancel flag
2024-11-02 12:48:12 -07:00
Jonas Jongejan
604714ba40
js: Add pseudo-boolean high-level functions ( #7426 )
...
* js: Add pseudo-boolean high-level functions
* Add check for arg length
2024-11-02 12:34:15 -07:00
Nikolaj Bjorner
91dc02d862
Sls ( #7439 )
...
* reorg sls
* sls
* na
* split into base and plugin
* move sat_params to params directory, add op_def repair options
* move sat_ddfw to sls, initiate sls-bv-plugin
* porting bv-sls
* adding basic plugin
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add sls-sms solver
* bv updates
* updated dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* updated dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use portable ptr-initializer
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* move definitions to cpp
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use template<> syntax
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix compiler errors for gcc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Bump docker/build-push-action from 6.0.0 to 6.1.0 (#7265 )
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 6.0.0 to 6.1.0.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v6.0.0...v6.1.0 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* set clean shutdown for local search and re-enable local search when it parallelizes with PB solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Bump docker/build-push-action from 6.1.0 to 6.2.0 (#7269 )
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v6.1.0...v6.2.0 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* Fix a comment for Z3_solver_from_string (#7271 )
Z3_solver_from_string accepts a string buffer with solver
assertions, not a string buffer with filename.
* trigger the build with a comment change
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* remove macro distinction #7270
* fix #7268
* kludge to address #7232 , probably superseeded by planned revision to setup/pypi
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add new ema invariant (#7288 )
* Bump docker/build-push-action from 6.2.0 to 6.3.0 (#7280 )
Bumps [docker/build-push-action](https://github.com/docker/build-push-action ) from 6.2.0 to 6.3.0.
- [Release notes](https://github.com/docker/build-push-action/releases )
- [Commits](https://github.com/docker/build-push-action/compare/v6.2.0...v6.3.0 )
---
updated-dependencies:
- dependency-name: docker/build-push-action
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
* merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix unit test build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove shared attribute
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove stale files
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix build of unit test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes and rename sls-cc to sls-euf-plugin
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* testing / debugging arithmetic
* updates to repair logic, mainly arithmetic
* fixes to sls
* evolve sls arith
* bugfixes in sls-arith
* fix typo
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* bug fixes
* Update sls_test.cpp
* fixes
* fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* refactor basic plugin and clause generation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes to ite and other
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* updates
* update
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix division by 0
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* disable fail restart
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* disable tabu when using reset moves
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* update sls_test
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add factoring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes to semantics
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* re-add tabu override
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* generalize factoring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove restart
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* disable tabu in fallback modes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* localize impact of factoring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* delay factoring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* flatten products
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* perform lookahead update + nested mul
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* disable nested mul
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* disable nested mul, use non-lookahead
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* make reset updates recursive
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* include linear moves
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* include 5% reset probability
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* separate linear update
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* separate linear update remove 20% threshold
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove linear opt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* enable multiplier expansion, enable linear move
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use unit coefficients for muls
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* disable non-tabu version of find_nl_moves
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove coefficient from multiplication definition
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* reorg monomials
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add smt params to path
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* avoid negative reward
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use reward as proxy for score
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use reward as proxy for score
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use exponential decay with breaks
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use std::pow
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes to bv
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes to fixed
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixup repairs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* reserve for multiplication
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixing repair
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* include bounds checks in set random
* na
* fixes to mul
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix mul inverse
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes to handling signed operators
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* logging and fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* gcm
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* peli
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Add .env to gitignore to prevent environment files from being tracked
* Add m_num_pelis counter to stats in sls_context
* Remove m_num_pelis member from stats struct in sls_context
* Enhance bv_sls_eval with improved repair and logging, refine is_bv_predicate in sls_bv_plugin
* Remove verbose logging in register_term function of sls_basic_plugin and fix formatting in sls_context
* Rename source files for consistency in `src/ast/sls` directory
* Refactor bv_sls files to sls_bv with namespace and class name adjustments
* Remove typename from member declarations in bv_fixed class
* fixing conca
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Add initial implementation of bit-vector SLS evaluation module in bv_sls_eval.cpp
* Remove bv_sls_eval.cpp as part of code cleanup and refactoring
* Refactor alignment of member variables in bv_plugin of sls namespace
* Rename SLS engine related files to reflect their specific use for bit-vectors
* Refactor SLS engine and evaluator components for bit-vector specifics and adjust memory manager alignment
* Enhance bv_eval with use_current, lookahead strategies, and randomization improvements in SLS module
* Refactor verbose logging and fix logic in range adjustment functions in sls bv modules
* Remove commented verbose output in sls_bv_plugin.cpp during repair process
* Add early return after setting fixed subterms in sls_bv_fixed.cpp
* Remove redundant return statement in sls_bv_fixed.cpp
* fixes to new value propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Refactor sls bv evaluation and fix logic checks for bit operations
* Add array plugin support and update bv_eval in ast_sls module
* Add array, model value, and user sort plugins to SLS module with enhancements in array propagation logic
* Refactor array_plugin in sls to improve handling of select expressions with multiple arguments
* Enhance array plugin with early termination and propagation verification, and improve euf and user sort plugins with propagation adjustments and debugging enhancements
* Add support for handling 'distinct' expressions in SLS context and user sort plugin
* Remove model value and user sort plugins from SLS theory
* replace user plugin by euf plugin
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove extra file
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Refactor handling of term registration and enhance distinct handling in sls_euf_plugin
* Add TODO list for enhancements in sls_euf_plugin.cpp
* add incremental mode
* updated package
* fix sls build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* break sls build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix build
* break build again
* fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixing incremental
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* avoid units
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixup handling of disequality propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fx
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* recover shift-weight loop
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* alternate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* throttle save model
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* allow for alternating
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix test for new signature of flip
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* bug fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* restore use of value_hash
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding dt plugin
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* dt updates
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* added cycle detection
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* updated sls-datatype
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Refactor context management, improve datatype handling, and enhance logging in sls plugins.
* axiomatize dt
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add missing factory plugins to model
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixup finite domain search
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixup finite domain search
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* redo dfs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixing model construction for underspecified operators
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes to occurs check
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixup interpretation building
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* saturate worklist
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* delay distinct axiom
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* adding model-based sls for datatatypes
* update the interface in sls_solver to transfer phase between SAT and SLS
* add value transfer option
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* rename aux functions
* Track shared variables using a unit set
* debugging parallel integration
* fix dirty flag setting
* update log level
* add plugin to smt_context, factor out sls_smt_plugin functionality.
* bug fixes
* fixes
* use common infrastructure for sls-smt
* fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove declaration of context
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add virtual destructor
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* build warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* reorder inclusion order to define smt_context before theory_sls
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* change namespace for single threaded
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* check delayed eqs before nla
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use independent completion flag for sls to avoid conflating with genuine cancelation
* validate sls-arith lemmas
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* bugfixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add intblast to legacy SMT solver
* fixup model generation for theory_intblast
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* mk_value needs to accept more cases where integer expression doesn't evalate
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use th-axioms to track origins of assertions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add missing operator handling for bitwise operators
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add missing operator handling for bitwise operators
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* normalizing inequality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add virtual destructor
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* rework elim_unconstrained
* fix non-termination
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use glue as computed without adjustment
* update model generation to fix model bug
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fixes to model construction
* remove package and package lock
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix build warning
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use original gai
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
---------
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Sergey Bronnikov <estetus@gmail.com>
Co-authored-by: Lev Nachmanson <levnach@hotmail.com>
Co-authored-by: LiviaSun <33578456+ChuyueSun@users.noreply.github.com>
2024-11-02 12:32:48 -07:00
Nikolaj Bjorner
ecdfab81a6
fix #7434
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-28 17:51:01 -07:00
Nikolaj Bjorner
b0fef6429f
Add assert_and_track support to Optimize class in .NET binding ( #7437 )
...
Related to #7436
#7436
---
For more details, open the [Copilot Workspace session](https://copilot-workspace.githubnext.com/Z3Prover/z3/issues/7436?shareId=XXXX-XXXX-XXXX-XXXX ).
2024-10-26 01:33:09 -07:00
Nikolaj Bjorner
8b657f27aa
add shortcut to retrieve kind of application
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-22 13:05:58 -07:00
Nikolaj Bjorner
78d1139ba0
add shortcut to retrieve kind of application
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-22 13:04:41 -07:00
Nikolaj Bjorner
0ebea1c298
remove debug out
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-22 11:58:16 -07:00
Nikolaj Bjorner
253f7d7675
fix non-termination bug in elim-unconstrained, add parameter validation to fix #7432
2024-10-22 09:59:20 -07:00
Nikolaj Bjorner
d18831c8d5
Update sat_ddfw.cpp
2024-10-22 09:59:20 -07:00