Nikolaj Bjorner
386c511f54
core opt
2022-05-21 10:27:37 -04:00
Nikolaj Bjorner
7497856ded
add ignore int to new arithmetic solvers
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-11 15:14:22 -07:00
Nikolaj Bjorner
ad2445e423
gauss jordan
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-09 16:33:15 -07:00
Nikolaj Bjorner
dcc01b874a
prep for pragmas
2022-05-09 11:18:15 -07:00
Nikolaj Bjorner
7def610a69
build warnings
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-08 10:31:11 -07:00
Nikolaj Bjorner
14214c5a07
exposing user propagators over .Net
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-07 11:08:40 -07:00
Nikolaj Bjorner
367bfedab0
add min/max diff in final check
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-05-04 07:39:38 -07:00
Nikolaj Bjorner
c29cfa81ae
prep for max/min diff
2022-05-04 02:08:11 -07:00
Nikolaj Bjorner
81d97a81af
enable nested ADT and sequences
...
add API to define forward reference to recursively defined datatype.
The forward reference should be used only when passed to constructor declarations that are used in a datatype definition (Z3_mk_datatypes). The call to Z3_mk_datatypes ensures that the forward reference can be resolved with respect to constructors.
2022-04-27 09:58:38 +01:00
Nikolaj Bjorner
8e2f09b517
#5778 - ensure arrays used inside of extensionality function are treated as shared
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-25 17:17:59 +01:00
Nikolaj Bjorner
0a665b0fa0
#5778
2022-04-25 14:27:38 +01:00
Nikolaj Bjorner
489459a1f7
#5778
...
reprogram flush, mark clauses during reinit as non-redundant.
2022-04-25 11:22:00 +01:00
Nikolaj Bjorner
24baf56e27
fix missing propagation on final
2022-04-24 16:29:25 +01:00
Nikolaj Bjorner
ec57d3b15c
missing switch cases
2022-04-19 16:20:02 +01:00
Nikolaj Bjorner
3cc9d7f443
improve pre-processing
2022-04-15 12:55:26 +02:00
Nikolaj Bjorner
a634876180
sort muxes
2022-04-15 12:55:26 +02:00
Nikolaj Bjorner
eb2dd92d37
Merge branch 'master' of https://github.com/z3prover/z3
2022-04-11 17:06:03 +02:00
Nikolaj Bjorner
c996a66da0
separate pre-processing, add callback parameter to push/pop in python API
2022-04-11 17:05:59 +02:00
Clemens Eisenhofer
b0d8b27f37
Fixed registering expressions in push/pop ( #5964 )
...
* Fixed registering expressions in push/pop
* Reused existing function
2022-04-11 16:50:13 +02:00
Nikolaj Bjorner
f55b233228
#5778
2022-04-09 12:06:39 +02:00
Nikolaj Bjorner
405a26c585
allow adding constraints during on_model
2022-04-09 09:55:02 +02:00
Nikolaj Bjorner
b0dce5b27d
remove debug asserts
2022-04-06 08:53:12 +02:00
Nikolaj Bjorner
2f63747c7b
#5778
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-04-06 08:17:27 +02:00
Nikolaj Bjorner
cebbc71330
#5778 ensure else value so that defaults align across equivalence class
2022-04-06 07:58:32 +02:00
Nikolaj Bjorner
ef28f0e2f0
#5778
...
deal with recursive calls to internalization with the same formula
2022-04-02 01:28:58 -07:00
Nikolaj Bjorner
2fedcbd41e
#5778
2022-04-02 01:27:56 -07:00
Nikolaj Bjorner
229ea569f1
#5778
2022-04-02 00:56:51 -07:00
Nikolaj Bjorner
97115e5ebd
#5778
...
add new clauses created during propagation to use-list
2022-04-02 00:14:59 -07:00
Nikolaj Bjorner
4cc33277fa
#5778
2022-04-01 14:27:40 -07:00
Nikolaj Bjorner
c7922d69ac
#5778
2022-04-01 14:17:45 -07:00
Nikolaj Bjorner
81084b8232
#5778 #5937
2022-04-01 13:07:17 -07:00
Nikolaj Bjorner
4b1419261f
#5778
2022-03-21 16:23:43 -07:00
Nikolaj Bjorner
20bd59bb20
#5778 - missed tracking literal assignment justification
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-03-21 10:15:00 -07:00
Nikolaj Bjorner
6d836e7e2f
expose model update
2022-03-19 09:23:08 -07:00
Nikolaj Bjorner
580012e19f
fix #5894
...
expp is not implemented. This is the second time a fuzz bug reports it. Instead of closing the bug, just disable code path as fuzzers are not considering the comment from previous bug.
2022-03-10 09:45:09 -08:00
Nikolaj Bjorner
1d224d1bcd
na
2022-03-08 08:51:00 -08:00
Nikolaj Bjorner
c6f8ee33d4
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-03-08 08:36:19 -08:00
Nikolaj Bjorner
3293aeb7c7
na
2022-03-08 08:36:19 -08:00
Nikolaj Bjorner
7b4f1ed530
missing initialization of m_user_propagator, disable unsound in-processing in pb_solver
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-02-23 04:49:42 -08:00
Nikolaj Bjorner
10b611b3ba
fix #5850
2022-02-20 10:30:52 +02:00
Nikolaj Bjorner
2e00f2f32d
Propagator ( #5845 )
...
* user propagator without ids
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* user propagator without ids
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix signature
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* references #5818
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* fix c++ build
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* switch to vs 2022
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* switch 2022
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Update propagator example (I) (#5835 )
* fix #5829
* na
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* switch to vs 2022
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Adapted the example to the changes in the propagator
Co-authored-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* context goes out of scope in stack allocation, so can't used scoped context when passing objects around
* parameter check
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* add rewriter
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
* Fixed bug in user-propagator "created" (#5843 )
Co-authored-by: Clemens Eisenhofer <56730610+CEisenhofer@users.noreply.github.com>
2022-02-17 09:21:41 +02:00
Qix
9cf50766a6
fix compiler warnings under clang ( #5839 )
2022-02-16 23:36:34 +02:00
Nikolaj Bjorner
1e0d49512b
call mux finder
2022-01-31 12:00:16 -08:00
Nikolaj Bjorner
4392b88718
return negated literal when expression is "not"
2022-01-31 12:00:00 -08:00
Nikolaj Bjorner
7ddfc54250
shortcut negation
2022-01-31 11:58:02 -08:00
Nikolaj Bjorner
6422b783b2
fix mux extraction to check for top-level assertion
2022-01-31 11:57:16 -08:00
Nikolaj Bjorner
62bb234251
expose extract roots as separate
2022-01-31 11:56:44 -08:00
Nikolaj Bjorner
9e5b6e0c9c
#5778
2022-01-27 12:12:58 -08:00
Nikolaj Bjorner
9969809745
#5778
2022-01-21 09:40:06 +01:00
Nikolaj Bjorner
a3d4e9a4e8
adding created to sat/smt
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-20 11:48:27 +01:00
Nikolaj Bjorner
c00591daaf
finish is-fixed
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-19 16:28:34 +01:00
Nikolaj Bjorner
e5767bf2b8
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-19 15:19:07 +01:00
Nikolaj Bjorner
06feb71eb1
fix bug in root setting exposed by incremental mode pb_solver
2022-01-18 10:55:27 +01:00
Nikolaj Bjorner
d777306bb6
#5778
2022-01-17 10:43:15 -08:00
Nikolaj Bjorner
fcc9f379e7
#5778
2022-01-16 19:36:00 -08:00
Nikolaj Bjorner
a15da8f9ba
#5778
2022-01-16 19:11:55 -08:00
Nikolaj Bjorner
637ddf9397
fix #5777
...
latest issue
2022-01-16 18:09:38 -08:00
Nikolaj Bjorner
0dd5a5e576
#5777
2022-01-16 17:46:08 -08:00
Nikolaj Bjorner
a48d3fdbb1
#5777
2022-01-16 14:01:49 -08:00
Nikolaj Bjorner
ea93345b75
#5777
2022-01-16 10:52:25 -08:00
Nikolaj Bjorner
cd56d55e34
#5753
2022-01-16 09:31:16 -08:00
Nikolaj Bjorner
bc9c6ad93d
#5753
2022-01-15 18:01:31 -08:00
Nikolaj Bjorner
1b5f7cd9e5
na
2022-01-15 10:05:26 -08:00
Nikolaj Bjorner
17cfc1d034
#5753
2022-01-15 10:03:03 -08:00
Nikolaj Bjorner
74824ac901
#5753
...
get_antecedent has to be well-founded. It got broken when using eval during propagation and egraph explain during conflict resolution.
2022-01-15 09:35:25 -08:00
Nikolaj Bjorner
d09abdf58e
fix #5771
...
Missing congruence closure enforcement on auxiliary guard predicates.
It diverges but is sound.
2022-01-14 15:46:40 -08:00
Nikolaj Bjorner
d5cc162fa7
bug in bounds
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-13 15:42:23 -08:00
Nikolaj Bjorner
2363bfc132
internalize arithmetic sub-terms #5753
2022-01-13 15:34:04 -08:00
Nikolaj Bjorner
e816946ddc
handling unsimplified input
2022-01-13 14:40:46 -08:00
Nikolaj Bjorner
b259f46f85
dependencies
2022-01-13 12:34:58 -08:00
Nikolaj Bjorner
4b6679e8e0
#5753
2022-01-13 12:19:54 -08:00
Nikolaj Bjorner
366cd9b16d
missing pb cases
2022-01-12 14:50:40 -08:00
Nikolaj Bjorner
0720998bac
#5753
2022-01-12 13:12:10 -08:00
Nikolaj Bjorner
10dc8d7313
#5753
2022-01-12 12:49:06 -08:00
Nikolaj Bjorner
56d3718cde
add simplification with qe-lite as an option #5767
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-12 03:41:21 -08:00
Nikolaj Bjorner
e5eaea46aa
ensure m_true is assigned #5753
2022-01-11 10:42:05 -08:00
Nikolaj Bjorner
f1bf660adc
add case for abs (normally simplified, but not with default_tactic=smt).
2022-01-09 11:55:21 -08:00
Nikolaj Bjorner
671d071e54
#5753
2022-01-09 11:39:21 -08:00
Nikolaj Bjorner
bf3c213fd3
#5753
2022-01-09 11:03:29 -08:00
Nikolaj Bjorner
90fd3d82fc
enable propagation
2022-01-08 19:00:56 -08:00
Nadav Rotem
9f9543ef69
Fix unused variable warnings. ( #5760 )
...
This commit fixes a few cases of unused variables in release builds.
The commit uses the (void)xxx; syntax which is used in other parts of
the code.
2022-01-08 18:18:30 -08:00
Nikolaj Bjorner
0bc8518cb5
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-07 11:53:27 -08:00
Nikolaj Bjorner
199daead50
remove Z3_bool_opt #5757
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-07 11:52:10 -08:00
Nikolaj Bjorner
2be71cfc43
#5753
2022-01-06 15:17:37 -08:00
Nikolaj Bjorner
d7c7fbb8f1
setting roots breaks relevancy propagation
2022-01-05 21:16:25 -08:00
Nikolaj Bjorner
bd8de964f7
more fixes on relevancy
2022-01-04 22:02:28 -08:00
Nikolaj Bjorner
e943bee625
apply delcypher's todo
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-04 20:25:14 -08:00
Nikolaj Bjorner
d1fb831030
relevancy overhaul
2022-01-04 16:03:31 -08:00
Nikolaj Bjorner
4a1975053f
cleanup
2022-01-03 17:37:04 -08:00
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
a086f6218b
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-01-03 14:15:41 -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
1f964eea90
na
2022-01-03 11:12:28 -08:00
Nikolaj Bjorner
2944449884
#5641
2022-01-03 11:12:09 -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
fc77345bec
breaking change. Enforce append semantics everywhere for parameter updates #5744
...
Replace semantics doesn't work with assumptions made elsewhere in code.
The remedy is to apply append (override) semantics for parameter changes.
2021-12-30 19:11:14 -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
9f2b18cac5
add tactic name
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-12-07 13:37:57 -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
e05ef8ece9
account for updating scoped state by goal2sat #5528
2021-09-02 04:20:19 -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
Nikolaj Bjorner
148cb83b0d
#5482 fix default case for model construction
...
port mg_merge functionality from theory_array_base that ensures default values in arrays congruent modulo stores are the same
2021-08-29 17:30:39 -07:00
Nikolaj Bjorner
e7fcbd9563
bail on first model validation failure
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-28 17:08:34 -07:00
Nikolaj Bjorner
992daa6d2e
#5482
...
remove overly permissive filter on select_store axiom
2021-08-27 21:03:30 -07:00
Nikolaj Bjorner
828fc72754
types
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-08-26 18:55:53 -07:00
Nikolaj Bjorner
17663acf75
#5482 other relevancy tracking
2021-08-25 05:59:42 -07:00