Lev Nachmanson
245d448c66
fix term_o init
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
a796d48264
debug dio
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
df18885f97
debug dio
2025-02-11 12:23:00 -10:00
Lev Nachmanson
cd13890650
fix in substitution of fresh variables, clean column.h
2025-02-11 12:23:00 -10:00
Lev Nachmanson
f5e646cbcb
bug fix in init and getting explanations
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
59e2dab69a
create a conflict explanation
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
52653e6e43
a version with less pointers: got a conflict
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
5a36e02c58
in the middle
2025-02-11 12:23:00 -10:00
Lev Nachmanson
122e0135d2
use std::list
2025-02-11 12:23:00 -10:00
Lev Nachmanson
3b22d3b19d
fix the crash
2025-02-11 12:23:00 -10:00
Lev Nachmanson
abf29b57aa
crash
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson
a5dd59fdfb
fix the build
2025-02-11 12:23:00 -10:00
Lev Nachmanson
a1a01b9da6
move some functionality from int_solver to int_solver::imp
2025-02-11 12:23:00 -10:00
Lev Nachmanson
889292472e
fix the build
2025-02-11 12:23:00 -10:00
Lev Nachmanson
3d6cc64e2e
prepare for calling diophantine equations
2025-02-11 12:23:00 -10:00
Lev Nachmanson
097a25ebfe
add parameter to control calling diophantine equations
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10: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
89ed4d6c8b
use monomial variable, not the fixed variable
2025-01-14 07:27:59 -08:00
Nikolaj Bjorner
c01336553e
move fixed variable propagation to nla_core/monomial_bounds
2025-01-13 18:18:53 -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
9a237d55ca
fix misc build warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-11 17:41:24 -08:00
Nikolaj Bjorner
270c127407
sketch fixed variable callback mechanism
2025-01-08 12:50:46 -08: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
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
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
05e053247d
add facility to solve for a linear term over API
2024-11-30 09:34:27 -08:00
Nuno Lopes
3586b613f7
remove default destructors
2024-10-02 22:20:12 +01:00
Nikolaj Bjorner
d686e92bfa
disambiguate
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-10-02 10:45:16 -07:00
Nikolaj Bjorner
93ff89bf98
add == for const_ref and ref to disambiguate equality.
2024-10-02 10:45:16 -07:00
Nikolaj Bjorner
551cc53a2f
fix un-intialized variable warnings
2024-09-30 15:08:33 -07:00
Nikolaj Bjorner
826835fd7c
fixes to build warnings
2024-09-30 08:23:31 -07:00
Nuno Lopes
499ed5d844
remove unneeded iterator functions
2024-09-23 12:59:04 +01:00
Nuno Lopes
737c2208fa
delete more default constructors
...
reduces code size by 0.1%
2024-09-23 12:59:04 +01:00
Nuno Lopes
a62fede64b
remove a few default constructors
2024-09-23 08:17:58 +01:00
Lev Nachmanson
342dccdc02
correctly process cancellation in gomory cuts
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-09-19 14:11:27 -07:00
Nikolaj Bjorner
48712b4f60
Add initial value setting for variables in Z3 API, solver, and optimize modules
2024-09-18 16:13:15 +03:00
David Seifert
2ce89e5f49
Gcc 15 two phase ( #7313 )
...
* Fix `-Wclass-memaccess`
* Fix for GCC 15 two-phase lookup
* GCC 15 is more aggressive about checking dependent names:
https://gcc.gnu.org/git/?p=gcc.git;a=commitdiff;h=r15-2117-g313afcfdabeab3
Bug: https://bugs.gentoo.org/936634
2024-07-29 11:07:10 -07:00
Lev Nachmanson
e4b3df2189
remove unused column_info.h
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-06-17 12:58:16 -07:00
Bruce Mitchener
904a50fe49
Fix compilation error in column_info ( #7235 )
...
Reference to `m_low_bound` should be `m_lower_bound`.
2024-05-27 09:19:29 +04:00
Nikolaj Bjorner
8fe357f1f2
Nlsat simplify ( #7227 )
...
* dev branch for simplification
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* bug fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* bugfixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix factorization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* separate out simplification functionality
* reorder initialization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* reorder initialization
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Update README.md
* initial warppers for seq-map/seq-fold
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* expose fold as well
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add C++ bindings for sequence operations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add abs function to API
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add parameter validation to ternary and 4-ary functions for API #7219
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add pre-processing and reorder
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add pre-processing and reorder
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
---------
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-05-14 22:19:33 -07:00
Nikolaj Bjorner
bebcd94703
enable logging nla lemmas
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-04-25 10:29:34 -04:00
Nikolaj Bjorner
974ea7b68d
maintain ownership of dependency
2024-04-10 17:57:14 -07:00
Nikolaj Bjorner
7b8980f82d
fix regression introduced when testing
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-04-09 11:17:03 -07:00
Nikolaj Bjorner
8d0e66b3e3
fix regression introduced when testing
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-04-09 11:16:34 -07:00
Nikolaj Bjorner
9a681b1a37
reorg sls
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-04-09 10:44:53 -07:00
Nikolaj Bjorner
361e04a18e
port fixes to intblast
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-03-09 10:27:12 -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
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