Nikolaj Bjorner
d980ac9a05
fix #7582
2025-03-12 17:17:47 -07:00
Nikolaj Bjorner
fa5a50c4f9
fix #7295
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-12 11:43:31 -07:00
Nikolaj Bjorner
07fa36e37a
fix #7466
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-09 18:50:07 -07:00
Nikolaj Bjorner
ea1360ee46
fix #7578
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-09 17:01:42 -07:00
Nikolaj Bjorner
c002c77e5a
fix #7569
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-07 11:53:01 -08:00
Nikolaj Bjorner
80f00f191a
fix #7572 and fix #7574
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-03-07 10:46:29 -08:00
Nikolaj Bjorner
d24c488482
fix error in mk_nuget_task.py
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-28 18:19:36 -08:00
Nikolaj Bjorner
a97e5fcf0e
fix error in mk_nuget_task.py
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-28 18:18:51 -08:00
Nikolaj Bjorner
ec93972356
fixup unit tests
2025-02-27 17:18:53 -08:00
Nikolaj Bjorner
b784b748d4
fix #7550
2025-02-27 14:43:11 -08:00
Nikolaj Bjorner
83ee21cd22
streamline tracing
2025-02-27 14:42:35 -08:00
Nikolaj Bjorner
db997cd64d
fix regression, missing idx increment in iterator loop #7566
2025-02-25 01:52:42 -08:00
Lev Nachmanson
a7310462df
throttle down cuts from proofs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-23 19:38:35 -08:00
Nikolaj Bjorner
be8febedc3
add throttle, fixup bp.init() for proper initialization
2025-02-22 16:27:58 -08:00
Nikolaj Bjorner
c79967b2b6
using iterators
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-21 19:20:49 -08:00
Lev Nachmanson
67d77e26d2
remove a parameter when calling bound_analyzer_on_row
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-21 14:43:08 -08:00
Lev Nachmanson
b985838112
do not pass row index to bound_analyzer_on_row
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-21 14:38:40 -08:00
Nikolaj Bjorner
10c2af85c1
try for mixed-mode
2025-02-21 13:24:37 -08:00
Nikolaj Bjorner
ead8478046
fix build per new API for analyze_row
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-21 12:48:34 -08:00
Nikolaj Bjorner
1a3d1ad69d
add base line bounds tightening utility
2025-02-21 12:46:51 -08:00
Lev Nachmanson
7044bb8485
remove an unused parameter in bound_analyzer_on_row
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-21 10:17:43 -10:00
Nikolaj Bjorner
fbfbfa5d76
print column value
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-20 09:55:39 -08:00
Hari Govind V K
f50f21198e
Fix #7505 ( #7565 )
...
* fix #7505
* rename
2025-02-20 09:54:59 -08:00
Lev Nachmanson
bd3d288a08
tighten only core constrants
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-20 08:40:16 -08:00
Nikolaj Bjorner
45ad61438a
added logging
2025-02-19 17:40:59 -08:00
Nikolaj Bjorner
1fec0fa35b
remove verbose output
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-19 15:35:51 -08:00
Nikolaj Bjorner
01fbc0e8e7
fix #7563
2025-02-19 14:55:27 -08:00
Nikolaj Bjorner
712231dcda
fix #7560
2025-02-19 09:39:17 -08:00
Nikolaj Bjorner
075773e519
remove proviso for single index arrays
2025-02-19 00:02:38 -08:00
Nikolaj Bjorner
3e5abef145
fix #7549
2025-02-18 21:38:06 -08:00
Nikolaj Bjorner
e0945f57bb
fix #7554
...
mbp_qel uses two iterations of saturation.
The first iteration uses only congruences, not the model.
The second iteration uses the model.
Terms are marked as "seen" during either iteration and will not be reprocessed if they are "seen".
All select terms get marked as "seen" to avoid reproducing Ackerman axioms.
But this conflicts with expanding select-store axioms during
the phase of saturation where use_model is allowed.
2025-02-18 21:04:34 -08:00
Nikolaj Bjorner
28f3f8046e
#7559
2025-02-18 20:50:06 -08:00
Nikolaj Bjorner
11066486d7
#7559
2025-02-18 20:48:13 -08:00
Nikolaj Bjorner
991cffb519
handle multi-arity arrays
2025-02-18 20:38:45 -08:00
Nikolaj Bjorner
674e1b8f98
remove equality check on container
2025-02-18 20:15:42 -08:00
Nikolaj Bjorner
ce69b54b5f
adjust select/store rule for n-ary arrays
2025-02-18 20:08:56 -08:00
Nikolaj Bjorner
42f6e1300a
more review of mbp_arrays
2025-02-18 19:48:54 -08:00
Nikolaj Bjorner
a4a84ed083
arrays are not necessarily unary
2025-02-18 19:13:12 -08:00
Nikolaj Bjorner
a5e5a35755
code simplification
2025-02-18 19:07:58 -08:00
Nikolaj Bjorner
a143ed3bff
taking a look at mbp_qel for arrays
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-18 16:28:49 -08:00
Nikolaj Bjorner
813da35539
fix unit test
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-17 20:36:38 -08:00
Nikolaj Bjorner
f8f26788ad
convert def into expression tree
...
prior data-structure could not represent
((1 + x) div 2) * 2
It is possible to have nested expressions with div.
To deal with this, replace original def by an expression tree data-structure.
2025-02-17 18:47:00 -08:00
Nikolaj Bjorner
f977b48161
adjust solve_for to handle rationals
2025-02-17 13:59:23 -08:00
Nikolaj Bjorner
528efbb535
fixes to failure conditions for unification
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-16 13:41:17 -08:00
Nikolaj Bjorner
fe27ca1dd0
remove verbose output
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-16 13:23:56 -08:00
Nikolaj Bjorner
50f9fddfd2
Add unification based projection function
...
Heuristic for EMBPR is to unify terms that occur in uninterpreted contents. Walk partitions that are pure f(t) and an impure f(s)
and attempt to unify t with s ensuring that merges from s preserves satisfiability.
2025-02-16 13:18:21 -08:00
Nikolaj Bjorner
b27a2aa7fc
remove calls to removed def constructor
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-16 10:13:00 -08:00
Nikolaj Bjorner
a703cf81b1
replace model_ref by model* in tg_project,
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-15 19:34:52 -08:00
Nikolaj Bjorner
eee96ec312
bug fixes and cleanup in projection functions
...
spacer would drop variables of sorts not handled by main loop.
- projection with witness needs to disable qel style preprocessing to ensure witnesses are returned.
- add euf plugin to handle uninterpreted sorts (and then uninterpreted functions)
2025-02-15 14:11:20 -08:00
Lev Nachmanson
bedc95c4c7
use static_cast to avoid the warnings
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-13 07:07:12 -10:00
Phil Clayton
e6a089e63d
Fix build when Z3_API macro is non-empty ( #7553 )
...
API function definitions are updated to be consistent with header files.
2025-02-13 08:46:08 -08:00
Nikolaj Bjorner
94d3c591b5
make sure ackermann works with arrays that have more than one argument
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-11 21:28:31 -08:00
Nikolaj Bjorner
9ea921ba8e
update spacer projection for arrays to allow ackerman reduction for non-integer arrays
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-11 17:38:56 -08:00
Lev Nachmanson
e920291393
fixing the default parameters of dio and rename m_gomory_cuts to m_cuts
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
957b177c64
set arith.lp.dio_cuts_enable_gomory to False by default
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
5ec10e0250
address the review
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
8a9edd1aa7
fix the test build
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
79e3f8ab39
disabling dio handler by default, and fix a print out
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
2131e9b4e4
more accurate work with Markovich number
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
bdb8f54150
Revert "revert the term sorting"
...
This reverts commit c79d4708cb
.
2025-02-11 12:23:00 -10:00
Lev Nachmanson
5ebee24850
revert the term sorting
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
f2c1fd4c14
try markovich number
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
cec8dc2e6e
try markovich number
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
3f2d2e8348
test
2025-02-11 12:23:00 -10:00
Lev Nachmanson
b6701d57f9
try another sort in tightening
2025-02-11 12:23:00 -10:00
Lev Nachmanson
5b0b224a5c
try sorting terms before tightening
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
dcd5783232
remove the fresh definition when removing its column
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
17d68c18aa
comment change
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
d90b94d0e2
stricter is_in_sync paying attenion to m_row2fresh_defs
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
134bed826a
throttle the branching in dio
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
bd8cf29df7
ignore large changed_columns
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
3ac11cd136
fix assert
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
cf4e402a0f
avoid usisg indexed_vector for term operations
2025-02-11 12:23:00 -10:00
Lev Nachmanson
440d78f237
disallow duplicates in a queue
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
7e02dfe484
add stats on m_dio_branching_conflicts
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
0bf3ca87e7
call normalize_e_by_gcd() only when moving an entry from F to S
2025-02-11 12:23:00 -10:00
Lev Nachmanson
99538567a7
rebase with master
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
a19e10912f
make dio less aggressive, allow other cuts
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
fee707842d
register m_added_terms in m_changed_terms
2025-02-11 12:23:00 -10:00
Lev Nachmanson
21f67ef942
out of bounds fixes
2025-02-11 12:23:00 -10:00
Lev Nachmanson
3b3d8cee03
use m_chandedNterms to tighten terms
2025-02-11 12:23:00 -10:00
Lev Nachmanson
65bdd58d3e
remove struct entry
2025-02-11 12:23:00 -10:00
Lev Nachmanson
a9098a5785
optimise l terms addition
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
3e7e903d19
use the trail to undo add_term
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
9c510018b3
fix the debug build
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
058b9e4a6d
optimise rewrite_eqs to avoid fresh variables
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
ed3df333b3
make rewrite_eq boolean, and relax an ASSERT
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
ca7c128d3f
clean up fresh definitions on a pop
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
b027761845
debug dio
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
bb869fd020
don't store fresh definitions in m_e_matrix
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
e5ffc3cfae
cleanup
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
d7de7eb732
remove recalculated entries from S
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
ef55de1646
fix out of bounds bug
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
3990df6d91
substitute variables with a queue on the recalculated entries
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
78d91f3794
simplify dio handler by using bijection m_k2s
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
33f5e303f8
use entry_status for FRESH entries
2025-02-11 12:23:00 -10:00
Lev Nachmanson
0e71adfa35
fix some warnings
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
7bba8bc0c9
fix some warnings
2025-02-11 12:23:00 -10:00
Lev Nachmanson
abac52e1d7
remove var_register_dio.h
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
89eec4cc80
test dio
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00