Jakob Rath
3d06a90e7f
track refinement source
2022-12-15 13:08:13 +01:00
Nikolaj Bjorner
d5316e017e
add tactic descriptions
2022-12-14 20:38:28 -08:00
Nikolaj Bjorner
f01d9d29d2
Merge branch 'master' of https://github.com/z3prover/z3
2022-12-14 16:46:25 -08:00
Nikolaj Bjorner
aed3d76a88
add doc
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-14 16:45:58 -08:00
Nikolaj Bjorner
d47dd159d7
set encoding into gparams because this is the only entry point in zstring #6490
2022-12-14 09:43:29 -08:00
Nikolaj Bjorner
c4b2acac24
add missing error checking #6492
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-14 09:27:43 -08:00
Jakob Rath
e978e4fc8e
Strengthen umul_ovfl lemma
2022-12-14 11:07:16 +01:00
Clemens Eisenhofer
dc95179ae5
Merge branch 'polysat' of https://github.com/Z3Prover/z3 into polysat
2022-12-14 10:39:15 +01:00
Nikolaj Bjorner
dbb4bbe7dc
remove debug out
2022-12-13 19:36:55 -08:00
Nikolaj Bjorner
9054e72920
fix #6467
2022-12-13 19:35:20 -08:00
Nikolaj Bjorner
cd3d38caf7
sort out terminology/add explanations, add shortcut to C++, fix #6491
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-13 16:17:38 -08:00
Nikolaj Bjorner
2d7a38e95e
fix #6488
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-13 16:07:41 -08:00
Jakob Rath
1bc4313333
Fix unsoundness in previous commit
2022-12-13 15:27:07 +01:00
Jakob Rath
7e7cea54f4
Intervals from equality constraints: remove superfluous side constraints
2022-12-13 15:02:45 +01:00
Jakob Rath
434e794790
test
2022-12-13 12:00:38 +01:00
Jakob Rath
519ebd8a8b
log and note
2022-12-13 11:49:54 +01:00
Jakob Rath
a3c7a869cd
bool_watch_invariant
2022-12-13 11:47:21 +01:00
Jakob Rath
6f1e4283bb
Merge forbidden intervals for positive and negative equations
2022-12-13 11:42:52 +01:00
Nikolaj Bjorner
6c7f556496
activate non-overflow bounds
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-12 20:11:01 -08:00
Nikolaj Bjorner
a5f12e9d57
add parity constraint for disequality
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-12 19:40:19 -08:00
Nikolaj Bjorner
7afcaa5364
update doc
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-12 18:56:21 -08:00
Nikolaj Bjorner
e648e68d36
add doc
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-12 17:29:58 -08:00
Duncan Ogilvie
e82c8e78ae
Fix a compilation error with clang-cl (VS2022) ( #6489 )
2022-12-12 22:12:31 +00:00
Nikolaj Bjorner
aded8e5bf4
fix #6488
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-12 11:40:59 -08:00
Nikolaj Bjorner
4598af70c8
fix #6488
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-12 11:04:46 -08:00
Nikolaj Bjorner
a3e6885680
fix #6488
2022-12-12 09:50:44 -08:00
Jakob Rath
479e0e58ea
Better intervals for equations
2022-12-12 18:18:24 +01:00
Jakob Rath
4a2379c23d
Add unit test for refinement loop in bench6
2022-12-12 17:48:23 +01:00
Jakob Rath
eda6534453
more readable intervals
2022-12-12 16:41:18 +01:00
Jakob Rath
9f1f949d9d
tests
2022-12-12 14:51:18 +01:00
Jakob Rath
917e1b6a4c
When adding clauses, prioritize bool-propagation over evaluation
...
See test_band1 and clause: v2 == v0 & v1 --> v2 <= 0
2022-12-12 14:48:13 +01:00
Jakob Rath
587e77648a
Keep value_propagate for now
2022-12-12 13:57:30 +01:00
Jakob Rath
759d8f2a94
Fix watching of boolean literals
2022-12-12 13:50:15 +01:00
Jakob Rath
1eb8eb560b
test_ineq2
2022-12-12 13:37:28 +01:00
Jakob Rath
b1271ac7fb
Check for missed boolean propagations
2022-12-12 11:52:45 +01:00
Jakob Rath
9feefa4c0a
Remove clause methods that should not be used
2022-12-12 11:47:27 +01:00
Nikolaj Bjorner
039de6a2c8
build issues
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-11 15:05:13 -08:00
Nuno Lopes
cb8603177e
fix build
2022-12-11 22:17:11 +00:00
Nuno Lopes
d308b8f555
simplify code + remove unused file
2022-12-11 22:11:19 +00:00
Nikolaj Bjorner
6b60a3dbed
fix syntax
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-11 14:06:08 -08:00
Nikolaj Bjorner
2520dcb04b
merge
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-11 14:03:22 -08:00
Nuno Lopes
2d43ccc4c6
Revert "fix crashes in elim-uncnstr2"
...
This reverts commit a302c2f15e
.
2022-12-11 21:37:25 +00:00
Nikolaj Bjorner
5a27ae6b53
disable tangent lemma, which appears to be counter-productive
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-11 12:56:21 -08:00
Nikolaj Bjorner
6a1b3f7344
move debug output to before state update
2022-12-11 12:51:46 -08:00
Nikolaj Bjorner
f7269bb60a
update doc
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-11 10:16:17 -08:00
Nikolaj Bjorner
a9f52b0069
doc fixes
2022-12-11 10:04:01 -08:00
Nikolaj Bjorner
527fb18366
add doc for card2bv
2022-12-11 09:51:49 -08:00
Nuno Lopes
a302c2f15e
fix crashes in elim-uncnstr2
...
This would crash before:
(declare-fun x () (_ BitVec 4))
(assert (not (bvule x #x1)))
(apply elim-uncnstr2)
That's because the index_set iterator was querying qtail to compute the end of the iteration
But the problem is that elim-uncnstr2 may add new fmls to the goal, as in this case.
The bvule is replaced with an 'or', but since it's negated, it turns into 2 goals
Solve the issue by freezing the qtail for the iteration loop.
This is the right behavior for elim-uncnstr2, as it can't rewrite exprs that haven't been analyzed before
@NikolajBjorner please check if this the right behavior for the other simplifiers. Thank you
2022-12-11 15:21:23 +00:00
Nikolaj Bjorner
d092523733
bugfixes to try_factor_equality
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-10 10:51:21 -08:00
Nikolaj Bjorner
c27bd0d650
added try_factor
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-09 14:58:37 -08:00