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
Nikolaj Bjorner
85db8163fa
move allocator to memory_manager and std_vector to vector
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-19 13:57:28 -07:00
Lev Nachmanson
c5cfd62e0a
remove dead code related to nla unit propagation
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-09-19 10:56:09 -07:00
Lev Nachmanson
cf63e75898
using structures from util in lp_bound_propagator
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-09-18 13:25:24 -07:00
Nikolaj Bjorner
643512613a
simplify last_index function
2023-09-18 12:52:59 -07:00
Nikolaj Bjorner
31c91e1674
#6902
...
add parse check for identifiers used for datatype declarations.
2023-09-18 12:52:59 -07:00
Nuno Lopes
b1c52c0b16
don't crash when a function doesn't have a model when converting a solver to string
2023-09-18 10:16:19 +01:00
Nuno Lopes
ff33fa355a
fix debug single-thread build
2023-09-18 09:44:37 +01:00
Lev Nachmanson
af8d192392
add an include
2023-09-17 13:14:36 -07:00
Lev Nachmanson
10095a30b7
add an include file
2023-09-17 12:25:11 -07:00
Lev Nachmanson
66f6a0327f
change type of m_ibounds to std::vector
2023-09-17 11:00:48 -07:00
Lev Nachmanson
30b743d7b3
refactor propagat_monic
2023-09-17 10:45:54 -07:00
Lev Nachmanson
7353d7fb4d
fix dep calculations in lp_bound_propagator
2023-09-17 06:48:12 -07:00
Lev Nachmanson
77e56b0a69
debug
2023-09-16 13:54:14 -07:00
Lev Nachmanson
c240f62ca8
is_linear does not check for is_big
2023-09-15 17:44:10 -07:00
Lev Nachmanson
b621c9fa1c
remove an extrac check in bound_is_interesting
2023-09-15 17:42:18 -07:00
Lev Nachmanson
4cfba9787b
debug lp_bound_propagator
2023-09-15 17:41:10 -07:00
Lev Nachmanson
762ade2a79
check m_unassigned_bounds in bound_is_interesting
2023-09-15 06:15:22 -07:00
Lev Nachmanson
a55aa1a648
add a comment
2023-09-14 19:29:48 -07:00
Lev Nachmanson
b3673d491e
fix the build for gcc
2023-09-14 19:20:47 -07:00
Nikolaj Bjorner
b87a91379c
fix #6894
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-14 17:14:14 -07:00
Nikolaj Bjorner
50d76a2fe3
fix #6894
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-14 17:14:14 -07:00
Lev Nachmanson
cbad61ba2e
propagate monics with lp_bound_propagator
2023-09-13 14:27:34 -07:00
Lev Nachmanson
c309d52283
runs a simple test
2023-09-13 08:12:00 -07:00
Lev Nachmanson
c050af922f
fixing the bugs
2023-09-07 15:59:20 -07:00
Lev Nachmanson
c43b99daae
renaming
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-09-07 11:57:20 -07:00
Lev Nachmanson
47b64e689c
restore the lemma scheme
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-09-07 11:33:14 -07:00
Lev Nachmanson
288e66de59
restore m_crossed* and create lemmas
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-09-06 09:27:30 -07:00
Lev Nachmanson
41f59cb1ed
propagate monomial is nla
2023-09-05 18:49:59 -07:00
Nikolaj Bjorner
4d9af7848d
add parameter to disable pattern inference #6884
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-03 15:27:37 -07:00
Nikolaj Bjorner
99239068ba
some template instantiations #6869
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-03 15:21:49 -07:00
Nikolaj Bjorner
c2e73a6aae
logging pre-processing
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-09-03 15:19:31 -07:00
Lev Nachmanson
318d7d7564
fixes a bug
2023-09-01 11:32:26 -07:00
Lev Nachmanson
d3258e7084
propagate lineal monomial
2023-09-01 11:18:03 -07:00
Lev Nachmanson
5509b468e9
handle monomial_bounds::unit_propagate()
2023-08-31 17:35:41 -07:00
Nikolaj Bjorner
ff3268e636
move unit propagation into monomial_bounds
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-31 14:32:05 -07:00
Nikolaj Bjorner
c2cbe72b64
sketch linear monomial propagation
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-31 11:49:05 -07:00
Nikolaj Bjorner
38b131386d
add stubs for monomial unit propagation
2023-08-30 17:21:48 -07:00
Nuno Lopes
00593609c5
minor code simplification
2023-08-30 12:50:29 +01:00
Nikolaj Bjorner
09f911d8a8
include rewriter for recursive functions in model-evaluator
...
fixes bug reported by Tahina and Nick, @tahina-pro
2023-08-28 11:31:40 -07:00
Hari Govind V K
5ba06f4e28
print deq in lits2pure. fix #6877 ( #6878 )
2023-08-26 20:53:15 -07:00
Nikolaj Bjorner
63467f9dfa
fix #6876
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-25 17:14:35 -07:00
Nikolaj Bjorner
e8929041b8
fixing calls, signs
2023-08-22 09:29:12 -07:00
Nikolaj Bjorner
818b1129a5
fix regression in sign of literals from new solver
2023-08-22 09:04:08 -07:00
Lev Nachmanson
61a7c6b28d
init m_literal_vec
...
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-08-21 17:11:55 -07:00
Lev Nachmanson
9aeaed8f53
Merge branch 'master' into nl_branches
2023-08-21 16:15:20 -07:00
Nikolaj Bjorner
1d9e0feb84
Merge branch 'master' of https://github.com/z3prover/z3
2023-08-21 09:19:16 -07:00
Nikolaj Bjorner
79aa317af4
remove if-def inside cpp file that should not be there #6869
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-21 09:19:06 -07:00
Hari Govind V K
b8d8553c41
support or, and, implies, distinct in mbp_basic ( #6867 )
2023-08-20 15:36:22 -07:00
Nikolaj Bjorner
37ddaaef69
make destructors virtual
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-20 15:30:57 -07:00
Nuno Lopes
dda0c8ff42
array theory: use expr_ref for mk_default() so it doesnt leak if internalize throws
...
like on timeout/memout
2023-08-20 22:28:57 +01:00
Lev Nachmanson
9b672bc5cc
remove tracking of bounds
2023-08-20 10:10:48 -07:00
Nuno Lopes
57c667e355
remove unused code
2023-08-20 15:16:47 +01:00
Nuno Lopes
a694d27557
revert removal of virtual destructor of relevancy_eh since clang doesnt play along
2023-08-20 14:20:20 +01:00
Nuno Lopes
8210aafb69
ast compare_nodes: fail faster when comparing quantifier expressions
2023-08-20 14:09:04 +01:00
Nuno Lopes
c469c6e1d5
attempt to fix clang buildbots
2023-08-20 13:39:15 +01:00
Nuno Lopes
28884b398c
remove unneeded virtual destructor (optimization)
2023-08-20 12:57:47 +01:00
Nuno Lopes
3b546b2348
smt_context: we can't assert that the resource limits were exceeded on cancel_exception
...
It happens sometimes that e.g. the internalizer goes above the soft memory limit
But since it's only by a small amount, when the exception propagates back to the context, some stuff
has been freed already and we are not longer above the memory threshold
Just delete these asserts
2023-08-20 10:34:28 +01:00
Nuno Lopes
5d33805c8b
optimize ~relevancy_propagator_imp() so it just dec refs the exprs in the trail
...
It avoid doing all the funky watch stuff
One extreme Alive2 test case goes from 40s to 28s :)
2023-08-20 10:07:56 +01:00
Nikolaj Bjorner
5e3df9ee77
Arith min max ( #6864 )
...
* prepare for dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* snapshot
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more refactoring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more refactoring
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* pass in u_dependency_manager
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* address NYIs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more refactoring names
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* eq_explanation update
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add outline of bounds improvement functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix unit tests
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove unused structs
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* more bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* convert more internals to use u_dependency instead of constraint_index
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* convert more internals to use u_dependency instead of constraint_index
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remember to push/pop scopes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* use the main function for updating bounds
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* remove reset of shared dep manager
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* disable improve-bounds, add statistics
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
---------
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-19 17:44:09 -07:00
Nikolaj Bjorner
c3b344ec47
fix #6865
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-18 16:51:58 -07:00
Lev Nachmanson
610313946d
split free vars in nla
2023-08-18 12:36:14 -07:00
Nikolaj Bjorner
59b56f2ce7
update unit test to be compatible with C++ vs C exception semantics #6537
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-08-17 19:13:50 -07:00