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

15914 commits

Author SHA1 Message Date
Lev Nachmanson 6e9a938533 Merge branch 'master' of https://github.com/z3prover/z3 2024-01-17 14:02:38 -10:00
Lev Nachmanson c591a7a3e7 force int bound on int columns, call term_is_int() after subst
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-17 13:53:59 -10:00
Nikolaj Bjorner fef1596c81 pin expression passed to validate_eq
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-17 15:11:06 -08:00
Nikolaj Bjorner 4f75153186
Update z3_api.h
Updated doc https://github.com/Z3Prover/z3/discussions/7087
2024-01-17 13:53:38 -08:00
Nikolaj Bjorner c340233df6 fix #7081
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-16 10:31:31 -08:00
Nikolaj Bjorner afba43a5a7 fix #7085
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-16 10:18:46 -08:00
Nikolaj Bjorner 4ff352fcac fix #7084
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-15 08:49:14 -08:00
Lev Nachmanson 91ca55e5ad change the definition of Gomory row
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-14 13:37:30 -10:00
Lev Nachmanson d8df203622 remove an unused declaration
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-13 19:11:17 -10:00
Lev Nachmanson e2fb4fbd38 fix dependencies for Gomory polarity
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-13 19:01:21 -10:00
Lev Nachmanson 2eadcf0872 avoid duplicate explanations
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-12 15:49:21 -10:00
Lev Nachmanson 7d7fef061f add explanations and fix polarity
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-12 15:28:16 -10:00
Nikolaj Bjorner ddf2eb57d6 deleted parameter
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-12 10:42:08 -08:00
Nikolaj Bjorner 3381fd2b52 spell check from https://github.com/microsoft/z3guide/pull/165
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-12 09:57:46 -08:00
Nikolaj Bjorner 27171591d1
Update sat_params.pyg
spellcheck from https://github.com/microsoft/z3guide/pull/165
2024-01-12 09:49:56 -08:00
Nikolaj Bjorner 59b18d4a14 create as_bin as_hex wrappers for display
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-12 09:19:22 -08:00
Lev Nachmanson 999e67df0d address Nikolaj's comments in Gomory cut
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-11 16:49:10 -10:00
Lev Nachmanson 2d24436582 remove a blank line
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-11 13:42:35 -10:00
Lev Nachmanson 2b974a0f1d do not delay update for the polar case
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-11 13:39:37 -10:00
Lev Nachmanson 2ac866a8d0 take the coefficient from cut_result, not lia
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-11 12:10:37 -10:00
Nikolaj Bjorner 955c80e98b import updates from poly branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-10 19:42:58 -08:00
Lev Nachmanson 2ca1187b3a fix a bug in polarity
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-10 10:50:56 -10:00
Nikolaj Bjorner 75005d9077 add validation option for debugging regressions
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-09 09:18:29 -08:00
Lev Nachmanson 2934618c50 remove simplify_inequality from gomory.cpp 2024-01-04 11:40:57 -10:00
Nikolaj Bjorner 696b70fddb fix
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-04 11:00:07 -08:00
Lev Nachmanson 239d68ed9c return conflict on an empty term in Gomory cuts 2024-01-03 18:56:35 -10:00
Nikolaj Bjorner b75367ffc7 port improvements to arith rewriter
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-03 13:57:09 -08:00
Nikolaj Bjorner a7bfdcd0ea readd big cuts
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2024-01-02 11:17:59 -08:00
Lev Nachmanson 84997f8b21 move a TRACE statement 2024-01-01 05:25:07 -10:00
Lev Nachmanson fd2b6c62d1 bug fix in gomory polarity
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2024-01-01 05:25:07 -10:00
Bruce Mitchener d66df2616f
Fix some typos. (#7075) 2023-12-29 15:20:06 +00:00
Jakob Rath ec2b8eb4ca
Merge shared parts from polysat branch (#7063)
* sat_literal: make constants constexpr

* dlist: rename elem -> list

* tbv: use get_bit

* additional pdd and rational tests

* egraph: callback setters take functions by value

This allows to set callbacks without defining a separate variable for
the callback lambda.

(previous usage does one copy of the function, exactly as before)

* cmake: enable compiler error when non-void function does not return value
2023-12-28 11:11:53 -08:00
Lev Nachmanson 53c95e3627 cleanup 2023-12-28 06:00:57 -10:00
Lev Nachmanson 0728b81e9e add parameter lp_settings.m_gomory_simplify 2023-12-28 06:00:57 -10:00
Lev Nachmanson 5796e8899f use vector instead of unordered_map in gomory
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-12-28 06:00:57 -10:00
Lev Nachmanson a3529a0046 create bounds for gomory cuts with big numbers 2023-12-28 06:00:57 -10:00
Lev Nachmanson af7691224e adding the polarity bound 2023-12-28 06:00:57 -10:00
Nikolaj Bjorner ad07e0e18d add sub and super-slice functionality directory to euf-bv-plugin 2023-12-23 10:27:54 -08:00
Nikolaj Bjorner cd331b8a56 remove reference to tactic.h
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-22 13:17:04 -08:00
Nikolaj Bjorner 7adb402a3f add missing dependencies
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-22 12:06:30 -08:00
Nikolaj Bjorner 5f451182f7 missing cmake list
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-22 12:02:24 -08:00
Nikolaj Bjorner e321643bf5 move sls core functionality to be independent of tactic
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-22 12:00:52 -08:00
Nuno Lopes 606a9a7409 fix test build 2023-12-22 16:19:28 +00:00
Nuno Lopes cab3c45863 remove unnecessary parameter copies 2023-12-22 16:11:06 +00:00
Nuno Lopes ab22e763d7 some code simplifications in mpn
plus remove duplicated assertion
2023-12-22 15:29:04 +00:00
Nuno Lopes 766f5f04c0 reduce memory allocs in params 2023-12-21 23:27:28 +00:00
Christoph M. Wintersteiger 68a2c08d5e
Add Z3_get_estimated_alloc_size to OCaml API (#7068) 2023-12-21 12:54:30 -08:00
Lev Nachmanson 19f3ad46ce fix the build 2023-12-20 14:14:01 -10:00
Lev Nachmanson e9fa7db96c revert smt_enode
Signed-off-by: Lev Nachmanson <levnach@hotmail.com>
2023-12-20 14:03:27 -10:00
Lev Nachmanson a00eb08ddd Merge branch 'master' of https://github.com/z3prover/z3 2023-12-20 12:56:55 -10:00
Lev Nachmanson 4317d134bf refactor: move gomory functionaly from int_solver to gomory 2023-12-20 12:56:20 -10:00
Nuno Lopes c4fa719751 revert last two commits; MSVC doesn't like to statically allocate flexible arrays 2023-12-20 19:10:05 +00:00
Nuno Lopes 6246c6517d fix debug build 2023-12-20 18:30:53 +00:00
Nuno Lopes c9c53b7c65 tmp_enode: don't heap allocate an app. store it inline instead.
Saves heap allocations and double indirections
2023-12-20 18:19:20 +00:00
Nuno Lopes 4898a156d8 shrink ast's app by 8 bytes on 64-bit platforms when number of args > 0 2023-12-20 16:58:45 +00:00
Nuno Lopes b2d5c24c1d remove a few string copies 2023-12-20 16:55:09 +00:00
Lev Nachmanson e28b644a67 remove an empty line 2023-12-20 06:53:59 -10:00
Lev Nachmanson d6365610d5 change some TRACE statements 2023-12-20 06:49:55 -10:00
Jakob Rath 97d450868e
Vector updates from polysat branch (#7066)
* vector: add erase_if

* vector: generalize operator<<

* vector: fix missing destructor call
2023-12-19 08:58:55 -08:00
Jakob Rath 4c9f705cd1
tptr: add pointer tagging templates (#7067) 2023-12-19 08:58:32 -08:00
Nuno Lopes fcc7b25c19 remove a few string copies 2023-12-19 14:34:37 +00:00
Lev Nachmanson 9a18628b17 remove unnecessary assignments 2023-12-18 18:49:27 -10:00
Nikolaj Bjorner ea44c110bb gc expressions in the scope of updates, not old expressions 2023-12-18 20:08:29 -08:00
Nikolaj Bjorner 13be3c3fbb reset model converter between rounds to elim-unconstrained. 2023-12-18 16:57:52 -08:00
Nikolaj Bjorner 0daa05aab2 add ability to log selected bv rewrites 2023-12-18 16:57:52 -08:00
Nikolaj Bjorner dff419a7cb pin expressions to fix unsound behavior 2023-12-18 16:57:52 -08:00
Nikolaj Bjorner 5d4c18dde2 fixes
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-18 16:57:00 -08:00
Nikolaj Bjorner 6d23847482 fix typos
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-18 09:33:40 -08:00
Nikolaj Bjorner d008dbe50a port Jakob's update to bv_internalize
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-18 09:31:59 -08:00
Nikolaj Bjorner 085b5e2588 port Jakob's update to union_find from polysat branch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-18 09:25:24 -08:00
Nikolaj Bjorner 2f2bf749b9 fixes to intblast encoding and more arithmetic rewriters
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-17 18:15:51 -08:00
Nikolaj Bjorner bb99f44214 fix bugs in elim-unconstr2 and fix bugs in intblast_solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-17 17:42:55 -08:00
Nikolaj Bjorner 4867073290 remove windowsArm64 from nightly
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-17 10:04:49 -08:00
Nikolaj Bjorner d0a59f3740 intblast with lazy expansion of shl, ashr, lshr
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-16 15:12:57 -08:00
Bruce Mitchener 50e0fd3ba6
Use noexcept more. (#7058) 2023-12-16 12:14:53 +00:00
Nikolaj Bjorner b44ab2f620 add rewriters for and
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-15 14:55:02 -08:00
Nikolaj Bjorner 4778f27b46 revert to standard solver
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-15 14:33:23 -08:00
Nikolaj Bjorner 9293923b8a Add intblast solver 2023-12-15 13:50:38 -08:00
Nikolaj Bjorner 0520558fc0 port updated pdd from polysat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-15 08:54:03 -08:00
Christoph M. Wintersteiger 2e83352d42
Fix bug in fp.round_to_integral (#7060) 2023-12-15 08:34:27 -08:00
Bruce Mitchener e90a844508
Use override more. (#7059) 2023-12-15 08:44:57 +00:00
Lev Nachmanson f6e69d43a3 Merge branch 'master' of https://github.com/z3prover/z3 2023-12-14 08:21:21 -10:00
Nikolaj Bjorner b40e3015ef fix #7053 2023-12-13 19:25:18 -08:00
Bruce Mitchener 3ebec56880
tptr.h: Include <cstdint> once rather than twice. (#7051) 2023-12-13 09:36:41 -08:00
Lev Nachmanson 536f4f84bb Merge branch 'master' of https://github.com/z3prover/z3 2023-12-12 15:23:43 -10:00
Nikolaj Bjorner 70d4f32ffd port updates from poly/polysat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-09 13:00:43 -08:00
Nikolaj Bjorner e580c384b8 import updates to rational from polysat
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-09 12:46:06 -08:00
Nikolaj Bjorner 575538d325 follow error message to put dependencies in setup args
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-08 18:38:29 -08:00
Nikolaj Bjorner 4123405d17 add version
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-08 15:50:09 -08:00
Nikolaj Bjorner 6282f40255 try add name to project
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-08 14:57:45 -08:00
Nikolaj Bjorner 7e716f7cfe try fix suggested in #7041
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-08 13:12:05 -08:00
Nikolaj Bjorner 8e26c2af17 fix #7049
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-08 13:05:21 -08:00
Nikolaj Bjorner 6cd619d377 kludge to fixup osver in python for Mac
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-08 11:39:55 -08:00
Nikolaj Bjorner 4d1d067d42 fix divergence reported by Guido Martinez 2023-12-07 13:34:35 -08:00
Nikolaj Bjorner 1d6616afac make var-queue a template
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-05 15:41:35 -08:00
Nikolaj Bjorner 111ce01702 update path reference to readme 2023-12-05 13:47:05 -08:00
Nikolaj Bjorner d566eb3df7 include readme in package
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-05 13:04:25 -08:00
Nikolaj Bjorner 76c05f171a specify a readme file with the nuget package
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-05 12:32:30 -08:00
Asger Hautop Drewsen a9513c1998
Improve BoolRef addition (#7045) 2023-12-05 09:12:25 -08:00
Asger Hautop Drewsen 764f0d54a4
Overload xor operator for BoolRef (#7043) 2023-12-05 07:48:57 -08:00
Nikolaj Bjorner 4a9b38e531 clean up nla_grobner 2023-12-04 17:08:17 -08:00
Nikolaj Bjorner 84a7a79e90 fix #7037 2023-12-04 17:08:01 -08:00
Lev Nachmanson fc23a498c4 a simple version of choosing a column for gomory cut 2023-12-04 15:06:50 -10:00
Nikolaj Bjorner f98b42ae42 install importlib-resources for ubuntu doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-04 10:33:29 -08:00
Nikolaj Bjorner de75692cb0 install importlib-resources for ubuntu doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-04 10:32:02 -08:00
Nikolaj Bjorner f7415bb677 install importlib-resources for ubuntu doc
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-04 10:32:02 -08:00
Nikolaj Bjorner 17913f3ec8 remove braces 2023-12-04 10:32:02 -08:00
Andrey Andreyevich Bienkowski 18f14921ba
Clarify optimizer guarantees (#7030)
* Clarify optimizer guarantees (python)

* Clarify optimization guarantees (OCaml)

* Clarify optimizer guarantees (java)

* Clarify optimizer guarantees (.net)
2023-12-04 09:32:26 -08:00
Christoph M. Wintersteiger 6910a4e18c
Fix to_fp_signed (#7034) 2023-12-03 16:38:06 -08:00
Nikolaj Bjorner ea3628e50b remove hoist functionality
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-03 16:28:43 -08:00
Nikolaj Bjorner bd8bed1759 handle ac-op in legacy special relations procedure by adding warning
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-03 12:55:37 -08:00
Nikolaj Bjorner 1b1ebaa3b0 minor simplification during internalization 2023-12-03 12:43:39 -08:00
Nikolaj Bjorner 36725383d3 minor simplification of terms during internalization. 2023-12-03 12:43:14 -08:00
Nikolaj Bjorner f06e07ad0a fix cone of influence computation for terms with nested variables
exposed by #7027, but generally missing. It is less likely to be exposed if input is normalized by distributing multiplication over addition.
2023-12-03 12:42:42 -08:00
Nikolaj Bjorner 25dd29907b refine no-effect predicate to include value of ret 2023-12-03 12:41:21 -08:00
Nikolaj Bjorner 9cc2ce42f7 #7027
fix lossy function declaration inclusion functionality exposed when fixing a bug for incomplete model generation.
2023-12-03 11:14:18 -08:00
Nikolaj Bjorner a8f3396b24 #7033 2023-12-03 10:34:16 -08:00
Nikolaj Bjorner 965bee5801 fix build 2023-12-02 19:52:59 -08:00
Nikolaj Bjorner 1de25ed09c pending files 2023-12-02 19:43:51 -08:00
Nikolaj Bjorner b22daa9816 missing header 2023-12-02 19:39:43 -08:00
Nikolaj Bjorner 362d299a5c #7027 2023-12-02 19:34:36 -08:00
Nikolaj Bjorner ba8d8f0af7 Disable hoist entirely, it is bad on QF_LIA and does not help on other observed cases 2023-12-02 15:40:47 -08:00
Nikolaj Bjorner 585d027668 remove assert #7032
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-02 14:12:41 -08:00
Nikolaj Bjorner 331507c4cd #7027
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-02 12:05:06 -08:00
Nikolaj Bjorner 7eab26e3ef try with missed bounds 2023-12-02 10:48:40 -08:00
Nikolaj Bjorner 5c1e7f7112 fix #7029 2023-12-02 10:48:40 -08:00
Nikolaj Bjorner a15a7cee7b touch
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-12-01 14:13:05 -08:00
Nikolaj Bjorner faf14012ba Regressions reported by Guido 2023-12-01 13:32:13 -08:00
Nikolaj Bjorner 99e2794a6d update output
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-30 17:20:43 -08:00
Nikolaj Bjorner 8a0dec1a4b fix build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-30 14:08:29 -08:00
Nikolaj Bjorner b52fd8d954 add EUF plugin framework.
plugin setting allows adding equality saturation within the E-graph propagation without involving externalizing theory solver dispatch. It makes equality saturation independent of SAT integration.
Add a special relation operator to support ad-hoc AC symbols.
2023-11-30 13:58:30 -08:00
Lev Nachmanson 5784c2da79 remove an unnecessary if 2023-11-30 08:59:05 -10:00
Alper Altuntas d540d881ef
Add __enter__ and __exit__ methods to Solver class (#7025)
To enable the usage of the with statement for the Solver class
instances, this commit adds __enter__ and __exit__ methods.
The with statement should offer a more concise and safer
alternative to explicit usage of push() and pop() methods.
2023-11-30 08:35:08 -08:00
Nikolaj Bjorner 26440ed3d8 deal with ubuntu/clang warnings
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-29 15:45:19 -08:00
Nikolaj Bjorner e9abdbb7a4 fix #7011
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-29 15:08:08 -08:00
Nikolaj Bjorner 9efe6f6afa fix regression in fix for #7006
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-29 14:54:54 -08:00
Nikolaj Bjorner faa2d8ac6c re-enable delayed literal propagation 2023-11-29 14:00:37 -08:00
Nikolaj Bjorner 2f01b5b567 re-enable delayed literal propagation 2023-11-29 14:00:17 -08:00
Nikolaj Bjorner 4289cfac8d revert some fixes to euf
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2023-11-29 13:47:59 -08:00
Nikolaj Bjorner 41a3196c89 fix #7024 2023-11-29 13:35:30 -08:00
Nikolaj Bjorner d469c1054e remove separate to_add_literal queue 2023-11-29 12:45:43 -08:00
Nikolaj Bjorner e972eb33b2 #6523 - contains_ptr bug regarding etable reinserts 2023-11-29 10:44:36 -08:00
Nikolaj Bjorner 79bbbf76d0 fix #7006 2023-11-28 15:06:27 -08:00
Nikolaj Bjorner 8179f8b5d7 fix #7017 2023-11-28 14:32:56 -08:00
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
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