3
0
Fork 0
mirror of https://github.com/Z3Prover/z3 synced 2025-04-18 22:59:02 +00:00
Commit graph

15620 commits

Author SHA1 Message Date
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
Nikolaj Bjorner 3726960969 fix #6969
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-29 17:44:00 -07:00
Nikolaj Bjorner 589024aa1c fix #6969
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-29 17:44:00 -07:00
Christoph M. Wintersteiger 9d57bdd2ef
Assorted fixes for floats (#6968)
* Improve 4be26eb543

* Add-on to 0f4f32c5d0

* Fix mk_numeral

* Fix corner-case in fp.div

* Fixes for corner-cases in mk_to_fp_(un)signed

* Fix out-of-range results in mpf_manager::fma

* Further adjustments for fp.to_fp_(un)signed

* fp.to_fp from real can't be NaN

* fp.to_fp from reals: add bounds

* Fix NaN encodings in theory_fpa.

* Fix fp.fma rounding with tiny floats

* Fix literal creation order in theory_fpa
2023-10-29 17:29:42 -07:00
Nikolaj Bjorner bd8e5eee4b add simplification experiment (disabled) for tracking, some reshuffling of equation/fixed_equation structs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-29 10:21:31 -07:00
Clemens Eisenhofer e7c17e68b8
Fixed next_split call in pop (#6966)
* 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
2023-10-28 12:46:43 -07:00
Nikolaj Bjorner 52d16a11f9 deal with non-termination in new arithmetic solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-27 16:15:36 -07:00
Nikolaj Bjorner 93427f1175 regression test 2447
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-26 08:48:58 -07:00
Nikolaj Bjorner 0b8d7b755d useful string rewrites
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-26 03:48:50 -07:00
Nikolaj Bjorner 5622fd1362 initialize delay bound
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-26 03:26:41 -07:00
Nikolaj Bjorner 76f9e1d2b3 fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-25 17:31:19 -07:00
Nikolaj Bjorner 702744f139 fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-25 16:57:31 -07:00
Nikolaj Bjorner 4434cee5df merge 2023-10-25 16:38:18 -07:00
Nikolaj Bjorner 20c54048f7 use cone of influence reduction before calling nlsat. 2023-10-25 16:19:23 -07:00
Nikolaj Bjorner e2db2b864b add hook for in-processing simplification for NLA
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-25 15:09:21 -07:00
Nikolaj Bjorner 6ba151599e Merge branch 'master' of https://github.com/z3prover/z3 2023-10-25 13:15:26 -07:00
Nikolaj Bjorner 55775bdc20 incremnet log level for debug output on cancelation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-25 13:15:15 -07:00
Bruce Mitchener 236afeb8cb
docs: More intra-doc linking, bit of formatting. (#6963) 2023-10-25 10:07:03 -07:00
Nikolaj Bjorner 7b490543ca add missing simplification; handle nit #6952
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-25 10:00:15 -07:00
Nikolaj Bjorner 0859be5649 #6953
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-25 09:07:04 -07:00
dependabot[bot] 8b04049069
Bump @babel/traverse from 7.19.4 to 7.23.2 in /src/api/js (#6954)
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.19.4 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-23 15:29:42 -07:00
Nikolaj Bjorner 8fac89cdcc enable more simplification in case inequality triggers a change. 2023-10-21 19:58:39 -07:00
Nikolaj Bjorner 4e21e126a8 update add_lemmas to use check-feasible 2023-10-21 19:58:07 -07:00
Nikolaj Bjorner c9d298e57f enable propagate-linear-equations and extend to monomials 2023-10-21 19:57:41 -07:00
Nikolaj Bjorner 53ce18ef34 update backoff for bounded_nla 2023-10-21 19:57:06 -07:00
Nikolaj Bjorner 97058b0d5d allow for propagations the trigger make-feasible check 2023-10-19 16:08:44 -07:00
Nikolaj Bjorner 8c00181815 fix #6955 2023-10-19 10:41:24 -07:00
Nikolaj Bjorner 11ab583232 fix #6956 2023-10-19 10:34:31 -07:00
Nikolaj Bjorner 37fe9cc764 add Horner saturation to Grobner conflict detection
- throttle Grobner
- add (disabled) propagate_linear_equation to prepare for additional propagation.
- add validation code is_nla_conflict/add_nla_conflict to establish missed conflicts
2023-10-17 21:19:57 -07:00
Nikolaj Bjorner 0a1cc4c054 fix exception safety in pdd-solver 2023-10-17 19:50:34 -07:00
Nikolaj Bjorner 3fa67777e5 fix exception safety in pdd-solver 2023-10-17 19:50:13 -07:00
Nikolaj Bjorner c9c5dbc347 #6523 2023-10-16 09:27:22 -07:00
Nikolaj Bjorner f678861aef fix #6947 2023-10-16 08:43:08 -07:00
Nikolaj Bjorner ba881d9c9b add facility to experiment with nla justified conflicts from Grobner equations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-16 00:40:43 -07:00
Nikolaj Bjorner 18fc6914d3 add facility to experiment with nla justified conflicts from Grobner equations
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-16 00:40:24 -07:00
Nikolaj Bjorner bdac86501d add facility to check for missing propagations 2023-10-15 20:33:48 -07:00
Nikolaj Bjorner cafe3acff1 delay detach
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-15 12:41:34 -07:00
Nikolaj Bjorner 891ab8bac5 #6523
fixup looping
2023-10-15 12:37:14 -07:00
Nikolaj Bjorner 6553382ec8 remove extra assume-eqs 2023-10-15 12:30:24 -07:00
Nikolaj Bjorner b2efa592ce #6523
deal with memory leak on exceptions
2023-10-15 12:17:08 -07:00
Nikolaj Bjorner 41b1f47d77 #6523
deal with memory leak when there is an exception
2023-10-15 12:15:28 -07:00
Nikolaj Bjorner 5942dc24bd #6523 2023-10-15 11:41:25 -07:00
Nikolaj Bjorner 5619ed0586 resurrect old bounds propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-14 13:55:56 -07:00
Nikolaj Bjorner a39d4adf5b build fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-14 13:45:42 -07:00
Nikolaj Bjorner 47f1c86f93 fix regression
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-14 02:38:49 -07:00
Nikolaj Bjorner d44d78f9d1 remove temporary configuration parameter used for testing
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-14 01:33:05 -07:00
Nikolaj Bjorner 08af965b56 updates to monomial bounds 2023-10-14 01:33:05 -07:00
Hari Govind V K ba6c23bbc5
bug fix #6934 (#6940) 2023-10-14 01:06:15 -07:00
Nuno Lopes fcb03aa56c minor code simplification 2023-10-11 01:38:03 +01:00
Nikolaj Bjorner 01188462d5 build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-10 16:24:05 -07:00
Nikolaj Bjorner 960a024d3d fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-10 13:54:00 -07:00
Nikolaj Bjorner 6445d01557 normalize newlines for if 2023-10-10 13:43:49 -07:00
Nikolaj Bjorner d04807e8c3 merge
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-10 13:43:38 -07:00
Nikolaj Bjorner 338d7b3283 remove unused variables 2023-10-10 13:42:21 -07:00
Nikolaj Bjorner f3e9712beb formatting 2023-10-10 13:42:21 -07:00
Nikolaj Bjorner e8e636c3ec fix #6936 2023-10-10 13:42:21 -07:00
Lev Nachmanson 180ab727e7 fix a bug in unit nl prop
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-10-10 07:32:07 -07:00
Nikolaj Bjorner adbee0cd3f fix #6937 2023-10-10 16:02:59 +09:00
Nikolaj Bjorner 267e9e827d #6935 2023-10-10 15:52:54 +09:00
Nikolaj Bjorner 4a870966ad add code to enable unit propagation of bounds
set UNIT_PROPAGATE_BOUNDS 1 to use the unit propagation version. It applies unit propagation eagerly (does not depend on checking LIA consistency before final check) and avoid creating new literals in most cases
2023-10-09 16:04:39 +09:00
Nikolaj Bjorner 1bdf66b918 move initialization to header file 2023-10-09 10:55:43 +09:00
Lev Nachmanson 1ba0f5aba9 cosmetic changes 2023-10-08 10:16:40 -07:00
Lev Nachmanson 3aac528aef add a comment
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-10-08 07:34:03 -07:00
Nikolaj Bjorner 54f7aac0bc column value is not necessarily at bounds 2023-10-08 17:18:26 +09:00
Lev Nachmanson 4c228fb02c
Merge branch 'master' into unit_prop_on_monomials 2023-10-06 07:24:05 -07:00
Lev Nachmanson a94a75459e fixin nla_solver_test.cpp 2023-10-06 06:51:00 -07:00
Lev Nachmanson f847d039bc use the simple version of move_non_basic_column_to_bounds 2023-10-05 20:57:54 -07:00
LufyCZ 19e921290e
increase wasm stack size (#6931) 2023-10-06 11:49:54 +09:00
Christoph M. Wintersteiger 23de8056d7
Add RCF functions to OCaml API (#6932) 2023-10-06 11:49:22 +09:00
Lev Nachmanson bf3817ef7c restore move_non_basic_to_bounds
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-10-05 18:14:52 -07:00
Lev Nachmanson b61f4ac51f merge changes from master
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-10-05 07:50:13 -07:00
Nikolaj Bjorner b0df74c1c1 #6930
simplify assumptions and only replay assumptions after constraints are simplified. This allows simplifying assumptions with the current set of constraints independently of whether there is another check-sat.
2023-10-05 17:23:17 +09:00
Lev Nachmanson 45c0ed126e remove unnecessery call
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-10-04 17:39:22 -07:00
Lev Nachmanson edd1761ff3 restore the scheme of m_columns_with_changed_bounds
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-10-04 11:06:24 -07:00
Lev Nachmanson a88aa7ffa5 debug new propagation scheme
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-10-03 16:25:49 -07:00
Nikolaj Bjorner 00ba064cd3 ensure bounds propagation on changed columns after nla propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-10-03 14:28:59 +09:00
Clemens Eisenhofer 4133a1cc5a
Fix UP registration in final callback (#6929)
* Fix registration in final

* Don't make it too complicated...
2023-10-03 09:51:02 +09:00
Lev Nachmanson 7de06c4350 merging master to unit_prop_on_monomials 2023-10-02 16:42:59 -07:00
Lev Nachmanson a297a2b25c fixes in lar_solver around nl unit propagation
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-10-01 11:39:58 -07:00
Nikolaj Bjorner ab8fe199c5 fix case for 0 multiplier in monomial_bounds
disabled in master - it violates invariants in the lra solver.
2023-10-01 18:41:23 +09:00
Nikolaj Bjorner 50654f1f46 add theory propagation to linear monomial propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-30 08:52:09 +09:00
Lev Nachmanson 702322a6e9 change the order of lp and nlp propagation 2023-09-29 15:31:32 -07:00
Lev Nachmanson b64fdef41f better tracking changinc rows and monomials 2023-09-29 15:27:22 -07:00
Lev Nachmanson f30a2c13be propagate only one non-fixed monomial intrernally
lar_solver
2023-09-28 17:24:34 -07:00
Nikolaj Bjorner ddcd1ee992 non-fixed term should have bound 0
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-28 09:25:36 -07:00
Nikolaj Bjorner 65e59e3ec4 sketch of internal propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-27 20:43:38 -07:00
Nikolaj Bjorner 7207f0ff9c sketch of internal propagation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-27 20:40:55 -07:00
Lev Nachmanson 29b5c47a8d track changed monics efficiently
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-09-27 09:09:38 -07:00
Nikolaj Bjorner 9033b826f4 debug output with the variable that is fixed and its value
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-27 00:52:26 -07:00
Nikolaj Bjorner 42767b9aab
Merge branch 'master' into unit_prop_on_monomials 2023-09-26 23:55:37 -07:00
Nikolaj Bjorner 2297b0334b re-introduce simple implementation of linear monomial propagation for evaluation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-26 23:53:14 -07:00
Nikolaj Bjorner 6559e5fb32 port over std_vector and std-allocator functionality from monomial propagation branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-26 21:15:07 -07:00
Nikolaj Bjorner aaa587398e add propagation flag to monic and method for updating it to emonics. This replaces the bool-vector tracking for propagation and internalizes it to the emonics class
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-26 20:52:34 -07:00
Nikolaj Bjorner 4b85a105bb
Merge branch 'master' into unit_prop_on_monomials 2023-09-26 20:25:43 -07:00
Nikolaj Bjorner 9c63ea3135 port over cosmetics from unit_prop_on_monomials branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-26 20:24:49 -07:00
Nikolaj Bjorner 94eb101873
Merge branch 'master' into unit_prop_on_monomials 2023-09-26 20:15:58 -07:00
Nikolaj Bjorner 36566d6193 port over moving m_nla_lemmas into nla_core from the linear monomial propagation branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-26 20:15:22 -07:00
Nikolaj Bjorner e4e1d6148c port over moving m_nla_lemmas into nla_core from the linear monomial propagation branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-26 20:14:42 -07:00
Nikolaj Bjorner e8fcc876c9
Merge branch 'master' into unit_prop_on_monomials 2023-09-26 20:14:06 -07:00
Nikolaj Bjorner ec2937e2de port over moving m_nla_lemmas into nla_core from the linear monomial propagation branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-26 20:08:30 -07:00
Nikolaj Bjorner 8d2b65b20b add options to allow testing the effect of non-linear hammers
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-26 19:18:44 -07:00
Lev Nachmanson 368fe80b3d fix the build 2023-09-25 16:55:02 -07:00
Lev Nachmanson 6ff4856e38 throttle monomial unit prop and and nl params 2023-09-25 16:47:34 -07:00
Lev Nachmanson 896aba31f8 move monomial propagation from theory_lra to nla_solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-09-25 14:20:24 -07:00
Nikolaj Bjorner d2c0f7dba7 fix test build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-25 12:48:52 -07:00
Nikolaj Bjorner 0a1ade6f95 move m_nla_lemma_vector to be internal to nla_core
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-25 12:40:52 -07:00
Lev Nachmanson 26a9b776c6 clean m_nla_lemma_vector in nla_solver
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-09-25 12:10:59 -07:00
Nuno Lopes 029d726eb8 minor code simplification 2023-09-25 15:33:40 +01:00
Nikolaj Bjorner 87a839c794 fixup unit test for added argument to constructor of nla_solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-23 18:07:56 -07:00
Nikolaj Bjorner db097bae05 use format from unit_prop_on_monomials branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-23 17:24:46 -07:00
Nikolaj Bjorner 3433366bef Merge branch 'unit_prop_on_monomials' of https://github.com/z3prover/z3 into unit_prop_on_monomials 2023-09-23 17:20:08 -07:00
Nikolaj Bjorner 85eacf9bb1 merge with master
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-23 17:20:00 -07:00
Nikolaj Bjorner 61319ffd85 cache is_shared information in the enode
observed perf overhead for QF_NIA is that assume_eqs in theory_lra incurs significant overhead when calling is_relevant_and_shared. The call to context::is_shared and the loop checking for beta redexes is a main bottleneck. The bottleneck is avoided by caching the result if is_shared inside the enode. It is invalidated for every merge/unmerge.
2023-09-23 17:19:06 -07:00
Nikolaj Bjorner a3e2e68d93
Update theory_lra.cpp 2023-09-23 16:26:31 -07:00
Nikolaj Bjorner acad9fa62c
Update smt_context.cpp 2023-09-23 16:25:46 -07:00
Nikolaj Bjorner eea9c0bec6 fix #6914 2023-09-23 11:22:25 -07:00
Nikolaj Bjorner 30d1800c31 #6916
short circuiting equality consequence appears to have the wrong sign
2023-09-23 10:32:51 -07:00
Nikolaj Bjorner 421fe94607 rmove debug out
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-22 17:59:07 -07:00
Nikolaj Bjorner 886d3f4351 indentation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-22 16:55:34 -07:00
Nikolaj Bjorner eac54ba084 indentation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-22 16:54:12 -07:00
Nikolaj Bjorner 940775d12d indentation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-22 16:48:40 -07:00
Lev Nachmanson caa929f01f do not use lemmase in monomial propagation 2023-09-22 14:27:26 -07:00
Nikolaj Bjorner 5d8779b05d
Merge branch 'master' into unit_prop_on_monomials 2023-09-22 09:46:41 -07:00
Nikolaj Bjorner eff3f5f65e port bug fixes from unit prop branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-22 09:45:58 -07:00
Lev Nachmanson 576309a16f Revert "reject rows with columns with big numbers for lp bound propagation"
This reverts commit c0b55d1435.
2023-09-21 16:30:43 -07:00
Lev Nachmanson c0b55d1435 reject rows with columns with big numbers for lp bound propagation
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-09-21 15:53:53 -07:00
Lev Nachmanson f423642e9b try the lemma scheme 2023-09-21 12:18:21 -07:00
Lev Nachmanson e31cecf5db transfer propagate monomial bounds to nla_solver 2023-09-21 11:27:53 -07:00
Lev Nachmanson 536930b4a1 make m_ibounds inside of lp_bound_propagator
a reference
2023-09-20 17:13:25 -07:00
Lev Nachmanson 20c02f4f45 fix a lambda bug
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-09-20 17:02:35 -07:00
Nikolaj Bjorner f9de65a464 indetation
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-20 15:22:28 -07:00
Nikolaj Bjorner 615aad7779 get rid of int*, use lambda scoping
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-20 15:18:37 -07:00
Nikolaj Bjorner 7a74b099ba remove experimental code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-20 15:04:24 -07:00
Lev Nachmanson 24512d5ec2 typo 2023-09-20 14:12:36 -07:00
Lev Nachmanson 9648793206 add features to std_allocator 2023-09-20 14:11:38 -07:00
Lev Nachmanson f2a0ddb385 Merge branch 'unit_prop_on_monomials' of https://github.com/z3prover/z3 into unit_prop_on_monomials 2023-09-19 15:47:01 -07:00
Lev Nachmanson d77c91b1aa trying to get else on a new line
with clang-formatter
2023-09-19 15:46:59 -07:00
Nikolaj Bjorner f07553ed3a formatting updates
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-19 15:18:38 -07:00
Nikolaj Bjorner db84d21e3b
Merge branch 'master' into unit_prop_on_monomials 2023-09-19 14:44:01 -07:00
Nikolaj Bjorner fba5de3a25 remove unused code
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-19 14:43:02 -07:00
Nikolaj Bjorner 4d742001ab formatting of else
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-19 14:36:21 -07:00