3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-13 12:28:44 +00:00
Commit graph

16501 commits

Author SHA1 Message Date
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
Lev Nachmanson 5a72117528 debug dio
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 0027ae21e8 bug fixes
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 5158797233 refine trail iterations with lar.m_terms
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 9a9ccf19c5 introdure lar_term.ext_coeffs(), dio passes some tests
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 083926c658 debug dio
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson a0ece6dd2c cleanup
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson ceeece6770 debug dio
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson ac5c50f179 fix ubuntu build in dio
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson c1ece49694 track changed columns in dio\
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 008e9229a5 use std_vector more and getting NOT_IMPLEMENTING in C:\dev\z3\src\math\lp\dioph_eq.cpp
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 57b665d075 work on incremental dio
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 28556ce625 cleanup
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 862dc91cb2 work on incremental dio
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson fd3bd088a4 remove some warnings 2025-02-11 12:23:00 -10:00
Lev Nachmanson 9a96aa94e6 test
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson bef313f7a0 test 2025-02-11 12:23:00 -10:00
Lev Nachmanson 7ecac27335 fix a bug in dio 2025-02-11 12:23:00 -10:00
Lev Nachmanson b0383da8f2 fix a bug in dio 2025-02-11 12:23:00 -10:00
Lev Nachmanson 7fe703e229 simplify column
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 8d747865ae cosmetics
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson deac00ada3 persist dio handler
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 2c8a6f83e4 change int_solver to call find_cube and hnf_cut, conditionally
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 39da4f6dbd remove an assert
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 28d41783b8 fix the build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 397fdf657d fix the build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 63980f3bfd fixes in dio branching
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 6bc7662580 passes z3test 2025-02-11 12:23:00 -10:00
Lev Nachmanson 174185582a collect the explanation correctly 2025-02-11 12:23:00 -10:00
Lev Nachmanson bc0fdfe158 remove dead code
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson c300843585 cancel bugs fixes
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson e4f3b5753f solving regressions/smt2/b1.smt2 2025-02-11 12:23:00 -10:00
Lev Nachmanson 71c433908c work on incremental version
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson d68ebeeb9f use var_register in dioph_eq
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 480c48f93d document dioph_eq
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 02a509b6e8 remove a global debug variable
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson acc2149270 remove redundant m_row_index from entry
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson d4390731f9 take dependencies from open_ml
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 3fcc5a2227 fixes in tigthening
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 9164672d42 check feasibility immediately after tightening a bound
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 58e57352c2 implement explain() 2025-02-11 12:23:00 -10:00
Lev Nachmanson b30272feed add missing explanations
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson e0a08f16d3 fix the build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 30f5599064 use fixed vars to explain tightening
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 36293ac773 test that pivoting is correct in dioph_eq.cpp 2025-02-11 12:23:00 -10:00
Lev Nachmanson 0db0efce9f print output file name
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 8904a50103 fix the build 2025-02-11 12:23:00 -10:00
Lev Nachmanson 5f5f1d4fd1 init m_e_matrix on terms instead of the tableau
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 392c24a145 throttle dioph equalities
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 128d5b4fa0 change type of m_e_matrix
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson a63e0d801e add a template instantiotion
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 0f03e7560d handle empty rows in m_e_matrix
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson ba7268c895 vector access bugs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 66f88206f5 bug fixes with tableau
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 62ea6fbe98 bug fixes
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson ac491989b8 bug fixes
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 536c51f600 debug dio with static matrix 2025-02-11 12:23:00 -10:00
Lev Nachmanson 28fbc810e6 unifying vectors into eprime_entry 2025-02-11 12:23:00 -10:00
Lev Nachmanson 42bdc893a9 dio with static_matrix initial setup
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 9e8b17b5f8 do not use conflicts with fresh vars to create branches
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson eaf2f7f165 remove disabling return 2025-02-11 12:23:00 -10:00
Lev Nachmanson 8aeba62802 remove more warnings
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 552a504f72 remove a warning
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 4bd815852d fix ubuntu's build
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson ea50208ad6 prepare using fresh vars in cuts
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 06faf03eaa use cuts from proofs, remove gcc warnings
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 2ebb957cc8 enable cuts from proofs
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 44fd0e48a8 fixes in dio
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson a8e667c643 do not eliminate fresh variables when tightening
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 52b0b8d5d5 fixed dio
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 5ac428fcc9 comment out global_max_change
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 89e4f59df2 debug dio
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 798f0e2e8a test tightening with S
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 193116bf84 handle sat with tightening 2025-02-11 12:23:00 -10:00
Lev Nachmanson b1be8c0957 cosmetics
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 5db46c1d81 use u_dependency in eprime_pair
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 1408fe60ab work on tighten_with_S
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson f0b5cd1066 remove a throw
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson be8f3e9c3e bug fix
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 0b1e923d2a small optimization
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 66c6bad01c optimize dio changes
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson 18c75e6333 less eager dio
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
Lev Nachmanson bbeecc6f7c fix the build 2025-02-11 12:23:00 -10:00
Lev Nachmanson 3d5ee82bd1 handle zero rows correctly 2025-02-11 12:23:00 -10:00
Lev Nachmanson 78a58b06aa dio passes regression\smt2 tests with limited functionality
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2025-02-11 12:23:00 -10:00
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
Clemens Eisenhofer acd48b6a30
Fixing #7465 (#7551)
* Fixed bug in UP

