File tree Expand file tree Collapse file tree 4 files changed +58
-0
lines changed
regression/cbmc-primitives/alternating_quantifiers_6231 Expand file tree Collapse file tree 4 files changed +58
-0
lines changed Original file line number Diff line number Diff line change
1
+ #include <stdlib.h>
2
+
3
+ // clang-format off
4
+ int main (int argc , char * * argv )
5
+ {
6
+ int * i = malloc (sizeof (int ));
7
+ * i = 1 ;
8
+
9
+ __CPROVER_assert (
10
+ __CPROVER_forall { int z ; (0 < z && z < 10 ) == >
11
+ __CPROVER_exists { int y ; ( 10 < y && y < 20 ) && y == z + 10 && y > * i } },
12
+ "for all z, there exists a y so that y = z + 10 and y > 1" );
13
+ }
14
+ // clang-format on
Original file line number Diff line number Diff line change
1
+ CORE
2
+ exists_in_forall.c
3
+ --pointer-check
4
+ ^EXIT=0$
5
+ ^SIGNAL=0$
6
+ \[main\.assertion\.1\] line \d* for all z, there exists a y so that y = z \+ 10 and y > 1: SUCCESS
7
+ \[main\.pointer_dereference\.7\] line \d+ dereference failure: pointer NULL in \*i: SUCCESS
8
+ \[main\.pointer_dereference\.8\] line \d+ dereference failure: pointer invalid in \*i: SUCCESS
9
+ \[main\.pointer_dereference\.9\] line \d+ dereference failure: deallocated dynamic object in \*i: SUCCESS
10
+ \[main\.pointer_dereference\.10\] line \d+ dereference failure: dead object in \*i: SUCCESS
11
+ \[main\.pointer_dereference\.11\] line \d+ dereference failure: pointer outside object bounds in \*i: SUCCESS
12
+ \[main\.pointer_dereference\.12\] line \d+ dereference failure: invalid integer address in \*i: SUCCESS
13
+ --
14
+ --
15
+ The assertion reference number here is present so that we make sure
16
+ we always match the properties of the dereference inside the exists.
Original file line number Diff line number Diff line change
1
+ #include <stdlib.h>
2
+
3
+ // clang-format off
4
+ int main (int argc , char * * argv )
5
+ {
6
+ int * i = malloc (sizeof (int ));
7
+ * i = 1 ;
8
+
9
+ __CPROVER_assert (
10
+ __CPROVER_exists { int z ; (0 < z && z < 2 ) &&
11
+ __CPROVER_forall { int o ; (10 < o && o < 20 ) == > o > z && z == * i }},
12
+ "there exists a z between 0 and 2 so that for all o between 10 and 20, o > z and z = 1" );
13
+ }
14
+ // clang-format on
Original file line number Diff line number Diff line change
1
+ CORE
2
+ forall_in_exists.c
3
+ --pointer-check
4
+ ^EXIT=0$
5
+ ^SIGNAL=0$
6
+ \[main\.assertion\.1\] line \d* there exists a z between 0 and 2 so that for all o between 10 and 20, o > z and z = 1: SUCCESS
7
+ \[main\.pointer_dereference\.7\] line \d+ dereference failure: pointer NULL in \*i: SUCCESS
8
+ \[main\.pointer_dereference\.8\] line \d+ dereference failure: pointer invalid in \*i: SUCCESS
9
+ \[main\.pointer_dereference\.9\] line \d+ dereference failure: deallocated dynamic object in \*i: SUCCESS
10
+ \[main\.pointer_dereference\.10\] line \d+ dereference failure: dead object in \*i: SUCCESS
11
+ \[main\.pointer_dereference\.11\] line \d+ dereference failure: pointer outside object bounds in \*i: SUCCESS
12
+ \[main\.pointer_dereference\.12\] line \d+ dereference failure: invalid integer address in \*i: SUCCESS
13
+ --
14
+ --
You can’t perform that action at this time.
0 commit comments