Nikolaj Bjorner
614c66f1e2
missing relevancy propagation
2022-01-03 17:21:37 -08:00
Nikolaj Bjorner
fc741cf018
rename module
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-03 14:23:22 -08:00
Nikolaj Bjorner
a2a5924e5c
purge more
2022-01-03 14:14:09 -08:00
Nikolaj Bjorner
8e3185ffe3
remove dual solver approach
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-03 14:08:01 -08:00
Nikolaj Bjorner
cf08cdff9c
#5747
2022-01-03 08:54:54 -08:00
Nikolaj Bjorner
a71aa113e0
#5641
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-02 19:36:17 -08:00
Nikolaj Bjorner
9cbec3b0ca
#5641
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-02 19:15:23 -08:00
Nikolaj Bjorner
43e449a805
#5641
2022-01-02 17:53:26 -08:00
Nikolaj Bjorner
d0fb3cba15
#5641 - projection that skips interpreted functions can violate model evaluation.
2022-01-02 17:45:43 -08:00
Nikolaj Bjorner
5cd1fe31fd
propagate parent default not add parent default)
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-01 20:37:26 -08:00
Nikolaj Bjorner
8245935d41
#5641 add handlers for basic set operations to euf=true
2022-01-01 20:33:17 -08:00
Nikolaj Bjorner
84f514a4f4
throttle ackerman on arrays
2022-01-01 15:33:33 -08:00
Nikolaj Bjorner
a20b577b2f
na
2022-01-01 11:26:38 -08:00
Nikolaj Bjorner
9550321064
missed push lambdas
2021-12-31 16:33:06 -08:00
Nikolaj Bjorner
0ef0ed3b94
redoing arrays
2021-12-31 15:51:52 -08:00
Nikolaj Bjorner
aa901c4e88
axiom solver improvements
2021-12-31 11:53:40 -08:00
Nikolaj Bjorner
e8833f4dac
working on relevancy=3
2021-12-30 17:07:14 -08:00
Nikolaj Bjorner
b87b464e69
set relevancy flag on enode
2021-12-29 17:57:28 -08:00
Nikolaj Bjorner
a90b66134d
make roots uniform for theory lemmas
2021-12-29 13:42:11 -08:00
Nikolaj Bjorner
69b4392210
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-29 13:04:31 -08:00
Nikolaj Bjorner
f215b18e0e
change registration mode for relevant_eh
2021-12-29 13:03:43 -08:00
Nikolaj Bjorner
1706f77b9e
optimize propagation to only blocked literals
2021-12-28 18:53:37 -08:00
Nikolaj Bjorner
8ff8252e89
debug relevancy mode
2021-12-28 13:02:09 -08:00
Nikolaj Bjorner
743e56bda3
remove output
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-28 12:08:10 -08:00
Nikolaj Bjorner
5ed27a6c38
fix initialization
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-28 12:06:56 -08:00
Nikolaj Bjorner
28bce8f09c
working on relevant
2021-12-28 11:00:02 -08:00
Nikolaj Bjorner
9527471967
build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-27 16:03:56 -08:00
Nikolaj Bjorner
6f1be09993
add direct and incremental relevancy propagator
2021-12-27 15:10:33 -08:00
Nikolaj Bjorner
d88f125818
build
2021-12-26 15:24:03 -08:00
Nikolaj Bjorner
0bd6725711
#5641
...
mark all literals duplicated in dual solver as external
2021-12-26 15:10:21 -08:00
Nikolaj Bjorner
fcee2f5aa5
revert relevancy2
2021-12-26 15:10:21 -08:00
Nikolaj Bjorner
7d311ac2ef
use netstandard 2.0 per recommendations
...
seems that now the recommended starting point is 2.0 and not lower.
2021-12-25 13:44:49 -08:00
Nikolaj Bjorner
71b868d7f6
#5722 - internalize unary xnor
2021-12-22 13:32:53 -08:00
Nikolaj Bjorner
4b5ee91b44
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-21 20:40:58 -08:00
Nikolaj Bjorner
f0740bdf60
move user propagte declare to context level
...
declaration of user propagate functions are declared at context level instead of at solver scope.
2021-12-18 10:56:42 -08:00
Nikolaj Bjorner
1e95fb44d1
add ability to register expressions during callback
2021-12-07 09:47:05 -08:00
Nikolaj Bjorner
fdc253afdd
update arithmetic contract for unbounded ( #5696 )
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-06 08:19:18 -08:00
Nikolaj Bjorner
5857236f2f
introducing base namespace for user propagator
2021-11-29 19:41:30 -08:00
Nikolaj Bjorner
1e9e52a58f
#5641
2021-11-29 08:59:53 -08:00
Nikolaj Bjorner
d50bfc6a50
#5641
2021-11-25 18:01:35 +01:00
Nikolaj Bjorner
c826b64e35
prepare release
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-11-16 09:41:51 -08:00
Nikolaj Bjorner
dd1e0fc561
#5643
2021-11-03 08:53:48 -07:00
Nikolaj Bjorner
87d4ce2659
working on #5614
...
there are some different sources for the performance regression illustrated by the example. The mitigations will be enabled separately:
- m_bv_to_propagate is too expensive
- lp_bound_propagator misses equalities in two different ways:
- it resets row checks after backtracking even though they could still propagate
- it misses equalities for fixed rows when the fixed constant value does not correspond to a fixed variable.
FYI @levnach
2021-11-02 14:55:39 -07:00
Nikolaj Bjorner
a94e2e62af
build warnings
2021-11-02 14:55:38 -07:00
Henrich Lauko
96671cfc73
Add and fix a few general compiler warnings. ( #5628 )
...
* rewriter: fix unused variable warnings
* cmake: make missing non-virtual dtors error
* treewide: add missing virtual destructors
* cmake: add a few more checks
* api: add missing virtual destructor to user_propagator_base
* examples: compile cpp example with compiler warnings
* model: fix unused variable warnings
* rewriter: fix logical-op-parentheses warnings
* sat: fix unused variable warnings
* smt: fix unused variable warnings
2021-10-29 15:42:32 +02:00
Alexander Traud
1d45a33163
fix one typo and two misunderstandings for doxygen ( #5633 )
2021-10-29 15:35:05 +02:00
Nikolaj Bjorner
86147d01ea
#5605
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-19 12:24:29 -04:00
Nikolaj Bjorner
f9dde2e8a4
#5605
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-19 12:21:54 -04:00
Nikolaj Bjorner
fc3a701888
push-pop
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-18 15:36:48 -07:00
Nikolaj Bjorner
d5e5dcfe45
add nff and auto-relevant
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-18 15:32:55 -07:00
Nikolaj Bjorner
115203e87c
fixes to sat.euf ematching #5573
2021-10-16 15:52:37 -07:00
Andrew V. Jones
f1b8376739
Rename 'user' to 'user_solver' #5586 ( #5587 )
...
Issue #5586 reported that Android builds (targetting, e.g., x86) failed
to compile due to a conflict between:
* `struct user` in `sys/user.h`; and
* `namespace user` in z3's `user_solver.h`
This issue is resolved by renaming `namespace user` to `namespace
user_solver` (matching the header name) to avoid this conflict.
Reported-by: Jamie Collinson <jamiecollinson@gmail.com>
Signed-off-by: Andrew V. Jones <andrewvaughanj@gmail.com>
2021-10-09 15:07:37 -07:00
Nikolaj Bjorner
bfa960c2ce
fix internalize regression
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-08 14:48:17 -07:00
Nikolaj Bjorner
c0c3e685e7
disable all propagation until ematch incompleteness is fixed
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-05 11:25:35 -07:00
Nikolaj Bjorner
94cc4ead72
remove arith_lhs simplification from preamble tactic
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-05 10:55:38 -07:00
Nikolaj Bjorner
33f4e65fa9
redo bindings/fingerprints
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-10-05 10:15:56 -07:00
Nikolaj Bjorner
281fb67d88
unit propagate with fingerprints
2021-10-04 20:01:46 -07:00
Nikolaj Bjorner
cbe7dd4a48
missing continue fixes unsound sat result from #5573
2021-09-29 14:26:09 -07:00
Nikolaj Bjorner
62fd22f555
disable macro finder tactic if there are recursive functions fix #5574
2021-09-29 09:33:52 -07:00
Nikolaj Bjorner
da124e4275
tune q-eval and q-ematch
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-28 13:41:37 -07:00
Nikolaj Bjorner
92c1b600c3
tuning eval
2021-09-28 09:56:00 -07:00
Nikolaj Bjorner
2e176a0e02
count lazy bindings
2021-09-28 08:27:46 -07:00
Nikolaj Bjorner
6c71baf77b
lifting iff to binary
2021-09-27 03:45:54 -07:00
Nikolaj Bjorner
18d1b368d1
#5532
2021-09-21 20:12:32 -07:00
Nikolaj Bjorner
cabd5b10fa
#5532
2021-09-21 18:56:55 -07:00
Nikolaj Bjorner
2c266a96c8
#5545
2021-09-20 13:57:34 -07:00
Nikolaj Bjorner
1352aa06f3
#5532
2021-09-20 12:08:04 -07:00
Nikolaj Bjorner
0170f1f461
#5532
2021-09-20 11:39:16 -07:00
Nikolaj Bjorner
fd799089b7
fix build
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-20 11:19:26 -07:00
Nikolaj Bjorner
6f31d83633
fix #5541
2021-09-20 10:10:28 -07:00
Jamey Sharp
426306376f
CNF conversion refactoring ( #5547 )
...
* split sat2goal out of goal2sat
These two classes need different things out of the sat::solver class,
and separating them makes it easier to fiddle with their dependencies
independently.
I also fiddled with some headers to make it possible to include
sat_solver_core.h instead of sat_solver.h.
* limit solver_core methods to those needed by goal2sat
And switch sat2goal and sat_tactic over to relying on the derived
sat::solver class instead. There were no other uses of solver_core.
I'm hoping this makes it feasible to reuse goal2sat's CNF conversion
from places like the tseitin-cnf tactic, so they can be unified into a
single implementation.
2021-09-20 08:53:10 -07:00
Nikolaj Bjorner
3e6ff768a5
fix regression bug in mam reported by Aseem
2021-09-10 07:09:22 +02:00
Nikolaj Bjorner
e70f501932
handle potential extra nodes from q_solver
2021-09-09 09:17:11 +02:00
Nikolaj Bjorner
c4d0ded7b7
#5532
2021-09-08 06:19:49 +02:00
Nikolaj Bjorner
93415740b6
left over bugs #5532
...
disabling complete const rewriting (temporarily) as it can loop
2021-09-07 07:00:41 +02:00
Nikolaj Bjorner
be4df46f6f
#5532 remove unsound rewrite rule that was recently added
2021-09-07 06:42:24 +02:00
Nikolaj Bjorner
72f6271d82
#5532
...
bugs in:
- rewriting of 0-ary expressions was incomplete
- sharing annotations when a node has two theories attached it is shared
- sharing of const of an array
Remove unreadable part of pretty printer for lp solver.
2021-09-06 19:14:03 +02:00
Nikolaj Bjorner
3764eb1959
#5532
...
ensure re-internalization for predicates that are replayed.
Theory internalization is currently not considered in depth.
2021-09-05 00:24:34 -07:00
Nikolaj Bjorner
3021da87cf
#5532
2021-09-04 21:10:26 -07:00
Nikolaj Bjorner
9c91698201
#5532
2021-09-04 18:03:15 -07:00
Nikolaj Bjorner
051ede64e7
#5532
2021-09-04 09:48:46 -07:00
Nikolaj Bjorner
3de9162c7e
handle null more gracefully
2021-09-04 09:42:45 -07:00
Nikolaj Bjorner
cdcfbeb6d8
#5532
...
remove "reflect" parameter from exposed options. It should be internal only.
2021-09-03 16:01:59 -07:00
Nikolaj Bjorner
0ddbbe9bd2
#5532
2021-09-03 15:41:52 -07:00
Nikolaj Bjorner
5633af76cc
#5532
2021-09-03 15:25:50 -07:00
Nikolaj Bjorner
a566c7307d
#5532
2021-09-03 12:33:04 -07:00
Nikolaj Bjorner
87f5b9282f
#5532
2021-09-03 12:20:23 -07:00
Nikolaj Bjorner
c4158ebc33
#5532
2021-09-03 12:02:57 -07:00
Nikolaj Bjorner
af5c6e43b9
#5528
2021-09-02 11:21:57 -07:00
Nikolaj Bjorner
e9a4a9a390
merge
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-09-02 09:23:59 -07:00
Nikolaj Bjorner
f4abe3db02
#5528
2021-09-02 03:13:46 -07:00
Nikolaj Bjorner
6907d30717
#5528
2021-09-01 20:44:00 -07:00
Nikolaj Bjorner
a74c01c8b9
#5528
2021-09-01 20:39:54 -07:00
Nikolaj Bjorner
0c53c139da
add to_string method to make it easier to use without <<
2021-09-01 15:37:58 -07:00
Nikolaj Bjorner
7ce4be8455
#5528
2021-09-01 14:01:15 -07:00
Nikolaj Bjorner
a3ba4e1366
#5528
2021-09-01 11:34:44 -07:00
Nikolaj Bjorner
7c782a7ef8
#5518
...
patch a gaping hole in recfun
2021-08-31 19:49:18 -07:00
Nikolaj Bjorner
1426390aec
#5518
2021-08-31 16:38:27 -07:00
Nikolaj Bjorner
34c8f598a5
#5518
2021-08-31 14:21:10 -07:00
Nikolaj Bjorner
07bbd026ac
#5518
2021-08-31 13:02:54 -07:00