Lev Nachmanson
4d06c399cc
replace DEBUG_CODE by #ifdef Z3DEBUG in nlsat
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-02-13 10:51:44 -10:00
Nikolaj Bjorner
f1d97c7a3a
allow callbacks to be nested
2024-02-13 20:30:17 +07:00
Bruce Mitchener
53f89a81c1
Fix some typos. ( #7115 )
2024-02-07 23:06:43 -08:00
Nikolaj Bjorner
c40e72aaa3
include debug output
2024-02-05 15:31:33 -08:00
Nikolaj Bjorner
f4eaa6fc98
improve logging
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-05 14:41:29 -08:00
Nikolaj Bjorner
683070a175
finish encoding of n'th root
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-05 10:44:41 -08:00
Nikolaj Bjorner
8555f25587
add todo note, and log more lemmas
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-04 21:08:04 -08:00
Nikolaj Bjorner
d743e1b47c
add note that the encoding is a first approximation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-04 19:11:35 -08:00
Nikolaj Bjorner
b9528b1c56
update self-validator to handle root expressions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-04 19:06:30 -08:00
Nikolaj Bjorner
7970e4fe51
add clause persistence to sat/smt solver
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-04 16:42:10 -08:00
Nikolaj Bjorner
3cec3fc63d
bypass replaying new clause within propagation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-04 15:26:17 -08:00
Nikolaj Bjorner
3b90816025
add option to persist clauses #7109
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-04 11:15:59 -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
Yisu Remy Wang
2280e9562a
Improve instructions for working with the Julia API ( #7108 )
2024-02-02 09:46:31 -08:00
Nikolaj Bjorner
5cac9b84e4
fix build warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-02-01 09:36:52 -08:00
Nikolaj Bjorner
e820701f9d
fix #7107
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-31 15:38:10 -08:00
Nikolaj Bjorner
738c5b6d0d
add warning messages for #7100
2024-01-30 21:30:37 -08:00
Nikolaj Bjorner
50deece29e
fix #7098
2024-01-30 20:38:01 -08:00
Nikolaj Bjorner
28c44a6ed0
fix #7105
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-30 15:41:14 -08:00
Nikolaj Bjorner
908aaa06f7
fix #7101
2024-01-29 12:26:51 -08:00
Nikolaj Bjorner
2b683941b7
fix #7103
2024-01-27 17:46:23 -08:00
Nikolaj Bjorner
f8a3b6f521
fix #7102
2024-01-27 17:05:55 -08:00
Nikolaj Bjorner
2af1cff11f
updating java cmake scrip
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-27 16:29:19 -08:00
Yisu Remy Wang
dec5715f03
Expose forall and exists to Julia ( #7099 )
2024-01-25 09:49:01 -08:00
Nikolaj Bjorner
bdb9106f99
Api ( #7097 )
...
* rename ul_pair to column
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* t
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* simple test passed
* remove an assert
* relax an assertion
* remove an obsolete function
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
* access a term by the term column
* remove the column index from colunm.h
* remove an unused method
* remove debug code
* fix the build of lp_tst
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
---------
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
Co-authored-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-24 16:05:18 -08:00
Nikolaj Bjorner
1b94d43a8b
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-24 08:52:56 -08:00
Nikolaj Bjorner
fad428381a
prepare for integer intervals
2024-01-23 15:33:48 -08:00
Nikolaj Bjorner
98c9fa7faf
prepare for handling integer intervals
2024-01-23 15:29:11 -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
be7856c57d
fix #7027
...
TODO: review old nlsat bugs for effect of this fix.
2024-01-23 14:56:15 -08:00
Nikolaj Bjorner
125a82bea5
improved diagnostics
2024-01-22 16:23:55 -08:00
Nikolaj Bjorner
8d4e7fac6b
add diagnostics option to new arithmetic solver
2024-01-22 16:23:55 -08:00
Nikolaj Bjorner
839b7101ae
add ability to multiply term
2024-01-22 15:48:45 -08:00
Nikolaj Bjorner
0ebd8d655b
prepare for printing more cases of root objects in SMT
2024-01-22 15:48:45 -08:00
Nikolaj Bjorner
69f118e77f
use assignment
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-22 15:48:45 -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
910b3023c2
free memory the clean way
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-20 14:01:01 -08:00
Nikolaj Bjorner
d32dcfc4a4
free memory the clean way
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-20 13:54:50 -08:00
Nikolaj Bjorner
17545233e6
encapsulate anum functionality
2024-01-20 12:59:58 -08:00
Nikolaj Bjorner
548be4c1f9
add explicit move constructor to deal with unit test regression test-z3 algebraic on Windows/debug -
...
it uses copy constructor instead of move when returning a scoped_anum in functions such as power and root.
This leads to freeing memory that gets passed as return value.
The copy constructor for scoped_numeral is also suspicious because it doesn't ensure memory ownership.
2024-01-20 12:59:58 -08:00
Nikolaj Bjorner
a2993f7457
encapsulate mpz a bit more
2024-01-20 12:59:58 -08:00
Thomas Haas
d2706bab64
Fixes in Java's User Propagator ( #7088 )
...
* Fixed decide callback for Java user propagators
* Java User Prop:
- Added return value to conflict
- Added consequence method
- Added missing access modifier to decideWrapper
* Removed type parameters of expressions in UserPropagatorBase
* Renamed propagateConflict to propagateConsequence
2024-01-18 09:29:15 -08:00
Nikolaj Bjorner
2c55aa5466
remove unused code
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-17 18:04:08 -08:00
Lev Nachmanson
d084a19630
take care of strategy undecided, Nikolaj's comments
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-17 14:17:07 -10:00
Lev Nachmanson
6e9a938533
Merge branch 'master' of https://github.com/z3prover/z3
2024-01-17 14:02:38 -10:00
Lev Nachmanson
c591a7a3e7
force int bound on int columns, call term_is_int() after subst
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-17 13:53:59 -10:00
Nikolaj Bjorner
fef1596c81
pin expression passed to validate_eq
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-17 15:11:06 -08:00
Nikolaj Bjorner
4f75153186
Update z3_api.h
...
Updated doc https://github.com/Z3Prover/z3/discussions/7087
2024-01-17 13:53:38 -08:00
Nikolaj Bjorner
c340233df6
fix #7081
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-16 10:31:31 -08:00
Nikolaj Bjorner
afba43a5a7
fix #7085
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-16 10:18:46 -08:00
Nikolaj Bjorner
4ff352fcac
fix #7084
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-15 08:49:14 -08:00
Lev Nachmanson
91ca55e5ad
change the definition of Gomory row
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-14 13:37:30 -10:00
Lev Nachmanson
d8df203622
remove an unused declaration
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-13 19:11:17 -10:00
Lev Nachmanson
e2fb4fbd38
fix dependencies for Gomory polarity
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-13 19:01:21 -10:00
Lev Nachmanson
2eadcf0872
avoid duplicate explanations
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-12 15:49:21 -10:00
Lev Nachmanson
7d7fef061f
add explanations and fix polarity
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-12 15:28:16 -10:00
Nikolaj Bjorner
ddf2eb57d6
deleted parameter
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-12 10:42:08 -08:00
Nikolaj Bjorner
3381fd2b52
spell check from https://github.com/microsoft/z3guide/pull/165
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-12 09:57:46 -08:00
Nikolaj Bjorner
27171591d1
Update sat_params.pyg
...
spellcheck from https://github.com/microsoft/z3guide/pull/165
2024-01-12 09:49:56 -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
Lev Nachmanson
999e67df0d
address Nikolaj's comments in Gomory cut
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-11 16:49:10 -10:00
Lev Nachmanson
2d24436582
remove a blank line
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-11 13:42:35 -10:00
Lev Nachmanson
2b974a0f1d
do not delay update for the polar case
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-11 13:39:37 -10:00
Lev Nachmanson
2ac866a8d0
take the coefficient from cut_result, not lia
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-11 12:10:37 -10: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
Lev Nachmanson
2ca1187b3a
fix a bug in polarity
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-10 10:50:56 -10:00
Nikolaj Bjorner
75005d9077
add validation option for debugging regressions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-09 09:18:29 -08:00
Lev Nachmanson
2934618c50
remove simplify_inequality from gomory.cpp
2024-01-04 11:40:57 -10:00
Nikolaj Bjorner
696b70fddb
fix
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-04 11:00:07 -08:00
Lev Nachmanson
239d68ed9c
return conflict on an empty term in Gomory cuts
2024-01-03 18:56:35 -10: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
Nikolaj Bjorner
a7bfdcd0ea
readd big cuts
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-02 11:17:59 -08:00
Lev Nachmanson
84997f8b21
move a TRACE statement
2024-01-01 05:25:07 -10:00
Lev Nachmanson
fd2b6c62d1
bug fix in gomory polarity
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-01 05:25:07 -10: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
Lev Nachmanson
53c95e3627
cleanup
2023-12-28 06:00:57 -10:00
Lev Nachmanson
0728b81e9e
add parameter lp_settings.m_gomory_simplify
2023-12-28 06:00:57 -10:00
Lev Nachmanson
5796e8899f
use vector instead of unordered_map in gomory
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-12-28 06:00:57 -10:00
Lev Nachmanson
a3529a0046
create bounds for gomory cuts with big numbers
2023-12-28 06:00:57 -10:00
Lev Nachmanson
af7691224e
adding the polarity bound
2023-12-28 06:00:57 -10: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
606a9a7409
fix test build
2023-12-22 16:19:28 +00:00
Nuno Lopes
cab3c45863
remove unnecessary parameter copies
2023-12-22 16:11:06 +00:00
Nuno Lopes
ab22e763d7
some code simplifications in mpn
...
plus remove duplicated assertion
2023-12-22 15:29:04 +00:00
Nuno Lopes
766f5f04c0
reduce memory allocs in params
2023-12-21 23:27:28 +00:00
Christoph M. Wintersteiger
68a2c08d5e
Add Z3_get_estimated_alloc_size to OCaml API ( #7068 )
2023-12-21 12:54:30 -08:00
Lev Nachmanson
19f3ad46ce
fix the build
2023-12-20 14:14:01 -10:00
Lev Nachmanson
e9fa7db96c
revert smt_enode
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-12-20 14:03:27 -10:00
Lev Nachmanson
a00eb08ddd
Merge branch 'master' of https://github.com/z3prover/z3
2023-12-20 12:56:55 -10:00
Lev Nachmanson
4317d134bf
refactor: move gomory functionaly from int_solver to gomory
2023-12-20 12:56:20 -10: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
6246c6517d
fix debug build
2023-12-20 18:30:53 +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
Lev Nachmanson
e28b644a67
remove an empty line
2023-12-20 06:53:59 -10:00
Lev Nachmanson
d6365610d5
change some TRACE statements
2023-12-20 06:49:55 -10:00
Jakob Rath
97d450868e
Vector updates from polysat branch ( #7066 )
...
* vector: add erase_if
* vector: generalize operator<<
* vector: fix missing destructor call
2023-12-19 08:58:55 -08:00
Jakob Rath
4c9f705cd1
tptr: add pointer tagging templates ( #7067 )
2023-12-19 08:58:32 -08:00
Nuno Lopes
fcc7b25c19
remove a few string copies
2023-12-19 14:34:37 +00:00
Lev Nachmanson
9a18628b17
remove unnecessary assignments
2023-12-18 18:49:27 -10: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
dff419a7cb
pin expressions to fix unsound behavior
2023-12-18 16:57:52 -08:00
Nikolaj Bjorner
5d4c18dde2
fixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-18 16:57:00 -08:00
Nikolaj Bjorner
6d23847482
fix typos
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-18 09:33:40 -08:00
Nikolaj Bjorner
d008dbe50a
port Jakob's update to bv_internalize
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-18 09:31:59 -08:00
Nikolaj Bjorner
085b5e2588
port Jakob's update to union_find from polysat branch
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-18 09:25:24 -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
4778f27b46
revert to standard solver
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-15 14:33:23 -08:00
Nikolaj Bjorner
9293923b8a
Add intblast solver
2023-12-15 13:50:38 -08:00
Nikolaj Bjorner
0520558fc0
port updated pdd from polysat
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-15 08:54:03 -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
Lev Nachmanson
f6e69d43a3
Merge branch 'master' of https://github.com/z3prover/z3
2023-12-14 08:21:21 -10:00
Nikolaj Bjorner
b40e3015ef
fix #7053
2023-12-13 19:25:18 -08:00
Bruce Mitchener
3ebec56880
tptr.h: Include <cstdint>
once rather than twice. ( #7051 )
2023-12-13 09:36:41 -08:00
Lev Nachmanson
536f4f84bb
Merge branch 'master' of https://github.com/z3prover/z3
2023-12-12 15:23:43 -10:00
Nikolaj Bjorner
70d4f32ffd
port updates from poly/polysat
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-09 13:00:43 -08:00
Nikolaj Bjorner
e580c384b8
import updates to rational from polysat
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-09 12:46:06 -08:00
Nikolaj Bjorner
575538d325
follow error message to put dependencies in setup args
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-08 18:38:29 -08:00
Nikolaj Bjorner
4123405d17
add version
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-08 15:50:09 -08:00
Nikolaj Bjorner
6282f40255
try add name to project
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-08 14:57:45 -08:00
Nikolaj Bjorner
7e716f7cfe
try fix suggested in #7041
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-08 13:12:05 -08:00
Nikolaj Bjorner
8e26c2af17
fix #7049
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-08 13:05:21 -08:00
Nikolaj Bjorner
6cd619d377
kludge to fixup osver in python for Mac
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-08 11:39:55 -08:00
Nikolaj Bjorner
4d1d067d42
fix divergence reported by Guido Martinez
2023-12-07 13:34:35 -08:00
Nikolaj Bjorner
1d6616afac
make var-queue a template
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-05 15:41:35 -08:00
Nikolaj Bjorner
111ce01702
update path reference to readme
2023-12-05 13:47:05 -08:00
Nikolaj Bjorner
d566eb3df7
include readme in package
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-05 13:04:25 -08:00
Nikolaj Bjorner
76c05f171a
specify a readme file with the nuget package
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-05 12:32:30 -08:00
Asger Hautop Drewsen
a9513c1998
Improve BoolRef addition ( #7045 )
2023-12-05 09:12:25 -08:00
Asger Hautop Drewsen
764f0d54a4
Overload xor operator for BoolRef ( #7043 )
2023-12-05 07:48:57 -08:00
Nikolaj Bjorner
4a9b38e531
clean up nla_grobner
2023-12-04 17:08:17 -08:00
Nikolaj Bjorner
84a7a79e90
fix #7037
2023-12-04 17:08:01 -08:00
Lev Nachmanson
fc23a498c4
a simple version of choosing a column for gomory cut
2023-12-04 15:06:50 -10:00
Nikolaj Bjorner
f98b42ae42
install importlib-resources for ubuntu doc
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-04 10:33:29 -08:00
Nikolaj Bjorner
de75692cb0
install importlib-resources for ubuntu doc
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-04 10:32:02 -08:00
Nikolaj Bjorner
f7415bb677
install importlib-resources for ubuntu doc
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-04 10:32:02 -08:00
Nikolaj Bjorner
17913f3ec8
remove braces
2023-12-04 10:32:02 -08:00
Andrey Andreyevich Bienkowski
18f14921ba
Clarify optimizer guarantees ( #7030 )
...
* Clarify optimizer guarantees (python)
* Clarify optimization guarantees (OCaml)
* Clarify optimizer guarantees (java)
* Clarify optimizer guarantees (.net)
2023-12-04 09:32:26 -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
bd8bed1759
handle ac-op in legacy special relations procedure by adding warning
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-03 12:55:37 -08:00
Nikolaj Bjorner
1b1ebaa3b0
minor simplification during internalization
2023-12-03 12:43:39 -08:00
Nikolaj Bjorner
36725383d3
minor simplification of terms during internalization.
2023-12-03 12:43:14 -08:00
Nikolaj Bjorner
f06e07ad0a
fix cone of influence computation for terms with nested variables
...
exposed by #7027 , but generally missing. It is less likely to be exposed if input is normalized by distributing multiplication over addition.
2023-12-03 12:42:42 -08:00
Nikolaj Bjorner
25dd29907b
refine no-effect predicate to include value of ret
2023-12-03 12:41:21 -08:00
Nikolaj Bjorner
9cc2ce42f7
#7027
...
fix lossy function declaration inclusion functionality exposed when fixing a bug for incomplete model generation.
2023-12-03 11:14:18 -08:00
Nikolaj Bjorner
a8f3396b24
#7033
2023-12-03 10:34:16 -08:00
Nikolaj Bjorner
965bee5801
fix build
2023-12-02 19:52:59 -08:00
Nikolaj Bjorner
1de25ed09c
pending files
2023-12-02 19:43:51 -08:00
Nikolaj Bjorner
b22daa9816
missing header
2023-12-02 19:39:43 -08:00
Nikolaj Bjorner
362d299a5c
#7027
2023-12-02 19:34:36 -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
585d027668
remove assert #7032
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-02 14:12:41 -08:00
Nikolaj Bjorner
331507c4cd
#7027
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-02 12:05:06 -08:00
Nikolaj Bjorner
7eab26e3ef
try with missed bounds
2023-12-02 10:48:40 -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
99e2794a6d
update output
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-30 17:20:43 -08:00
Nikolaj Bjorner
8a0dec1a4b
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-30 14:08:29 -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
Lev Nachmanson
5784c2da79
remove an unnecessary if
2023-11-30 08:59:05 -10:00
Alper Altuntas
d540d881ef
Add __enter__ and __exit__ methods to Solver class ( #7025 )
...
To enable the usage of the with statement for the Solver class
instances, this commit adds __enter__ and __exit__ methods.
The with statement should offer a more concise and safer
alternative to explicit usage of push() and pop() methods.
2023-11-30 08:35:08 -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
9efe6f6afa
fix regression in fix for #7006
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-29 14:54:54 -08:00
Nikolaj Bjorner
faa2d8ac6c
re-enable delayed literal propagation
2023-11-29 14:00:37 -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
41a3196c89
fix #7024
2023-11-29 13:35:30 -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
Nikolaj Bjorner
8179f8b5d7
fix #7017
2023-11-28 14:32:56 -08:00
Nikolaj Bjorner
f36f21fa8c
add comments for API versions of bit-vector overflow/underflow checks for #7011
2023-11-28 13:36:41 -08:00
Nikolaj Bjorner
f90b10a0c8
fix #7012
...
omitting constructor, simplifying operator definitions, omitting incorrect type annotations
2023-11-28 13:26:10 -08:00
Nikolaj Bjorner
69f9640fdf
fix #7018
2023-11-28 13:14:44 -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
Bruce Mitchener
b5e8f59eae
mbp: term: Fix reorder ctor warning. ( #7016 )
...
Initialize members in same order they are defined.
2023-11-26 16:34:08 +01:00
Bruce Mitchener
2354998cd2
z3.h: Don't include stdio.h
( #7014 )
...
This doesn't seem to actually be used or needed here.
2023-11-24 16:46:32 +01:00
Christoph M. Wintersteiger
16753e43f1
Add accessors for RCF numeral internals ( #7013 )
2023-11-23 17:54:23 +01:00
Nikolaj Bjorner
9382b96a32
add API to access symbols associated with quantifiers
2023-11-19 16:30:09 -08:00
Nikolaj Bjorner
d272acc3ac
fix crash when api_solver sets reset_tracked_assertions
2023-11-19 12:48:33 -08:00
Nikolaj Bjorner
ac105b7d8c
remove unused code
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-19 11:47:00 -08:00
Nikolaj Bjorner
4350bd77ac
check cancel flag to avoid unsound conflicts
2023-11-19 11:43:52 -08:00
Nikolaj Bjorner
32f8705ac3
#7001 - align is_numeral without to behavior if is_numeral with return numeral.
2023-11-19 10:43:14 -08:00
Nikolaj Bjorner
35bc522dae
#7003
...
minor tweaks to gomory and reset n3 within loop (but the entire function is dead code).
2023-11-19 09:59:44 -08:00
Nikolaj Bjorner
924c296704
add logging
2023-11-18 12:30:40 -08:00
Nikolaj Bjorner
5bec982cc5
chores in theory_lra
2023-11-18 10:05:26 -08:00
Nikolaj Bjorner
e40b8a2d13
household chores in legacy arithmetic solver
2023-11-18 09:56:06 -08:00
Nikolaj Bjorner
5ab1afe5c2
expose enode pp convenciences
2023-11-18 09:53:20 -08:00
Nikolaj Bjorner
1710fe4927
use iterator shortcut
2023-11-18 09:52:58 -08:00
Nikolaj Bjorner
a9f9d3ddf4
build fixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-17 10:15:01 -08: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
6d6d6b8ed0
build issue
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-17 09:20:17 -08:00
Hari Govind V K
f94a475da3
Qel fixes ( #6999 )
...
* dont use qel for sequences. fix #6950
* handle negation of read-write. fix #6991
* handle neg-peq terms produced by distinct. fix #6889
* dbg print
2023-11-17 09:18:04 -08:00
Nikolaj Bjorner
1b6c7d6541
fix #6996
2023-11-16 18:58:24 -08:00
Christoph M. Wintersteiger
36382ccb57
Fix memory and concurrency issues in OCaml API ( #6992 )
...
* Fix memory and concurrency issues in OCaml API
* Undo locking changes
2023-11-16 18:28:12 -08:00
Nikolaj Bjorner
5b9fdcf462
fix #6997
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-15 18:08:48 -08:00
Nikolaj Bjorner
f1a39b8884
add comment regarding usage model for flush_objects() to relate with pr #6992
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-15 11:54:59 -08:00
Christoph M. Wintersteiger
3baaba5edd
Revert unsound NaN constraints in theory_fpa ( #6993 )
2023-11-14 14:28:30 -08:00
Nikolaj Bjorner
37b283fab9
use python3 in nightly
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-14 08:54:10 -08:00
Nikolaj Bjorner
ad2107f079
fix #6978
2023-11-14 08:45:22 -08:00
Nikolaj Bjorner
4406011881
fix #6984
2023-11-14 07:40:32 -08:00
Nikolaj Bjorner
3c2e97ddb6
fix #6988
2023-11-14 07:30:32 -08:00
Nikolaj Bjorner
c2610cb37c
#6523
...
malformed models on giveup status
2023-11-13 14:32:53 -08:00
Nikolaj Bjorner
8a4e857294
#6523
...
regressions from changes inside math/lp/int_solver
2023-11-13 14:28:03 -08:00
Nikolaj Bjorner
3de5af3cb0
fix bug in bound simplification in Gomory for mixed integer linear cuts, enable fixed variable redution after bugfix, add notes that rewriting bounds does not work
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-10 16:39:04 +01:00
EyalBrilling
aa9c7912dc
fixed possible undefined variable assigment ( #6985 )
2023-11-10 11:36:24 +01:00
Nikolaj Bjorner
0556059bdf
change to expr_ref to allow trying simplification
2023-11-08 13:50:48 +01:00
Nikolaj Bjorner
bd4d580b17
fix #6986
2023-11-08 13:49:30 +01:00
Nikolaj Bjorner
e6385f8c85
disable bound validation in debug mode
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-07 20:49:26 +01:00
Nikolaj Bjorner
3d99ed9dd4
Gomory cut / branch and bound improvements
...
Improve fairness of cut generation by switching to find_infeasible_int_var with cascading priorities, allow stronger cuts by inlining terms.
2023-11-07 19:59:02 +01:00
Nikolaj Bjorner
9f0b3cdc25
Add utility to expand sub-terms
2023-11-07 19:58:32 +01:00
Nikolaj Bjorner
fb95760137
remove template
2023-11-07 19:57:50 +01:00
Nikolaj Bjorner
77dab53e9e
track number of Gomory cuts
2023-11-07 19:57:49 +01:00
Nikolaj Bjorner
2d1f4d5d93
remove verbose logging
2023-11-07 19:57:49 +01:00
Nikolaj Bjorner
e86eae27e6
#6523 and other heap-use-after-free error
2023-11-07 19:57:49 +01:00
Nikolaj Bjorner
eed02b6d86
improved logging, use C++11 for loops instead of iterators
2023-11-07 19:57:49 +01:00
Lev Nachmanson
14312ef8a3
remove some warnings with clang
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-11-02 15:34:41 -07:00
Lev Nachmanson
08d3a82ce0
simplify the jump on entering
2023-11-02 11:09:01 -07:00
Lev Nachmanson
bdf1fcf5c1
remove an assert
2023-11-02 09:59:03 -07:00
Lev Nachmanson
ca6cb0af95
add changes in lp with validate_bound and maximize_term
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-11-02 09:59:03 -07:00
Nikolaj Bjorner
49a071988c
remove temporary algebraic numbers from upper layers, move to owner module
2023-11-01 03:52:20 -07:00
Nikolaj Bjorner
ea915e5b37
#6971
...
clear m_a1, m_a2 before calls that may affect model.
2023-11-01 03:36:01 -07:00
Christoph M. Wintersteiger
3af2b36cd7
Add Z3_solver_interrupt to OCaml API ( #6976 )
2023-10-31 08:48:06 -07:00
Nikolaj Bjorner
91c2139b5d
just use std::string
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-30 17:56:44 -07:00
Nikolaj Bjorner
fe6f38a160
#6951 , fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-30 15:31:56 -07:00
Nikolaj Bjorner
c82b7dd241
Merge branch 'master' of https://github.com/z3prover/z3
2023-10-30 14:54:11 -07:00
Nikolaj Bjorner
f97dd34028
tests
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-30 14:54:04 -07:00
Clemens Eisenhofer
996b844cde
Fixed parsing of | and \ ( #6975 )
...
* Give users ability to see if propagation failed
* Skip propagations in the new core if they are already satisfied
* Fix registration in final
* Don't make it too complicated...
* Fixed next_split when called in pop
Made delay_units available even without quantifiers
* Missing push calls before "decide"-callback
* Fixed parsing of | and \
* Unit-test for parsing bug
2023-10-30 12:30:23 -07:00
Nikolaj Bjorner
938a89e197
prepare for local version of Gomory cuts
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-29 19:45:14 -07:00
Nikolaj Bjorner
160971df60
fix #6969 , again
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-29 19:10:46 -07:00
Nikolaj Bjorner
a957a5673d
remove experiment with theory lemmas
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-29 18:48:48 -07:00