Nikolaj Bjorner
8ff1e44a95
add discriminator to whether context contains recursive functions to avoid enabling recursive function solver when there are just macros
2022-11-06 11:58:21 -08:00
Nikolaj Bjorner
36d76a5bb2
fix #6304
...
Conditionals are used to guard unfolding of recursive functions.
This is, as shown in #6304 , incompatible with the case where recursive functions are used inside if-then-else guards.
We address this by disabling if-conditions as guards if they contain a recursive definition.
The approach is simplistic: if a recursive function, defined prior (not mutually recursive) is used in a guard it should be fine and the condition can guard the current recursive unfolding.
2022-08-30 09:50:58 -07:00
Nikolaj Bjorner
0353fc38ff
fix #6127 again
...
this time adding inheritance to the recfun plugin so it properly contains the recursive definitions from the source.
2022-07-04 12:42:11 -07:00
Nikolaj Bjorner
5393f1d98f
#5980
2022-04-19 11:10:37 +01:00
Nikolaj Bjorner
a180254c1a
fix #5980
2022-04-19 11:10:20 +01:00
Nikolaj Bjorner
03ff3201b9
block recursive definitions with lambdas until they are properly supported #5813
2022-02-06 08:57:58 +02:00
Nikolaj Bjorner
5b0389615b
#5780
2022-01-19 10:10:36 +01:00
Nikolaj Bjorner
6f31d83633
fix #5541
2021-09-20 10:10:28 -07:00
Nikolaj Bjorner
b8a437bd8a
#5429
...
relevancy propagation applies to quantifier unfolding.
2021-07-29 15:05:06 -07:00
Nikolaj Bjorner
703659a3a8
fix #5439
2021-07-28 17:16:17 -07:00
Nikolaj Bjorner
0ba518b0c0
avoid perf abyss for macros
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2021-07-20 20:07:06 -07:00
Nikolaj Bjorner
b1606487f0
fix #5289
2021-05-30 10:32:30 -07:00
Nikolaj Bjorner
4a6083836a
call it data instead of c_ptr for approaching C++11 std::vector convention.
2021-04-13 18:17:35 -07:00
Nikolaj Bjorner
c387863da1
fix #5032 , reset substitution during fold transformation
2021-02-15 14:14:25 -08:00
Nikolaj Bjorner
083d09aa81
fix #5016
2021-02-14 13:52:10 -08:00
Nikolaj Bjorner
83f4a006c6
wreckfun
2021-02-12 19:46:47 -08:00
Nikolaj Bjorner
3ae4c6e9de
refactor get_sort
2021-02-02 04:45:54 -08:00
Nuno Lopes
e844aef896
remove a few more copy constructors, though still not enough to enable the assertion in vector
...
I give up for now; there are too many copies left for little return..
2020-06-03 20:32:13 +01:00
Nikolaj Bjorner
fca44ff3f2
fix #4394
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-05-19 13:40:03 -07:00
Nikolaj Bjorner
a884201d62
remove using insert_if_not_there2
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-25 15:08:51 -07:00
Nikolaj Bjorner
387964f508
fix #3960 fix #3959
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-14 06:30:54 -07:00
Nikolaj Bjorner
fe7146d93b
fix #3913 - change assumption tracking to be granular based on disabled guards
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-04-13 19:06:12 -07:00
Nikolaj Bjorner
1dcfe583e7
fix definition expression
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-27 16:18:26 -08:00
Nikolaj Bjorner
15f5444b8c
enable auxiliary recursive function definitions
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-27 16:12:32 -08:00
Nikolaj Bjorner
764b991468
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-27 14:34:44 -08:00
Nikolaj Bjorner
3afb78416f
fixes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-27 14:34:44 -08:00
Nikolaj Bjorner
5a357f9998
fixup build of example
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-27 14:34:44 -08:00
Nikolaj Bjorner
88eb527b96
avoid const in ml
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-27 10:40:10 -08:00
Nikolaj Bjorner
a65efb682b
avoid const in ml
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2020-02-27 10:40:10 -08:00
Nikolaj Bjorner
6616b6a366
only case expand for cases that contain defs. fixes #2601
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-10-01 18:41:11 -07:00
Nikolaj Bjorner
6fee9b90cb
fix model generation for tc/po
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-04-11 11:39:27 -07:00
Nikolaj Bjorner
551d72b294
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-04-11 04:11:23 +02:00
Nikolaj Bjorner
4fb867a49c
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2019-04-01 11:57:07 -07:00
Bruce Mitchener
64ac929301
Use 'override' in new code.
2018-11-27 22:07:14 +07:00
Nikolaj Bjorner
b02fec91cc
fixing python build errors
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-11-01 09:34:42 -05:00
Nikolaj Bjorner
0f0287d129
prepare release notes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-28 17:42:16 -05:00
Nikolaj Bjorner
80acf8ed79
add recfuns to model
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-27 13:26:32 -05:00
Nikolaj Bjorner
51a0022450
add recfun to API
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-27 11:41:18 -05:00
Nikolaj Bjorner
c5cbf985ca
na
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-26 10:11:03 -05:00
Nikolaj Bjorner
67077d960e
working with incremental depth
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-23 14:16:07 -07:00
Nikolaj Bjorner
b5676413e4
recfun
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-21 18:25:27 -07:00
Nikolaj Bjorner
918a5b9e8c
updates to recfun_decl_plugin
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-21 13:15:51 -07:00
Nikolaj Bjorner
6e41b853f7
remove case-pred and depth-limit classes
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-21 12:25:57 -07:00
Nikolaj Bjorner
35eb6eccd1
iterative deepening
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-18 17:14:10 -07:00
Nikolaj Bjorner
d22a0d04ed
n/a
...
Signed-off-by: Nikolaj Bjorner <nbjorner@microsoft.com>
2018-10-18 10:01:32 -07:00
Simon Cruanes
f7e5977b9e
fix memleak
2017-12-25 22:51:40 +01:00
Simon Cruanes
7b1e1d52e7
wip: conflicts for pruning branches with too many unrollings
...
use the local assumption on depth to ensure the conflict clause is valid
2017-12-25 22:51:39 +01:00
Simon Cruanes
06e0b12700
add a predicate for depth limit assumptions
2017-12-25 22:51:39 +01:00
Simon Cruanes
d5e134dd94
wip: add recursive functions
2017-12-25 22:51:39 +01:00