* Put decrement at the right position

* Fixed replaying in UP

* Set UP persist clauses to false
2025-02-11 09:20:25 -08:00
Nikolaj Bjorner c2b7b58c78 #7468 - add option (get-info :parameters) to display solver parameters that were updated globally and distinct from defaults
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-10 11:57:14 -08:00
Nikolaj Bjorner 62126fd6e2 fix build warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-02-10 11:51:21 -08:00
Can Cebeci af270da785
Fix complete_partial_func for finite domains (#7547) 2025-02-05 16:14:55 -08:00
Clemens Eisenhofer 091984419e
Fixed bug in UP (#7545)
* Fixed bug in UP

* Put decrement at the right position
2025-02-04 08:41:28 -08:00
Nikolaj Bjorner 17d47ca8c7 fix #7493 2025-02-02 15:00:31 -08:00
Nikolaj Bjorner 99cbfa715c Add a sharp throttle to lia2card tactic to control overhead in default tactic mode
lia2card was added to qfuflia tactic based on a user scenario, but it overshot: lia2card is by default harmful. It is here tamed to only convert binary variables and throttle on nested ite terms
2025-02-02 13:58:51 -08:00
Nikolaj Bjorner fd2a8a554d disable small clause generation for propagation 2025-02-01 20:04:29 -08:00
Nikolaj Bjorner 0ef26983fc release
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-31 17:31:37 -08:00
Nikolaj Bjorner aea4490fb2 throttle overhead with lia2card 2025-01-31 12:36:59 -08:00
Nikolaj Bjorner d465bdbb87 include extensionality constraints for arrays 2025-01-31 11:06:40 -08:00
Nikolaj Bjorner 8ae24e2b38 update release version 2025-01-31 09:29:28 -08:00
Clemens Eisenhofer 9557e7cacf
Minor (#7540) 2025-01-31 08:22:30 -08:00
Nikolaj Bjorner 1ce6e66ac9 generalize logic detection to use sub-string matching 2025-01-30 16:34:54 -08:00
Nikolaj Bjorner eb825855fa increase the log level on callbacks with bit-indices that get set 2025-01-30 16:34:36 -08:00
Nikolaj Bjorner c9ac4d6f75 pre-flatten use list before iterating over m_unsat
select_max_same_sign accesses the use-list which may cause it to be flattened.
2025-01-30 16:34:17 -08:00
Nikolaj Bjorner e3566288a4 fixes based on benchmarking UFDTLIA/NIA/BV 2025-01-29 17:00:26 -08:00
Nikolaj Bjorner f1e0950069 fix several crashes exposed by QF_UFDTNIA benchmark sets 2025-01-29 16:23:38 -08:00
Nikolaj Bjorner bfe4673dac this check is not an invariant in the first place
but nice to have.
2025-01-29 16:23:18 -08:00
Nikolaj Bjorner 51357f6d06 Add selective filter on Ackerman axioms 2025-01-29 11:42:50 -08:00
Clemens Eisenhofer c2a0919f79
Removed no progress case in seq-sls (#7537) 2025-01-29 09:43:57 -08:00
Nikolaj Bjorner 6d3cfb63da add eval1 functionality for replace_all 2025-01-29 04:36:55 -08:00
Nikolaj Bjorner ab43d2dcf1 fix semantics of check-int64 div operation to align with smtlib semantics 2025-01-29 04:29:38 -08:00
Nikolaj Bjorner 30d72f79ac remove verbose output of overflow 2025-01-29 03:48:11 -08:00
Nikolaj Bjorner 3379155a63 add check for root literal assignment 2025-01-29 03:14:14 -08:00
Nikolaj Bjorner fe5d17d515 handle exception internally, avoid passing rationals to integer operations 2025-01-28 20:09:59 -08:00
Nikolaj Bjorner 5b175c1bcd fix crashes in sls_datatype 2025-01-28 19:24:32 -08:00
Nikolaj Bjorner fe713eb8e9 disable quadratic moves for non-integers as sqrt isn't currently defined for rationals 2025-01-28 16:53:12 -08:00
Nikolaj Bjorner d8430810fe fix mixup between sync and sls managed variables 2025-01-28 16:35:50 -08:00
Nikolaj Bjorner fa605454fb fix crash reported by Nikhil on F* due to unhandled exception while using the rewriter during search 2025-01-28 16:27:28 -08:00
Nikolaj Bjorner 5c2a9d9936 fix pickup of new constraints 2025-01-28 15:04:13 -08:00
Nikolaj Bjorner 1676378be9 skip last power 2025-01-28 15:03:01 -08:00
Nikolaj Bjorner 8a7d971264 Update sls_bv_lookahead.h 2025-01-28 15:02:45 -08:00
Nikolaj Bjorner 2ebc647079 skip update stack items that are not Bool/bv 2025-01-28 15:02:33 -08:00
Nikolaj Bjorner 632e2b56e4 fix initialization of mod terms 2025-01-28 15:01:50 -08:00
Nikolaj Bjorner a8279dd9d5 reset kv map consistently with egraph
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-27 17:09:38 -08:00
Nikolaj Bjorner 57a5474ab4 revert flat default
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-27 16:56:12 -08:00
Nikolaj Bjorner 72ae161307 compress store array before model-eval rewriter sees it
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-27 16:55:07 -08:00
Nikolaj Bjorner fe1622b592 sls fixes for ABV. Axiomatization required as saturation can produce conflicts by congruence closure
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-27 15:16:13 -08:00
Jonáš Fiala 2050fc3b35
Preserve fingerprint in trace (#7534) 2025-01-27 13:09:48 -08:00
Can Cebeci 2d8f024680
Mark fixed_eq literals as relevant (#7533) 2025-01-27 11:10:46 -08:00
Nikolaj Bjorner 63f9fdaf3e fix build 2025-01-27 10:52:21 -08:00
Nikolaj Bjorner 15ee879602 fix #7532 2025-01-27 10:51:12 -08:00
Nikolaj Bjorner b6e7b80704 updates to handle bugs exposed by qf-abv for local search
- ctx.is_true(e) - changed to work with expressions that are not literals, but come from top-level assertions
- set fixed in sls_bv_fixed to work with non-zero low order bits
- array plugin to deal with cases where e-graph is inconsistent after a merge.
2025-01-27 10:35:29 -08:00
Nikolaj Bjorner 7ffed8613a fix bug with handling theory symbols of bit-vector type. Happens for data-type accessors. Reported by Clemens Eisenhofer
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-27 08:22:33 -08:00
Nikolaj Bjorner 09e84e0448 fix crash when accessing bool-info vars, reported by Clemens Eisenhofer
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-27 07:28:20 -08:00
Hari Govind V K f574950237
fix #7521 (#7531) 2025-01-26 17:52:06 -08:00
Nikolaj Bjorner 5634dc5875 fix model construction bug: ignore non-relevant expressions when building model
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-26 17:50:15 -08:00
Nikolaj Bjorner d3bf25ce85 throttle value smt -> sls 2025-01-26 14:16:43 -08:00
Nikolaj Bjorner d4100fc472 fixes to update propagation.
rename update and update_args_value to
update_checked
update_unchecked

ensure upward propagation so that local values are consistent when entering lookahead solvers.
2025-01-26 12:55:03 -08:00
Nikolaj Bjorner 04d0e9492b set log level of revert repair down to 3
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2025-01-26 11:56:59 -08:00
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