Nikolaj Bjorner
07ab4d38b6
fix #6513
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-30 09:55:10 -08:00
Nikolaj Bjorner
b9c4f5d4fa
#6506
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-25 18:33:01 -08:00
Nikolaj Bjorner
fe8034731d
fix #6501
2022-12-19 21:02:55 -08:00
Nikolaj Bjorner
ecf25a4fe2
outline scheme
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-15 14:57:52 -08:00
Nikolaj Bjorner
2d7a38e95e
fix #6488
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-13 16:07:41 -08: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
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
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
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
Nuno Lopes
c6f9c09d70
cleanup more in dependent_expr_state_tactic to reduce mem consumption
2022-12-09 11:34:53 +00:00
Nikolaj Bjorner
7e69dab8f6
distribute forall cpp code
2022-12-06 18:15:18 -08:00
Nikolaj Bjorner
c33e58ee1a
update distribute forall
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-12-06 17:59:33 -08:00
Nikolaj Bjorner
80033e8744
cave in to supporting proofs (partially) in simplifiers, updated doc
2022-12-06 17:02:04 -08:00
Nikolaj Bjorner
5a5758baaa
add documentation to initial selection of tactics
2022-12-05 20:05:06 -08:00
Nuno Lopes
eb8c53c164
simplify factory of dependent_expr_state_tactic
...
And as a side-effect, remove heap allocations for factories
2022-12-05 14:07:57 +00:00
Nikolaj Bjorner
de916f50d6
add demodulator tactic based on demodulator-simplifier
...
- some handling for commutative operators
- fix bug in demodulator_index where fwd and bwd are swapped
2022-12-05 03:20:46 -08:00
Nikolaj Bjorner
87095950cb
fix #6477
2022-12-04 13:02:45 -08:00
Nikolaj Bjorner
ead2a46a88
build
2022-12-04 10:38:24 -08:00
Nikolaj Bjorner
b76ed6a47f
proper fix to #6476
2022-12-04 10:19:39 -08:00
Nikolaj Bjorner
9b58135876
try to fix linux builds
2022-12-04 09:55:31 -08:00
Nikolaj Bjorner
0f7bebcbed
try big M for linux build
2022-12-04 09:49:32 -08:00
Nikolaj Bjorner
1974c224ab
add demodulator simplifier
...
refactor demodulator-rewriter a bit to separate reusable features.
2022-12-04 09:39:28 -08:00
Nikolaj Bjorner
9acbfa3923
move it into substitution to handle dependencies
2022-12-04 06:23:32 -08:00
Nikolaj Bjorner
3d7bd40a87
a round of cleanup
2022-12-04 06:07:45 -08:00
Nikolaj Bjorner
d218083145
The demodulator doesn't produce proofs so remove code path that depends it does.
2022-12-04 04:48:48 -08:00
Nikolaj Bjorner
7fe6787748
ufbv-rewriter is really a demodulator rewriter and does not reference ufbv
...
so moving first the rewriter into place of other rewriters
2022-12-04 04:44:02 -08:00
Nikolaj Bjorner
79e6d4e32d
tune and debug elim-unconstrained (v2 - for simplifiers infrastructure)
2022-12-04 03:53:31 -08:00
Nikolaj Bjorner
3ebbb8472a
fix perf bugs in new value propagation
2022-12-04 03:53:30 -08:00
Nikolaj Bjorner
758c3b2c3b
fix filtering for recursive functions
2022-12-04 03:53:30 -08:00
Nikolaj Bjorner
cf7bba6288
use ast_manager as an attribute
2022-12-04 03:53:30 -08:00
Nikolaj Bjorner
5073959ae0
add macro attribute
2022-12-04 03:53:29 -08:00
Nikolaj Bjorner
a96b7d243a
remove incorrect check for quantifier
2022-12-01 00:04:08 -08:00
Nikolaj Bjorner
e5984dd397
add cnf/nnf simplifier
2022-11-30 23:04:38 -08:00
Nikolaj Bjorner
e3e2c21632
Create cnf_nnf.h
2022-11-30 22:53:14 -08:00
Nikolaj Bjorner
529f116be0
disable new code until pre-condition gets fixed
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2022-11-30 22:29:59 -08:00
Nikolaj Bjorner
f24ecde35c
wip - fixes to simplifiers
2022-12-01 09:31:52 +09:00
Nikolaj Bjorner
cfc8e19baf
add more simplifiers, fix model reconstruction order for elim_unconstrained
...
- enable sat.smt in smt_tactic that
is invoked by default on first goals
add flatten-clauses
add push-ite
have tptp5 front-end pretty print SMT2 formulas a little nicer.
2022-12-01 02:35:43 +09:00
Nikolaj Bjorner
edb0fc394b
rewrite some simplifiers
2022-11-30 23:15:32 +09:00
Nikolaj Bjorner
23c53c6820
fix build
2022-11-30 19:36:13 +09:00
Nikolaj Bjorner
c1ff3d3192
wip - adding quasi macro detection
2022-11-30 13:46:00 +07:00
Nikolaj Bjorner
b084821a0c
wip - dependent expr simpliifer
...
- simplify iterator over current indices
- add more simplifiers used by asserted_formulas
- improve diagnostics printing
2022-11-30 13:41:40 +07:00